462OJ Ver1.0 - 基于云服务器的CO自动化评测OJ平台
462OJ Ver1.0 - 基于云服务器的CO自动化评测OJ平台
花米租服务器不易,欢迎大家前来品尝 :)
简介
使用c++,python等编程语言综合开发,能将verilog代码提交至远程服务器并自动评测输出结果
特点
-
使用学长
Toby Shi
的魔改Mars对拍验证输出正确性 -
无需在本地配置iverilog,python等环境,主打"拿来就用"
- 未来将部署ISE,争取实现行为与课程平台一致
-
提供更强的数据点以供评测
-
保证每个数据点均能被正确执行,在此基础上增强数据强度
-
当前版本由线下准备数据点,未来将把数据点生成任务集成至云服务器
-
-
结合课程进度推进更新数据点
-
每次测试后均删除上传代码,隐私得到保障
使用指南
准备文件
将全部.v文件(不包括testbench文件)打包至文件夹,文件夹名为{学号}_P4
,注意将顶层文件模块名改为mips.v
1 | . |
上传文件
在终端(如cmd中)运行
其中“{}”不需要被打出,下同
1 | scp -r {包含.v文件的文件夹绝对路径} stu{学号}@82.157.78.233:~ |
按照提示输入密码,等待文件上传成功
进行评测
在终端运行
1 | ssh stu{学号}@82.157.78.233 |
按照提示输入密码,登录成功后运行指令
1 | $ bash runP4.sh {学号} |
即可进行评测并获得结果反馈
如果你已经会使用linux指令,那么这些对你来说都不是什么难事
查看评测结果
登录成功后运行
1 | $ bash judgeP4.sh {学号} |
可以查看最近一次的评测信息,默认不显示错误数据点的信息
需要查看所有错误数据点的信息,可以运行
1 | $ bash judgeP4.sh {学号} all |
需要查看第一个错误数据点的信息,可以运行
1 | $ bash judgeP4.sh {学号} first |
评测信息解读
对每一个测试点,评测机会返回Accepted
,Wrong Answer
,Output more than expected
,Output more than expected
四种提示信息当中的一种,只有返回Accepted
时才会评判为该数据点通过
$ bash runP4.sh {学号}
的返回信息示例如下
1 | User ID: /home/ubuntu/ans/P4/2237xxxx |
所有数据点通过,系统会额外返回
Congratulations!
当出现错误数据点时,在first
和all
条件下,系统将打印你的输出与期望输出之间的差异文本,样例如下:
1 | @00003004: $ 5 <= 3f500000 |
表示你的输出比期望输出缺失所列三行;
1 | @0000303c: $30 <= 00000000 |
表示你的输出比期望输出多出所列三行;
1 | @000030d8: $ 5 <= 00000000 |
表示你的输出与答案存在差异。
其中,-
标记的为期望输出,+
标记的为你的输出,?
和^
标记了你的输出与期望输出的不同。
获取账号
获取账号方式,请通过邮件fysszlr@qq.com或添加我微信和我联系(保证免费)
注意事项
请勿用本服务器进行任何与CO程序评测无关的事情!
包括但不限于把服务器当云盘用,用服务器来挖矿等!
最后
本项目灵感来自上学期myk学长写的简易数据结构oj
感谢zlr同学进行服务器框架搭建、评测文件编程等工作
感谢lpf同学进行测试数据点随机生成、验证正确性与强度等工作
感谢zxw同学进行机器码、测试点导出,文本对拍评测等工作
受开发者水平限制,本oj难免有许多问题,还请学长和同学不吝指教🙏
如有问题,请截图发送到此帖下,或联系管理员fysszlr@qq.com(22373425张栗瑞)