From 7f6f6e881d39e870e51afb3fd36fdbef20b9cb35 Mon Sep 17 00:00:00 2001
From: BoYanZh <boyanzh233@gmail.com>
Date: Thu, 19 Sep 2024 17:07:29 -0400
Subject: [PATCH] feat: use conf.json

---
 conf.json | 291 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 conf.toml | 178 ---------------------------------
 2 files changed, 291 insertions(+), 178 deletions(-)
 create mode 100644 conf.json
 delete mode 100644 conf.toml

diff --git a/conf.json b/conf.json
new file mode 100644
index 0000000..aef07b7
--- /dev/null
+++ b/conf.json
@@ -0,0 +1,291 @@
+{
+  "stages": [
+    {
+      "name": "compile",
+      "executor": {
+        "name": "sandbox",
+        "with": {
+          "default": {
+            "args": [
+              "g++",
+              "a.cc",
+              "-o",
+              "a"
+            ],
+            "env": [
+              "PATH=/usr/bin:/bin"
+            ],
+            "cpuLimit": 10000000000,
+            "memoryLimit": 104857600,
+            "procLimit": 50,
+            "copyInCwd": true,
+            "copyOut": [
+              "stdout",
+              "stderr"
+            ],
+            "copyOutCached": [
+              "a"
+            ],
+            "stdin": {
+              "content": ""
+            },
+            "stdout": {
+              "name": "stdout",
+              "max": 4096
+            },
+            "stderr": {
+              "name": "stderr",
+              "max": 4096
+            }
+          }
+        }
+      },
+      "parser": {
+        "name": "result-status",
+        "with": {
+          "score": 0,
+          "comment": "compile done"
+        }
+      }
+    },
+    {
+      "name": "run",
+      "executor": {
+        "name": "sandbox",
+        "with": {
+          "default": {
+            "args": [
+              "./a"
+            ],
+            "env": [
+              "PATH=/usr/bin:/bin"
+            ],
+            "cpuLimit": 1000000000,
+            "memoryLimit": 104857600,
+            "procLimit": 50,
+            "copyOut": [
+              "stdout",
+              "stderr"
+            ],
+            "stdout": {
+              "name": "stdout",
+              "max": 4096
+            },
+            "stderr": {
+              "name": "stderr",
+              "max": 4096
+            },
+            "copyInCached": {
+              "a": "a"
+            }
+          },
+          "cases": [
+            {
+              "stdin": {
+                "src": "./cases/empty.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/empty.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/empty.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/one-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/one-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/one-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/one-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/one-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/multi-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/multi-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/multi-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/multi-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/multi-line.in"
+              }
+            },
+            {
+              "stdin": {
+                "src": "./cases/multi-line.in"
+              }
+            }
+          ]
+        }
+      },
+      "parser": {
+        "name": "diff",
+        "with": {
+          "cases": [
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/empty.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/one-line.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/multi-line-err1.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/empty.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/one-line.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/multi-line-err1.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/multi-line-err2.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/multi-line-err3.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/empty.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/one-line.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/multi-line-correct.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/multi-line-err1.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/multi-line-err2.out"
+                }
+              ]
+            },
+            {
+              "outputs": [
+                {
+                  "score": 100,
+                  "fileName": "stdout",
+                  "answerPath": "./cases/multi-line-err3.out"
+                }
+              ]
+            }
+          ]
+        }
+      }
+    }
+  ]
+}
diff --git a/conf.toml b/conf.toml
deleted file mode 100644
index 0ee3980..0000000
--- a/conf.toml
+++ /dev/null
@@ -1,178 +0,0 @@
-skipGitea = true
-[[stages]]
-name = "compile"
-[stages.executor]
-name = "sandbox"
-[stages.executor.with.default]
-args = ["g++", "a.cc", "-o", "a"]
-env = ["PATH=/usr/bin:/bin"]
-cpuLimit = 10_000_000_000
-memoryLimit = 104_857_600
-procLimit = 50
-copyInCwd = true
-copyOut = ["stdout", "stderr"]
-copyOutCached = ["a"]
-[stages.executor.with.default.stdin]
-content = ""
-[stages.executor.with.default.stdout]
-name = "stdout"
-max = 4_096
-[stages.executor.with.default.stderr]
-name = "stderr"
-max = 4_096
-[stages.parser]
-name = "result-status"
-[stages.parser.with]
-score = 0
-comment = "compile done"
-[[stages]]
-name = "run"
-[stages.executor]
-name = "sandbox"
-[stages.executor.with.default]
-args = ["./a"]
-env = ["PATH=/usr/bin:/bin"]
-cpuLimit = 1_000_000_000
-memoryLimit = 104_857_600
-procLimit = 50
-copyOut = ["stdout", "stderr"]
-[stages.executor.with.default.stdout]
-name = "stdout"
-max = 4_096
-[stages.executor.with.default.stderr]
-name = "stderr"
-max = 4_096
-[stages.executor.with.default.copyInCached]
-a = "a"
-
-
-# empty
-[[stages.executor.with.cases]]
-[stages.executor.with.cases.stdin]
-src = "./cases/empty.in"
-[[stages.executor.with.cases]]
-[stages.executor.with.cases.stdin]
-src = "./cases/empty.in"
-[[stages.executor.with.cases]]
-[stages.executor.with.cases.stdin]
-src = "./cases/empty.in"
-
-
-# one-line
-[[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"
-[[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]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/empty.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/one-line.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/multi-line-err1.out"
-
-
-# one-line
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/empty.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/one-line.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/multi-line-err1.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/multi-line-err2.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/multi-line-err3.out"
-
-
-# multi-line
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/empty.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/one-line.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/multi-line-correct.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/multi-line-err1.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/multi-line-err2.out"
-[[stages.parser.with.cases]]
-[[stages.parser.with.cases.outputs]]
-score = 100
-fileName = "stdout"
-answerPath = "./cases/multi-line-err3.out"