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
	 zzjc1234
						zzjc1234