/JMLtest3

JML auto test

Primary LanguagePython

BUAA-OO-JML-HOMEWORK3-AutoTest

How to use

  • (本脚本为作业互测对拍工具,纯属娱乐

  • 前提准备:

    • windows系统,python3环境,装有subprocess,OS,random,time,shutil,sys等包。
    • 为所有对拍成员在.\classes\目录下创建对应name文件夹,将java源文件按包结构放入,例如.\classes\name1\helloworld.java
    • 编译非必要工作,init有编译功能。
  • 第一次使用:

    • cmdpowershell

        python init.py
      
    • 根据提示创建对拍名单,并设置数据生成器模式

  • 非第一次使用:

    • 方式一:通过使用init接口创建对拍名单重新使用,若对拍名单不需更改,则如下启动,其中<total>为测试总数,0代表无限,<mode>为数据生成模式,详见init.py手册

        python init.py -r <total> <mode>
      
    • 方式二:在cmdpowershell下使用:(格式同一)

        main <total> <mode>
      
  • single_run模式(namelist已经创建完毕):

    • 若仅想单独测试一个数据,可以将数据命名为data<name>.txt形式,<name>为任意字符串,然后在cmd或powershell中:

        python single_feeder.py <name> 
      
  • 更多事项

    • 手动更改namelist.txt能更改对拍名单
    • init支持编译等其他接口,详见init手册
    • efficient文件夹数据为各成员运行效率,需要定期清理