31个版本 (4个稳定版)
1.0.3 | 2024年4月6日 |
---|---|
1.0.1 | 2022年11月13日 |
1.0.0 | 2022年5月30日 |
0.10.0 | 2022年4月28日 |
0.5.1 | 2021年6月22日 |
#29 in 测试
每月58次下载
165KB
3.5K SLoC
Quick Test CLI
针对竞技编程压力测试的命令行界面(CLI)
📖 文档
演示
文档
目录
入门
安装
Linux、Windows和macOS的安装教程可以在这里的文档网站上找到
简介
Quick Test CLI是一个项目,旨在以简单快捷的方式对竞技编程比赛中的压力进行测试,只关注比赛本身。
目前,Quick Test CLI支持以下三种类型的测试:
quicktest cmp | quicktest stress | quicktest check |
---|---|---|
-
quicktest cmp | qt cmp
:通过将其与通常非常慢但100%确能提供正确解的暴力解法进行比较,来检查我们想要验证的算法的正确性。-
示例
quicktest cmp --target-file=main.cpp --correct-file=correct.cpp --gen-file=gen.cpp # Or shorter: qt cmp -t main.cpp -c correct.cpp -g gen.cpp --tout 1000 --tc 1000
-
-
quicktest stress | qt stress
:使用随机生成器为多个测试案例验证代码执行时间是否超过允许的范围。注意:在这种情况下,没有比它更慢的解决方案可以用来比较正确性。
- 示例
quicktest stress --target-file=main.cpp --gen-file=gen.cpp # Or shorter: qt stress -t main.cpp -g gen.cpp --tout 1000 --tc 1000
- 示例
-
quicktest check | qt check
:在某些问题中,多个答案都被接受,此时使用quicktest cmp
命令将不会正确工作,在这种情况下,使用脚本检查器来验证算法的正确性。- 示例
quicktest check --target-file=main.cpp --checker-file=correct.cpp --gen-file=gen.cpp # Or shorter: qt check -t main.cpp -c check.cpp -g gen.cpp --tout 1000 --tc 1000
- 示例
-
quicktest output | qt output
:运行所有匹配前缀的测试案例,并将响应保存到输出文件中- 示例
quicktest output --target-file=main.cpp --prefix=testcase_ac # Or shorter: qt output -t main.cpp -p test_cases/testcase_ac --tout 1000
- 示例
命令
注意:您可以使用长命令 quicktest
或别名 qt
-
quicktest cmp|qt cmp
必需选项
-t=<value> | --target-file=<value>
-c=<value> | --correct-file=<value>
-g=<value> | --gen-file=<value>
其他选项
--test-cases=<value> |--tc=<value>[默认1000]
--timeout=<value> | --tout=<value> [默认: 2000]
时间单位:ms
--memory-limit=<value> | --ml=<value> [默认: 1000000000 - 1GB]
时间单位:bytes
--prefix=<value> | -p=<value>
与--gen-file
冲突(一次只能使用一个)--diff
显示预期文件和输出文件之间的差异
-
quicktest stress|qt stress
必需选项
-t=<value> | --target-file=<value>
-g=<value> | --gen-file=<value>
其他选项
--test-cases=<value> |--tc=<value>[默认1000]
--timeout=<value> | --tout=<value> [默认: 2000]
时间单位:ms
--memory-limit=<value> | --ml=<value> [默认: 1000000000 - 1GB]
时间单位:bytes
--prefix=<value> | -p=<value>
与--gen-file
冲突(一次只能使用一个)
-
quicktest check|qt check
必需选项
-t=<value> | --target-file=<value>
-c=<value> | --checker-file=<value>
-g=<value> | --gen-file=<value>
其他选项
--test-cases=<value> |--tc=<value>[默认1000]
--timeout=<value> | --tout=<value> [默认: 2000]
时间单位:ms
--memory-limit=<value> | --ml=<value> [默认: 1000000000 - 1GB]
时间单位:bytes
--prefix=<value> | -p=<value>
与--gen-file
冲突(一次只能使用一个)
-
cmp
、stress
和check
子命令的标志--break-bad | --break
如果出现 WA、TLE 或 RTE 状态则中断--run-ac
运行接受测试用例--run-all
运行所有测试用例--run-rte
运行运行时间错误测试用例--run-tle
运行时间限制超出的测试用例--run-wa
运行错误答案测试用例--save-all
保存所有测试用例--save-bad
仅保存具有 WA、TLE 或 RTE 状态的坏案例
-
quicktest 输出|qt 输出
必需选项
-t=<value> | --target-file=<value>
-p=<value> | --prefix=<value>
其他选项
--timeout=<value> | --tout=<value> [默认: 2000]
时间单位:ms
--memory-limit=<value> | --ml=<value> [默认: 1000000000 - 1GB]
时间单位:bytes
--break-bad | --break
如果出现 WA、TLE 或 RTE 状态则中断--save-out
保存每个测试用例的目标文件输出
-
quicktest 设置|qt 设置
子命令
-
config
允许更改 C++ 设置的子命令选项
--label=<value>
指定要更改的配置路径的标签--value=<value>
将选定的标签更改为你想要的值
-
-
quicktest 示例|qt 示例
标志
--check
显示检查子命令的示例--cmp
显示比较子命令的示例--stress
显示压力子命令的示例--output
显示输出子命令的示例--setup
显示设置子命令的示例
注意:一次只能使用一个标志
如何贡献
如果您对为 Quick Test CLI 项目做出贡献感兴趣,请参阅 贡献指南
错误报告
您可以通过 此处 报告任何错误。
支持的语言
语言 |
---|
C++ |
Java |
Python |
Rust 语言 |
Go 语言 |
GNU C |
Kotlin |
编译和执行命令
语言 | 编译器/解释器 | 执行命令 |
---|---|---|
C++17 | g++ -std=c++17 -Wall -DONLINE_JUDGE=1 -o .qt/main main.cpp |
./.qt/main |
Java | javac-d.qt/主.java |
java-cp.qt/主 |
Python3 | python3 main.py |
|
Rust 语言 | cp main.rs~/.quicktest/rust/src/main.rs&&cargo build--release--quiet--manifest-path~/.quicktest/rust/Cargo.toml&&cp~/.quicktest/rust/target/release/rust.qt/main |
./.qt/main |
Go 语言 | cp main.go~/.quicktest/go_mod/main.go&&go build-buildmode=exe-o./.qt/main~/.quicktest/go_mod/main.go |
./.qt/main |
GNU C | gcc -std=gnu11 -lmmain.c -o.qt/main |
./.qt/main |
Kotlin | kotlinc main.kt-include-runtime-d.qt/main.jar |
java-jar.qt/main.jar |
许可证
许可协议为以下之一
- MIT许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
致谢
标志图像基于Freepik制作的Freepik作品,用于www.flaticon.com
文档基于cpbooster
安装脚本基于deno_install
依赖项
~15–30MB
~409K SLoC