4 Star 0 Fork 0

Dorence / richman-test

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
WTFPL

richman-test

Preset 指令

无可变参数

  1. preset user %PlayerList%
  2. preset map %MapId% %PlayerName% %Level%
  3. preset fund %PlayerName% %Number%
  4. preset credit %PlayerName% %Number%
  5. preset gift %PlayerName% %Props% %Number%
  6. preset %Props% %MapId%
  7. preset userloc %PlayerName% %MapId% %RestDays%
  8. preset nextuser %PlayerName%

autotest.py

python3 autotest.py [--dir dir_xxx] [...]

使用 --help 查看所有支持的输入参数

0 安装

使用 python3.6 即可,需安装的库详见 requirements.txt

1 配置

脚本以 dir_xxx 作为根目录,然后识别目录下是否有 config.json

  • 如果没有,则当作纯样例目录,自动查找 .in.out 作为测试样例,且所有样例 level=0
  • 如果有,则读取配置,json 的格式如下,
key value
name 测试组名称,省略时即为文件夹名
maxlevel 最大检测级别,默认为 1000
import 数组,每个元素为需要递归的目录(会忽略非法目录)
case 数组,每个元素为二元组 (path, level),表示路径和对应的level

json 中的 import 会作为新的根目录进行递归查找,直到收集到所有的测试样例。

2 结果比对

脚本运行时,.in 重定向至 stdin,从 stderr 检测 dump 输出。

输出到 stderrC++/C 代码如下:

// c++ #include<iostream>
std::cerr << "error" << 1 << std::endl;

// c #include<stdio.h>
fprintf(stderr, "error %d\n", 1);

脚本会从错误流中检测 CAPTURE_CMD 中指定的命令为开头的行,也就是说其它的错误提示只要避开 CAPTURE_CMD 中字段就会被忽略。

dump 与期望输出的比较规则:忽略大小写,两者各行内容对应相同但不论顺序,忽略空行和以 # 引导的注释内容。

3 脚本配置

Key Default value Description
CAPTURE_CMD list(...) 用于捕捉 stderr 输出的敏感命令表
CONFIG_JSON_NAME 'config.json' 配置文件的文件名
DEFAULT_EXEC '../richman/richman' 执行的二进制文件,也可以执行时传入 -n 指定
EOL_SEQ '\n' EOL
EXPIRE_TIME_MS 5000 执行超时阈值(ms)
REPORT_FILE_NAME report 报告输出为 `report.(csv
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO.

简介

2020软件工程课程项目-测试 展开 收起
Python
WTFPL
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/dorence/richman-test.git
git@gitee.com:dorence/richman-test.git
dorence
richman-test
richman-test
master

搜索帮助