From ac7a2fc912fb51af156cd4babb7e72148ebe1c14 Mon Sep 17 00:00:00 2001 From: BoYanZh Date: Wed, 11 Sep 2024 07:02:32 -0400 Subject: [PATCH] feat: update diff --- 1.md | 4 --- conf.toml | 56 +++++++++++++++++++++++++--------- convert.py | 29 ------------------ expected.json | 1 + expected_regex.json | 74 --------------------------------------------- 5 files changed, 43 insertions(+), 121 deletions(-) delete mode 100644 1.md delete mode 100644 convert.py create mode 100644 expected.json delete mode 100644 expected_regex.json diff --git a/1.md b/1.md deleted file mode 100644 index 293a19c..0000000 --- a/1.md +++ /dev/null @@ -1,4 +0,0 @@ -```diff - -- -``` diff --git a/conf.toml b/conf.toml index fcd1650..96ec196 100644 --- a/conf.toml +++ b/conf.toml @@ -101,50 +101,78 @@ name = "diff" # empty [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/empty.out" +fileName = "stdout" +answerPath = "./cases/empty.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/one-line.out" +fileName = "stdout" +answerPath = "./cases/one-line.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/multi-line-err1.out" +fileName = "stdout" +answerPath = "./cases/multi-line-err1.out" # one-line [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/empty.out" +fileName = "stdout" +answerPath = "./cases/empty.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/one-line.out" +fileName = "stdout" +answerPath = "./cases/one-line.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/multi-line-err1.out" +fileName = "stdout" +answerPath = "./cases/multi-line-err1.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/multi-line-err2.out" +fileName = "stdout" +answerPath = "./cases/multi-line-err2.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/multi-line-err3.out" +fileName = "stdout" +answerPath = "./cases/multi-line-err3.out" # multi-line [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/empty.out" +fileName = "stdout" +answerPath = "./cases/empty.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/one-line.out" +fileName = "stdout" +answerPath = "./cases/one-line.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/multi-line-correct.out" +fileName = "stdout" +answerPath = "./cases/multi-line-correct.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/multi-line-err1.out" +fileName = "stdout" +answerPath = "./cases/multi-line-err1.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/multi-line-err2.out" +fileName = "stdout" +answerPath = "./cases/multi-line-err2.out" [[stages.parser.with.cases]] +[[stages.parser.with.cases.outputs]] score = 100 -stdoutPath = "./cases/multi-line-err3.out" +fileName = "stdout" +answerPath = "./cases/multi-line-err3.out" diff --git a/convert.py b/convert.py deleted file mode 100644 index a0641aa..0000000 --- a/convert.py +++ /dev/null @@ -1,29 +0,0 @@ -import json -import re - -# 读取 joj3_result.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) - -# 遍历 "run" 的 results -for run in data: - if run["name"] == "run": - results = run["results"] - for result_index, result in enumerate(results): - comment = result.get("comment", "") - matches = diff_pattern.findall(comment) - - if matches: - print(f"Result {result_index + 1} diff blocks:") - for i, diff in enumerate(matches): - # 将 \n 替换为实际换行符 - formatted_diff = diff.replace("\\n", "\n") - print(f"```diff\n{formatted_diff}\n```\n") - else: - print(f"Result {result_index + 1}: the same\n") diff --git a/expected.json b/expected.json new file mode 100644 index 0000000..611dda6 --- /dev/null +++ b/expected.json @@ -0,0 +1 @@ +[{"name":"compile","results":[{"score":0,"comment":""}],"force_quit":false},{"name":"run","results":[{"score":100,"comment":""},{"score":0,"comment":"difference found in stdout:\n```diff\n- 1024 2048\n \n```\n"},{"score":0,"comment":"difference found in stdout:\n```diff\n- asdfljsdfklasdfjklasdfjjkl\n- 1024 2048\n- asdfjksdfjkl\n \n```\n"},{"score":0,"comment":"difference found in stdout:\n```diff\n+ 1024 2048\n \n```\n"},{"score":100,"comment":""},{"score":0,"comment":"difference found in stdout:\n```diff\n- asdfljsdfklasdfjklasdfjjkl\n 1024 2048\n- asdfjksdfjkl\n \n```\n"},{"score":0,"comment":"difference found in stdout:\n```diff\n 1024 2048\n- asdfjksdfjkl\n- asdfljsdfklasdfjklasdfjjkl\n \n```\n"},{"score":0,"comment":"difference found in stdout:\n```diff\n 1024 2048\n- asdfjksdfjkl\n- asdfljsdfklasdfjklasdfjjkl\n \n```\n"},{"score":0,"comment":"difference found in stdout:\n```diff\n+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n+ 1024 2048\n+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n+ 1024 2048\n+ psdfklj\n \n```\n"},{"score":0,"comment":"difference found in stdout:\n```diff\n+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n 1024 2048\n+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n+ 1024 2048\n+ psdfklj\n \n```\n"},{"score":100,"comment":""},{"score":0,"comment":"difference found in stdout:\n```diff\n- asdfljsdfklasdfjklasdfjjkl\n+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n 1024 2048\n- asdfjksdfjkl\n+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n+ 1024 2048\n+ psdfklj\n \n```\n"},{"score":0,"comment":"difference found in stdout:\n```diff\n+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n 1024 2048\n- asdfjksdfjkl\n- asdfljsdfklasdfjklasdfjjkl\n+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n+ 1024 2048\n+ psdfklj\n \n```\n"},{"score":0,"comment":"difference found in stdout:\n```diff\n+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n 1024 2048\n- asdfjksdfjkl\n- asdfljsdfklasdfjklasdfjjkl\n+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n+ 1024 2048\n+ psdfklj\n \n```\n"}],"force_quit":false}] diff --git a/expected_regex.json b/expected_regex.json deleted file mode 100644 index 712b8ba..0000000 --- a/expected_regex.json +++ /dev/null @@ -1,74 +0,0 @@ -[ - { - "name": "compile", - "results": [ - { - "score": 0, - "comment": "" - } - ], - "force_quit": false - }, - { - "name": "run", - "results": [ - { - "score": 100, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\n" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n\\- 1024 2048\n \n```" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n\\- asdfljsdfklasdfjklasdfjjkl\n\\- 1024 2048\n\\- asdfjksdfjkl\n \n```" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n\\+ 1024 2048\n \n```" - }, - { - "score": 100, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\n" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n\\- asdfljsdfklasdfjklasdfjjkl\n 1024 2048\n\\- asdfjksdfjkl\n \n```" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n 1024 2048\n\\- asdfjksdfjkl\n\\- asdfljsdfklasdfjklasdfjjkl\n \n```" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n 1024 2048\n\\- asdfjksdfjkl\n\\- asdfljsdfklasdfjklasdfjjkl\n \n```" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n\\+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n\\+ 1024 2048\n\\+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n\\+ 1024 2048\n\\+ psdfklj\n \n```" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n\\+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n 1024 2048\n\\+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n\\+ 1024 2048\n\\+ psdfklj\n \n```" - }, - { - "score": 100, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\n" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n\\- asdfljsdfklasdfjklasdfjjkl\n\\+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n 1024 2048\n\\- asdfjksdfjkl\n\\+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n\\+ 1024 2048\n\\+ psdfklj\n \n```" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n\\+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n 1024 2048\n\\- asdfjksdfjkl\n\\- asdfljsdfklasdfjklasdfjjkl\n\\+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n\\+ 1024 2048\n\\+ psdfklj\n \n```" - }, - { - "score": 0, - "comment": "executor status: run time: \\d+ ns, memory: \\d+ bytes\ndifference found:\n```diff\n\\+ jklasdfklasdfjklf asdfhklasdfjl cvsdlfkdjsfklv \n 1024 2048\n\\- asdfjksdfjkl\n\\- asdfljsdfklasdfjklasdfjjkl\n\\+ asdfjkl asdfkljdaslasdfjkl asdfjkl\n\\+ 1024 2048\n\\+ psdfklj\n \n```" - } - ], - "force_quit": false - } -]