feat: test cases
This commit is contained in:
parent
11a33358f6
commit
4f2c57a0ee
10
a.cc
10
a.cc
|
@ -1,6 +1,8 @@
|
|||
#include <iostream>
|
||||
int main() {
|
||||
int a, b;
|
||||
std::cin >> a >> b;
|
||||
std::cout << a + b << '\n';
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
std::string str;
|
||||
std::cin >> str;
|
||||
std::cout << str;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
1 1
|
|
@ -1 +0,0 @@
|
|||
2
|
|
@ -1,7 +0,0 @@
|
|||
3072
|
||||
234890234
|
||||
342342
|
||||
1234234
|
||||
300072
|
||||
43234
|
||||
1243
|
|
@ -1 +0,0 @@
|
|||
3072
|
|
@ -1 +0,0 @@
|
|||
1024 2048
|
|
@ -1 +0,0 @@
|
|||
3072
|
|
@ -1 +0,0 @@
|
|||
1024 2048
|
|
@ -1 +0,0 @@
|
|||
37200
|
1
cases/empty.in
Normal file
1
cases/empty.in
Normal file
|
@ -0,0 +1 @@
|
|||
|
1
cases/empty.out
Normal file
1
cases/empty.out
Normal file
|
@ -0,0 +1 @@
|
|||
|
5
cases/multi-line-correct.out
Normal file
5
cases/multi-line-correct.out
Normal file
|
@ -0,0 +1,5 @@
|
|||
jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv
|
||||
1024 2048
|
||||
asdfjkl asdfkljdaslasdfjkl asdfjkl
|
||||
1024 2048
|
||||
psdfklj
|
3
cases/multi-line-err1.out
Normal file
3
cases/multi-line-err1.out
Normal file
|
@ -0,0 +1,3 @@
|
|||
asdfljsdfklasdfjklasdfjjkl
|
||||
1024 2048
|
||||
asdfjksdfjkl
|
3
cases/multi-line-err2.out
Normal file
3
cases/multi-line-err2.out
Normal file
|
@ -0,0 +1,3 @@
|
|||
1024 2048
|
||||
asdfjksdfjkl
|
||||
asdfljsdfklasdfjklasdfjjkl
|
3
cases/multi-line-err3.out
Normal file
3
cases/multi-line-err3.out
Normal file
|
@ -0,0 +1,3 @@
|
|||
1024 2048
|
||||
asdfjksdfjkl
|
||||
asdfljsdfklasdfjklasdfjjkl
|
5
cases/multi-line.in
Normal file
5
cases/multi-line.in
Normal file
|
@ -0,0 +1,5 @@
|
|||
jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv
|
||||
1024 2048
|
||||
asdfjkl asdfkljdaslasdfjkl asdfjkl
|
||||
1024 2048
|
||||
psdfklj
|
1
cases/one-line-whitespace.out
Normal file
1
cases/one-line-whitespace.out
Normal file
|
@ -0,0 +1 @@
|
|||
1024 2048
|
95
conf.toml
95
conf.toml
|
@ -44,38 +44,107 @@ name = "stderr"
|
|||
max = 4_096
|
||||
[stages.executor.with.default.copyInCached]
|
||||
a = "a"
|
||||
|
||||
|
||||
# empty
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/1.in"
|
||||
src = "./cases/empty.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/2.in"
|
||||
src = "./cases/empty.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/3.in"
|
||||
src = "./cases/empty.in"
|
||||
|
||||
|
||||
# one-line
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/4.in"
|
||||
src = "./cases/one-line.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/5.in"
|
||||
src = "./cases/one-line.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/one-line.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/one-line.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/one-line.in"
|
||||
|
||||
|
||||
# one-line
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/multi-line.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/multi-line.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/multi-line.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/multi-line.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/multi-line.in"
|
||||
[[stages.executor.with.cases]]
|
||||
[stages.executor.with.cases.stdin]
|
||||
src = "./cases/multi-line.in"
|
||||
[stages.parser]
|
||||
name = "diff"
|
||||
|
||||
|
||||
# empty
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/1.out"
|
||||
stdoutPath = "./cases/empty.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/2.out"
|
||||
stdoutPath = "./cases/one-line.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/3.out"
|
||||
ignoreWhitespace=true
|
||||
stdoutPath = "./cases/multi-line-err1.out"
|
||||
|
||||
|
||||
# one-line
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/4.out"
|
||||
ignoreWhitespace=true
|
||||
stdoutPath = "./cases/empty.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/5.out"
|
||||
ignoreWhitespace=false
|
||||
stdoutPath = "./cases/one-line.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/multi-line-err1.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/multi-line-err2.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/multi-line-err3.out"
|
||||
|
||||
|
||||
# multi-line
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/empty.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/one-line.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/multi-line-correct.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/multi-line-err1.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/multi-line-err2.out"
|
||||
[[stages.parser.with.cases]]
|
||||
score = 100
|
||||
stdoutPath = "./cases/multi-line-err3.out"
|
||||
|
|
28
convert.py
Normal file
28
convert.py
Normal file
|
@ -0,0 +1,28 @@
|
|||
import json
|
||||
import re
|
||||
|
||||
# 读取 JSON 文件内容
|
||||
with open("joj3_result.json", "r", encoding="utf-8") as file:
|
||||
json_data = file.read()
|
||||
|
||||
# 解析 JSON 数据
|
||||
data = json.loads(json_data)
|
||||
|
||||
# 定义正则表达式以提取 diff 代码块
|
||||
diff_pattern = re.compile(r"```diff\n(.*?)\n```", re.DOTALL)
|
||||
|
||||
# 提取所有 diff 代码块
|
||||
diff_blocks = []
|
||||
|
||||
for item in data:
|
||||
if "results" in item:
|
||||
for result in item["results"]:
|
||||
comment = result.get("comment", "")
|
||||
matches = diff_pattern.findall(comment)
|
||||
diff_blocks.extend(matches)
|
||||
|
||||
# 处理 \n 符号并打印 diff 代码块
|
||||
for i, diff in enumerate(diff_blocks):
|
||||
# 将 \n 替换为实际换行符
|
||||
formatted_diff = diff.replace("\\n", "\n")
|
||||
print(f"Diff block {i+1}:\n{formatted_diff}\n")
|
Loading…
Reference in New Issue
Block a user