feat: remove nested conf fields
All checks were successful
build / build (push) Successful in 2m2s
build / trigger-build-image (push) Successful in 11s

This commit is contained in:
张泊明518370910136 2025-09-27 01:05:45 -07:00
parent 09f15f21ad
commit 32997cfdcb
GPG Key ID: D47306D7062CDA9D
13 changed files with 2973 additions and 3001 deletions

View File

@ -36,20 +36,18 @@ def convert_joj3_conf(repo_conf: repo.Config, task_conf: task.Config) -> result.
if not task_conf.max_total_score if not task_conf.max_total_score
else task_conf.max_total_score else task_conf.max_total_score
), ),
stage=result.Stage(sandbox_token=repo_conf.sandbox_token), sandbox_token=repo_conf.sandbox_token,
) )
current_test = os.environ.get("PYTEST_CURRENT_TEST") is not None current_test = os.environ.get("PYTEST_CURRENT_TEST") is not None
# Construct health check stage # Construct health check stage
if not repo_conf.force_skip_health_check_on_test or not current_test: if not repo_conf.force_skip_health_check_on_test or not current_test:
result_conf.stage.stages.append(get_health_check_stage(repo_conf, task_conf)) result_conf.stages.append(get_health_check_stage(repo_conf, task_conf))
cached: Dict[str, None] = {} cached: Dict[str, None] = {}
# Convert each stage in the task configuration # Convert each stage in the task configuration
for task_stage in task_conf.stages: for task_stage in task_conf.stages:
result_conf.stage.stages.append(get_conf_stage(task_conf, task_stage, cached)) result_conf.stages.append(get_conf_stage(task_conf, task_stage, cached))
if not repo_conf.force_skip_teapot_on_test or not current_test: if not repo_conf.force_skip_teapot_on_test or not current_test:
result_conf.stage.post_stages.append( result_conf.post_stages.append(get_teapot_post_stage(repo_conf, task_conf))
get_teapot_post_stage(repo_conf, task_conf)
)
return result_conf return result_conf

View File

@ -151,7 +151,11 @@ class StageDetail(BaseModel):
parsers: List[Parser] parsers: List[Parser]
class Stage(BaseModel): class Config(BaseModel):
name: str = ""
log_path: str = Field("", serialization_alias="logPath")
actor_csv_path: str = Field("", serialization_alias="actorCsvPath")
max_total_score: int = Field(100, serialization_alias="maxTotalScore")
sandbox_exec_server: str = Field( sandbox_exec_server: str = Field(
"172.17.0.1:5051", serialization_alias="sandboxExecServer" "172.17.0.1:5051", serialization_alias="sandboxExecServer"
) )
@ -159,19 +163,11 @@ class Stage(BaseModel):
output_path: str = Field( output_path: str = Field(
"/tmp/joj3_result.json", serialization_alias="outputPath" "/tmp/joj3_result.json", serialization_alias="outputPath"
) # nosec: B108 ) # nosec: B108
stages: List[StageDetail] = []
pre_stages: List[StageDetail] = Field([], serialization_alias="preStages") pre_stages: List[StageDetail] = Field([], serialization_alias="preStages")
stages: List[StageDetail] = []
post_stages: List[StageDetail] = Field([], serialization_alias="postStages") post_stages: List[StageDetail] = Field([], serialization_alias="postStages")
class Config(BaseModel):
name: str = ""
log_path: str = Field("", serialization_alias="logPath")
actor_csv_path: str = Field("", serialization_alias="actorCsvPath")
max_total_score: int = Field(100, serialization_alias="maxTotalScore")
stage: Stage
class DummyConfig(BaseModel): class DummyConfig(BaseModel):
score: int = 0 score: int = 0
comment: Optional[str] = None comment: Optional[str] = None

File diff suppressed because it is too large Load Diff

View File

@ -3,147 +3,145 @@
"logPath": "/home/tt/.cache/joj3/hw7/joj3.log", "logPath": "/home/tt/.cache/joj3/hw7/joj3.log",
"actorCsvPath": "/home/tt/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "sandboxExecServer": "172.17.0.1:5051",
"sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "",
"sandboxToken": "", "outputPath": "/tmp/joj3_result.json",
"outputPath": "/tmp/joj3_result.json", "preStages": [],
"stages": [ "stages": [
{ {
"name": "[cq] Clang-tidy", "name": "[cq] Clang-tidy",
"groups": [ "groups": [
"cq" "cq"
], ],
"executor": { "executor": {
"name": "sandbox", "name": "sandbox",
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"run-clang-tidy-18", "run-clang-tidy-18",
"-header-filter=.*", "-header-filter=.*",
"-quiet", "-quiet",
"-load=/usr/local/lib/libcodequality.so", "-load=/usr/local/lib/libcodequality.so",
"-p", "-p",
"h7/build", "h7/build",
"h7/ex2.cpp" "h7/ex2.cpp"
], ],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"content": "" "content": ""
},
"stdout": {
"name": "stdout",
"max": 68157440,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tests/homework/h7/.clang-tidy": {
"src": "/home/tt/.config/joj/tests/homework/h7/.clang-tidy"
},
"h7/build/compile_commands.json": {
"src": "/home/tt/.config/joj/h7/build/compile_commands.json"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [] "stdout": {
"name": "stdout",
"max": 68157440,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tests/homework/h7/.clang-tidy": {
"src": "/home/tt/.config/joj/tests/homework/h7/.clang-tidy"
},
"h7/build/compile_commands.json": {
"src": "/home/tt/.config/joj/h7/build/compile_commands.json"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
}
},
"parsers": [
{
"name": "clangtidy",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"codequality-unchecked-malloc-result",
"readability-duplicate-include",
"readability-identifier-naming",
"readability-redundant",
"readability-misplaced-array-index",
"cppcoreguidelines-init-variables",
"bugprone-suspicious-string-compare",
"google-global-names-in-headers",
"clang-diagnostic",
"clang-analyzer",
"misc",
"performance",
"portability"
],
"score": 5
},
{
"keywords": [
"codequality-no-global-variables",
"codequality-no-header-guard",
"codequality-no-fflush-stdin"
],
"score": 20
},
{
"keywords": [
"readability-function-size"
],
"score": 10
},
{
"keywords": [
"readability-misleading-indentation"
],
"score": 15
}
]
} }
}, },
"parsers": [ {
{ "name": "result-detail",
"name": "clangtidy", "with": {
"with": { "score": 0,
"score": 0, "comment": "",
"matches": [ "showExxecutorStatus": true,
{ "showExitStatus": true,
"keywords": [ "showError": false,
"codequality-unchecked-malloc-result", "showTime": true,
"readability-duplicate-include", "showMemory": false,
"readability-identifier-naming", "showRuntime": false,
"readability-redundant", "showProcPeak": false,
"readability-misplaced-array-index", "showFiles": [
"cppcoreguidelines-init-variables", "stdout"
"bugprone-suspicious-string-compare", ],
"google-global-names-in-headers", "filesInCodeBlock": true,
"clang-diagnostic", "maxFileLength": 2048
"clang-analyzer",
"misc",
"performance",
"portability"
],
"score": 5
},
{
"keywords": [
"codequality-no-global-variables",
"codequality-no-header-guard",
"codequality-no-fflush-stdin"
],
"score": 20
},
{
"keywords": [
"readability-function-size"
],
"score": 10
},
{
"keywords": [
"readability-misleading-indentation"
],
"score": 15
}
]
}
},
{
"name": "result-detail",
"with": {
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": false,
"showRuntime": false,
"showProcPeak": false,
"showFiles": [
"stdout"
],
"filesInCodeBlock": true,
"maxFileLength": 2048
}
} }
] }
} ]
], }
"preStages": [], ],
"postStages": [] "postStages": []
}
} }

View File

@ -3,117 +3,115 @@
"logPath": "/home/tt/.cache/joj3/hw7/joj3.log", "logPath": "/home/tt/.cache/joj3/hw7/joj3.log",
"actorCsvPath": "/home/tt/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "sandboxExecServer": "172.17.0.1:5051",
"sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "",
"sandboxToken": "", "outputPath": "/tmp/joj3_result.json",
"outputPath": "/tmp/joj3_result.json", "preStages": [],
"stages": [ "stages": [
{ {
"name": "[cq] Cppcheck", "name": "[cq] Cppcheck",
"groups": [ "groups": [
"cq" "cq"
], ],
"executor": { "executor": {
"name": "sandbox", "name": "sandbox",
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"cppcheck", "cppcheck",
"--template={\"file\":\"{file}\",\"line\":{line}, \"column\":{column}, \"severity\":\"{severity}\", \"message\":\"{message}\", \"id\":\"{id}\"}", "--template={\"file\":\"{file}\",\"line\":{line}, \"column\":{column}, \"severity\":\"{severity}\", \"message\":\"{message}\", \"id\":\"{id}\"}",
"--force", "--force",
"--enable=all", "--enable=all",
"--suppress=missingIncludeSystem", "--suppress=missingIncludeSystem",
"--quiet", "--quiet",
"h7/ex2.cpp" "h7/ex2.cpp"
], ],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"content": "" "content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 68157440,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [] "stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 68157440,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
}
},
"parsers": [
{
"name": "cppcheck",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"error"
],
"score": 15
},
{
"keywords": [
"warning",
"portability",
"performance",
"style"
],
"score": 5
}
]
} }
}, },
"parsers": [ {
{ "name": "result-detail",
"name": "cppcheck", "with": {
"with": { "score": 0,
"score": 0, "comment": "",
"matches": [ "showExxecutorStatus": true,
{ "showExitStatus": true,
"keywords": [ "showError": false,
"error" "showTime": true,
], "showMemory": false,
"score": 15 "showRuntime": false,
}, "showProcPeak": false,
{ "showFiles": [
"keywords": [ "stderr"
"warning", ],
"portability", "filesInCodeBlock": true,
"performance", "maxFileLength": 2048
"style"
],
"score": 5
}
]
}
},
{
"name": "result-detail",
"with": {
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": false,
"showRuntime": false,
"showProcPeak": false,
"showFiles": [
"stderr"
],
"filesInCodeBlock": true,
"maxFileLength": 2048
}
} }
] }
} ]
], }
"preStages": [], ],
"postStages": [] "postStages": []
}
} }

View File

@ -3,119 +3,117 @@
"logPath": "/home/tt/.cache/joj3/hw7/joj3.log", "logPath": "/home/tt/.cache/joj3/hw7/joj3.log",
"actorCsvPath": "/home/tt/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "sandboxExecServer": "172.17.0.1:5051",
"sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "",
"sandboxToken": "", "outputPath": "/tmp/joj3_result.json",
"outputPath": "/tmp/joj3_result.json", "preStages": [],
"stages": [ "stages": [
{ {
"name": "[cq] Cpplint", "name": "[cq] Cpplint",
"groups": [ "groups": [
"cq" "cq"
], ],
"executor": { "executor": {
"name": "sandbox", "name": "sandbox",
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"cpplint", "cpplint",
"--linelength=120", "--linelength=120",
"--filter=-legal,-readability/casting,-whitespace,-runtime/printf,-runtime/threadsafe_fn,-runtime/int,-readability/todo,-build/include_subdir,-build/header_guard,-build/include_what_you_use", "--filter=-legal,-readability/casting,-whitespace,-runtime/printf,-runtime/threadsafe_fn,-runtime/int,-readability/todo,-build/include_subdir,-build/header_guard,-build/include_what_you_use",
"--recursive", "--recursive",
"--exclude=build", "--exclude=build",
"h7/ex2.cpp" "h7/ex2.cpp"
], ],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"content": "" "content": ""
},
"stdout": {
"name": "stdout",
"max": 68157440,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [] "stdout": {
"name": "stdout",
"max": 68157440,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
}
},
"parsers": [
{
"name": "cpplint",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"runtime"
],
"score": 5
},
{
"keywords": [
"readability"
],
"score": 20
},
{
"keywords": [
"build"
],
"score": 10
}
]
} }
}, },
"parsers": [ {
{ "name": "result-detail",
"name": "cpplint", "with": {
"with": { "score": 0,
"score": 0, "comment": "",
"matches": [ "showExxecutorStatus": true,
{ "showExitStatus": true,
"keywords": [ "showError": false,
"runtime" "showTime": true,
], "showMemory": false,
"score": 5 "showRuntime": false,
}, "showProcPeak": false,
{ "showFiles": [
"keywords": [ "stderr"
"readability" ],
], "filesInCodeBlock": true,
"score": 20 "maxFileLength": 2048
},
{
"keywords": [
"build"
],
"score": 10
}
]
}
},
{
"name": "result-detail",
"with": {
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": false,
"showRuntime": false,
"showProcPeak": false,
"showFiles": [
"stderr"
],
"filesInCodeBlock": true,
"maxFileLength": 2048
}
} }
] }
} ]
], }
"preStages": [], ],
"postStages": [] "postStages": []
}
} }

File diff suppressed because it is too large Load Diff

View File

@ -3,127 +3,125 @@
"logPath": "/home/tt/.cache/joj3/hw7/joj3.log", "logPath": "/home/tt/.cache/joj3/hw7/joj3.log",
"actorCsvPath": "/home/tt/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "sandboxExecServer": "172.17.0.1:5051",
"sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "",
"sandboxToken": "", "outputPath": "/tmp/joj3_result.json",
"outputPath": "/tmp/joj3_result.json", "preStages": [],
"stages": [ "stages": [
{ {
"name": "[cq] elf", "name": "[cq] elf",
"groups": [ "groups": [
"cq" "cq"
], ],
"executor": { "executor": {
"name": "sandbox", "name": "sandbox",
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"elf", "elf",
"./", "./",
"--md" "--md"
], ],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"content": "" "content": ""
},
"stdout": {
"name": "stdout",
"max": 68157440,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tests/homework/h7/.clang-tidy": {
"src": "/home/tt/.config/joj/tests/homework/h7/.clang-tidy"
},
"h7/build/compile_commands.json": {
"src": "/home/tt/.config/joj/h7/build/compile_commands.json"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [] "stdout": {
"name": "stdout",
"max": 68157440,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tests/homework/h7/.clang-tidy": {
"src": "/home/tt/.config/joj/tests/homework/h7/.clang-tidy"
},
"h7/build/compile_commands.json": {
"src": "/home/tt/.config/joj/h7/build/compile_commands.json"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
}
},
"parsers": [
{
"name": "elf",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"Parentheses"
],
"score": 100
},
{
"keywords": [
"Length"
],
"score": 300
},
{
"keywords": [
"Arity"
],
"score": 50
},
{
"keywords": [
"Repetitive"
],
"score": 80
}
]
} }
}, },
"parsers": [ {
{ "name": "result-detail",
"name": "elf", "with": {
"with": { "score": 0,
"score": 0, "comment": "",
"matches": [ "showExxecutorStatus": true,
{ "showExitStatus": true,
"keywords": [ "showError": false,
"Parentheses" "showTime": true,
], "showMemory": false,
"score": 100 "showRuntime": false,
}, "showProcPeak": false,
{ "showFiles": [],
"keywords": [ "filesInCodeBlock": true,
"Length" "maxFileLength": 2048
],
"score": 300
},
{
"keywords": [
"Arity"
],
"score": 50
},
{
"keywords": [
"Repetitive"
],
"score": 80
}
]
}
},
{
"name": "result-detail",
"with": {
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": false,
"showRuntime": false,
"showProcPeak": false,
"showFiles": [],
"filesInCodeBlock": true,
"maxFileLength": 2048
}
} }
] }
} ]
], }
"preStages": [], ],
"postStages": [] "postStages": []
}
} }

View File

@ -3,178 +3,176 @@
"logPath": "/home/tt/.cache/joj3/health/joj3.log", "logPath": "/home/tt/.cache/joj3/health/joj3.log",
"actorCsvPath": "/home/tt/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "sandboxExecServer": "172.17.0.1:5051",
"sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "",
"sandboxToken": "", "outputPath": "/tmp/joj3_result.json",
"outputPath": "/tmp/joj3_result.json", "preStages": [],
"stages": [ "stages": [
{ {
"name": "Health Check", "name": "Health Check",
"groups": [], "groups": [],
"executor": { "executor": {
"name": "local", "name": "local",
"with": { "with": {
"default": { "default": {
"args": [], "args": [],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"content": "" "content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 10000000000,
"clockLimit": 20000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [ "stdout": {
{ "name": "stdout",
"args": [ "max": 33554432,
"/usr/local/bin/repo-health-checker", "pipe": true
"-root=.", },
"-repoSize=10.0", "stderr": {
"-checkFileSumList=", "name": "stderr",
"-checkFileNameList=" "max": 33554432,
] "pipe": true
}, },
{ "cpuLimit": 10000000000,
"args": [ "clockLimit": 20000000000,
"/usr/local/bin/joint-teapot", "memoryLimit": 268435456,
"joj3-check-env", "stackLimit": 0,
"/home/tt/.config/teapot/teapot.env", "procLimit": 50,
"--grading-repo-name", "cpuRateLimit": 0,
"JOJ3-config-generator", "cpuSetLimit": "",
"--scoreboard-filename", "copyIn": {},
"scoreboard.csv" "copyInCached": {},
], "copyInDir": ".",
"env": [ "copyOut": [
"REPOS_DIR=/home/tt/.cache", "stdout",
"LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log" "stderr"
] ],
} "copyOutCached": [],
] "copyOutMax": 0,
} "copyOutDir": "",
}, "tty": false,
"parsers": [ "strictMemoryLimit": false,
{ "dataSegmentLimit": false,
"name": "healthcheck", "addressSpaceLimit": false
"with": {
"score": 0
}
}, },
{ "cases": [
"name": "debug", {
"with": {} "args": [
} "/usr/local/bin/repo-health-checker",
] "-root=.",
} "-repoSize=10.0",
], "-checkFileSumList=",
"preStages": [], "-checkFileNameList="
"postStages": [ ]
{ },
"name": "teapot", {
"groups": [],
"executor": {
"name": "local",
"with": {
"default": {
"args": [ "args": [
"/usr/local/bin/joint-teapot", "/usr/local/bin/joint-teapot",
"joj3-all-env", "joj3-check-env",
"/home/tt/.config/teapot/teapot.env", "/home/tt/.config/teapot/teapot.env",
"--grading-repo-name", "--grading-repo-name",
"JOJ3-config-generator", "JOJ3-config-generator",
"--max-total-score",
"0",
"--issue-label-name",
"Kind/Testing",
"--issue-label-color",
"#795548",
"--scoreboard-filename", "--scoreboard-filename",
"scoreboard.csv" "scoreboard.csv"
], ],
"env": [ "env": [
"REPOS_DIR=/home/tt/.cache", "REPOS_DIR=/home/tt/.cache",
"LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log" "LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log"
], ]
"stdin": { }
"content": "" ]
}, }
"stdout": { },
"name": "stdout", "parsers": [
"max": 33554432, {
"pipe": true "name": "healthcheck",
}, "with": {
"stderr": { "score": 0
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 30000000000,
"clockLimit": 60000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
} }
}, },
"parsers": [ {
{ "name": "debug",
"name": "log", "with": {}
"with": { }
"msg": "joj3 summary" ]
} }
],
"postStages": [
{
"name": "teapot",
"groups": [],
"executor": {
"name": "local",
"with": {
"default": {
"args": [
"/usr/local/bin/joint-teapot",
"joj3-all-env",
"/home/tt/.config/teapot/teapot.env",
"--grading-repo-name",
"JOJ3-config-generator",
"--max-total-score",
"0",
"--issue-label-name",
"Kind/Testing",
"--issue-label-color",
"#795548",
"--scoreboard-filename",
"scoreboard.csv"
],
"env": [
"REPOS_DIR=/home/tt/.cache",
"LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log"
],
"stdin": {
"content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 30000000000,
"clockLimit": 60000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
{ "cases": []
"name": "debug", }
"with": {} },
"parsers": [
{
"name": "log",
"with": {
"msg": "joj3 summary"
} }
] },
} {
] "name": "debug",
} "with": {}
}
]
}
]
} }

View File

@ -3,451 +3,82 @@
"logPath": "/home/tt/.cache/joj3/hw7/joj3.log", "logPath": "/home/tt/.cache/joj3/hw7/joj3.log",
"actorCsvPath": "/home/tt/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "sandboxExecServer": "172.17.0.1:5051",
"sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "",
"sandboxToken": "", "outputPath": "/tmp/joj3_result.json",
"outputPath": "/tmp/joj3_result.json", "preStages": [],
"stages": [ "stages": [
{ {
"name": "Health Check", "name": "Health Check",
"groups": [], "groups": [],
"executor": { "executor": {
"name": "local", "name": "local",
"with": { "with": {
"default": { "default": {
"args": [], "args": [],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"content": "" "content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 10000000000,
"clockLimit": 20000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [ "stdout": {
{ "name": "stdout",
"args": [ "max": 33554432,
"/usr/local/bin/repo-health-checker", "pipe": true
"-root=.", },
"-repoSize=10.0", "stderr": {
"-meta=README.md", "name": "stderr",
"-meta=Changelog.md", "max": 33554432,
"-checkFileSumList=b1bbad25b830db0a77b15a033f9ca1b7ab44c1d2d05056412bd3e4421645f0bf,2ba059f3977e2e3dee6cacbfbf0ba2578baa1b8e04b4977aec400868b6e49856,3db23f7fb2ca9814617e767ddc41b77073180b3b0b73e87b5f2a6d3129f88f3a,a5b63323a692d3d8b952442969649b4f823d58dae26429494f613df160710dfc", "pipe": true
"-checkFileNameList=.gitattributes,.gitea/workflows/push.yaml,.gitea/workflows/release.yaml,.gitignore" },
] "cpuLimit": 10000000000,
}, "clockLimit": 20000000000,
{ "memoryLimit": 268435456,
"args": [ "stackLimit": 0,
"/usr/local/bin/joint-teapot", "procLimit": 50,
"joj3-check-env", "cpuRateLimit": 0,
"/home/tt/.config/teapot/teapot.env", "cpuSetLimit": "",
"--grading-repo-name", "copyIn": {},
"JOJ3-config-generator", "copyInCached": {},
"--scoreboard-filename", "copyInDir": ".",
"scoreboard-hw7.csv", "copyOut": [
"--group-config", "stdout",
"joj=1000:24,run=100:1", "stderr"
"--begin-time", ],
"2024-12-29T23:59:59", "copyOutCached": [],
"--end-time", "copyOutMax": 0,
"2024-12-30T23:59:59", "copyOutDir": "",
"--penalty-config", "tty": false,
"24.0=0.75,48.0=0.5,72.0=0.25" "strictMemoryLimit": false,
], "dataSegmentLimit": false,
"env": [ "addressSpaceLimit": false
"REPOS_DIR=/home/tt/.cache",
"LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log"
]
}
]
}
},
"parsers": [
{
"name": "healthcheck",
"with": {
"score": 0
}
}, },
{ "cases": [
"name": "debug", {
"with": {}
}
]
},
{
"name": "Generate yes.txt [no]",
"groups": [
"run",
"no"
],
"executor": {
"name": "sandbox",
"with": {
"default": {
"args": [ "args": [
"sh", "/usr/local/bin/repo-health-checker",
"-c", "-root=.",
"yes | head -n 10 > yes.txt" "-repoSize=10.0",
], "-meta=README.md",
"env": [ "-meta=Changelog.md",
"PATH=/usr/bin:/bin:/usr/local/bin", "-checkFileSumList=b1bbad25b830db0a77b15a033f9ca1b7ab44c1d2d05056412bd3e4421645f0bf,2ba059f3977e2e3dee6cacbfbf0ba2578baa1b8e04b4977aec400868b6e49856,3db23f7fb2ca9814617e767ddc41b77073180b3b0b73e87b5f2a6d3129f88f3a,a5b63323a692d3d8b952442969649b4f823d58dae26429494f613df160710dfc",
"THE_ANSWER=42" "-checkFileNameList=.gitattributes,.gitea/workflows/push.yaml,.gitea/workflows/release.yaml,.gitignore"
], ]
"stdin": {
"content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tools/filelength": {
"src": "/home/tt/.config/joj/tools/filelength"
},
"h7/Makefile": {
"src": "/home/tt/.config/joj/tools/Makefile"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [
"yes.txt"
],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [ {
{
"stdin": {
"src": "/home/tt/.config/joj/full/cases/case0.in"
}
},
{
"stdin": {
"src": "/home/tt/.config/joj/full/cases/case2.in"
},
"cpuLimit": 2000000000,
"memoryLimit": 536870912
},
{
"stdin": {
"src": "/home/tt/.config/joj/full/cases/case1.in"
}
},
{
"stdin": {
"src": "/home/tt/.config/joj/full/other/cases/case3.in"
}
}
]
}
},
"parsers": [
{
"name": "result-status",
"with": {
"score": 0,
"comment": "Congrats! There is a yes.txt file generated!",
"forceQuitOnNotAccepted": true
}
},
{
"name": "result-detail",
"with": {
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": true,
"showRuntime": true,
"showProcPeak": false,
"showFiles": [],
"filesInCodeBlock": true,
"maxFileLength": 2048
}
},
{
"name": "keyword",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"aaa"
],
"score": 20
},
{
"keywords": [
"bbb"
],
"score": 10
},
{
"keywords": [
"ccc"
],
"score": 5
}
]
}
},
{
"name": "clangtidy",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"clang-diagnostic",
"clang-analyzer",
"misc",
"performance",
"portability"
],
"score": 5
}
]
}
},
{
"name": "cppcheck",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"error"
],
"score": 15
},
{
"keywords": [
"warning",
"portability",
"performance",
"style"
],
"score": 5
}
]
}
},
{
"name": "cpplint",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"runtime"
],
"score": 5
},
{
"keywords": [
"readability"
],
"score": 20
},
{
"keywords": [
"build"
],
"score": 10
}
]
}
},
{
"name": "elf",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"Parentheses"
],
"score": 100
},
{
"keywords": [
"Length"
],
"score": 300
},
{
"keywords": [
"Arity"
],
"score": 50
},
{
"keywords": [
"Repetitive"
],
"score": 80
}
]
}
},
{
"name": "dummy",
"with": {
"score": 0,
"comment": "",
"forceQuit": false
}
},
{
"name": "diff",
"with": {
"name": "diff",
"cases": [
{
"outputs": [
{
"score": 5,
"filename": "stdout",
"answerPath": "/home/tt/.config/joj/full/cases/case0.out",
"compareSpace": false,
"alwaysHide": false,
"forceQuitOnDiff": false,
"maxDiffLength": 2048,
"maxDiffLines": 50,
"hideCommonPrefix": false
}
]
},
{
"outputs": [
{
"score": 5,
"filename": "stdout",
"answerPath": "/home/tt/.config/joj/full/cases/case2.out",
"compareSpace": false,
"alwaysHide": false,
"forceQuitOnDiff": false,
"maxDiffLength": 2048,
"maxDiffLines": 50,
"hideCommonPrefix": false
}
]
},
{
"outputs": [
{
"score": 5,
"filename": "stdout",
"answerPath": "/home/tt/.config/joj/full/cases/case1.out",
"compareSpace": false,
"alwaysHide": false,
"forceQuitOnDiff": false,
"maxDiffLength": 2048,
"maxDiffLines": 50,
"hideCommonPrefix": false
}
]
},
{
"outputs": [
{
"score": 5,
"filename": "stdout",
"answerPath": "/home/tt/.config/joj/full/other/cases/case3.out",
"compareSpace": false,
"alwaysHide": false,
"forceQuitOnDiff": false,
"maxDiffLength": 2048,
"maxDiffLines": 50,
"hideCommonPrefix": false
}
]
}
]
}
}
]
}
],
"preStages": [],
"postStages": [
{
"name": "teapot",
"groups": [],
"executor": {
"name": "local",
"with": {
"default": {
"args": [ "args": [
"/usr/local/bin/joint-teapot", "/usr/local/bin/joint-teapot",
"joj3-all-env", "joj3-check-env",
"/home/tt/.config/teapot/teapot.env", "/home/tt/.config/teapot/teapot.env",
"--grading-repo-name", "--grading-repo-name",
"JOJ3-config-generator", "JOJ3-config-generator",
"--max-total-score",
"100",
"--issue-label-name",
"Kind/Testing",
"--issue-label-color",
"#795548",
"--scoreboard-filename", "--scoreboard-filename",
"scoreboard-hw7.csv", "scoreboard-hw7.csv",
"--scoreboard-column-by-ref", "--group-config",
"joj=1000:24,run=100:1",
"--begin-time",
"2024-12-29T23:59:59",
"--end-time", "--end-time",
"2024-12-30T23:59:59", "2024-12-30T23:59:59",
"--penalty-config", "--penalty-config",
@ -456,58 +87,425 @@
"env": [ "env": [
"REPOS_DIR=/home/tt/.cache", "REPOS_DIR=/home/tt/.cache",
"LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log" "LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log"
], ]
"stdin": { }
"content": "" ]
}, }
"stdout": { },
"name": "stdout", "parsers": [
"max": 33554432, {
"pipe": true "name": "healthcheck",
}, "with": {
"stderr": { "score": 0
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 30000000000,
"clockLimit": 60000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
} }
}, },
"parsers": [ {
{ "name": "debug",
"name": "log", "with": {}
"with": { }
"msg": "joj3 summary" ]
} },
{
"name": "Generate yes.txt [no]",
"groups": [
"run",
"no"
],
"executor": {
"name": "sandbox",
"with": {
"default": {
"args": [
"sh",
"-c",
"yes | head -n 10 > yes.txt"
],
"env": [
"PATH=/usr/bin:/bin:/usr/local/bin",
"THE_ANSWER=42"
],
"stdin": {
"content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tools/filelength": {
"src": "/home/tt/.config/joj/tools/filelength"
},
"h7/Makefile": {
"src": "/home/tt/.config/joj/tools/Makefile"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [
"yes.txt"
],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
{ "cases": [
"name": "debug", {
"with": {} "stdin": {
"src": "/home/tt/.config/joj/full/cases/case0.in"
}
},
{
"stdin": {
"src": "/home/tt/.config/joj/full/cases/case2.in"
},
"cpuLimit": 2000000000,
"memoryLimit": 536870912
},
{
"stdin": {
"src": "/home/tt/.config/joj/full/cases/case1.in"
}
},
{
"stdin": {
"src": "/home/tt/.config/joj/full/other/cases/case3.in"
}
}
]
}
},
"parsers": [
{
"name": "result-status",
"with": {
"score": 0,
"comment": "Congrats! There is a yes.txt file generated!",
"forceQuitOnNotAccepted": true
} }
] },
} {
] "name": "result-detail",
} "with": {
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": true,
"showRuntime": true,
"showProcPeak": false,
"showFiles": [],
"filesInCodeBlock": true,
"maxFileLength": 2048
}
},
{
"name": "keyword",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"aaa"
],
"score": 20
},
{
"keywords": [
"bbb"
],
"score": 10
},
{
"keywords": [
"ccc"
],
"score": 5
}
]
}
},
{
"name": "clangtidy",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"clang-diagnostic",
"clang-analyzer",
"misc",
"performance",
"portability"
],
"score": 5
}
]
}
},
{
"name": "cppcheck",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"error"
],
"score": 15
},
{
"keywords": [
"warning",
"portability",
"performance",
"style"
],
"score": 5
}
]
}
},
{
"name": "cpplint",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"runtime"
],
"score": 5
},
{
"keywords": [
"readability"
],
"score": 20
},
{
"keywords": [
"build"
],
"score": 10
}
]
}
},
{
"name": "elf",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"Parentheses"
],
"score": 100
},
{
"keywords": [
"Length"
],
"score": 300
},
{
"keywords": [
"Arity"
],
"score": 50
},
{
"keywords": [
"Repetitive"
],
"score": 80
}
]
}
},
{
"name": "dummy",
"with": {
"score": 0,
"comment": "",
"forceQuit": false
}
},
{
"name": "diff",
"with": {
"name": "diff",
"cases": [
{
"outputs": [
{
"score": 5,
"filename": "stdout",
"answerPath": "/home/tt/.config/joj/full/cases/case0.out",
"compareSpace": false,
"alwaysHide": false,
"forceQuitOnDiff": false,
"maxDiffLength": 2048,
"maxDiffLines": 50,
"hideCommonPrefix": false
}
]
},
{
"outputs": [
{
"score": 5,
"filename": "stdout",
"answerPath": "/home/tt/.config/joj/full/cases/case2.out",
"compareSpace": false,
"alwaysHide": false,
"forceQuitOnDiff": false,
"maxDiffLength": 2048,
"maxDiffLines": 50,
"hideCommonPrefix": false
}
]
},
{
"outputs": [
{
"score": 5,
"filename": "stdout",
"answerPath": "/home/tt/.config/joj/full/cases/case1.out",
"compareSpace": false,
"alwaysHide": false,
"forceQuitOnDiff": false,
"maxDiffLength": 2048,
"maxDiffLines": 50,
"hideCommonPrefix": false
}
]
},
{
"outputs": [
{
"score": 5,
"filename": "stdout",
"answerPath": "/home/tt/.config/joj/full/other/cases/case3.out",
"compareSpace": false,
"alwaysHide": false,
"forceQuitOnDiff": false,
"maxDiffLength": 2048,
"maxDiffLines": 50,
"hideCommonPrefix": false
}
]
}
]
}
}
]
}
],
"postStages": [
{
"name": "teapot",
"groups": [],
"executor": {
"name": "local",
"with": {
"default": {
"args": [
"/usr/local/bin/joint-teapot",
"joj3-all-env",
"/home/tt/.config/teapot/teapot.env",
"--grading-repo-name",
"JOJ3-config-generator",
"--max-total-score",
"100",
"--issue-label-name",
"Kind/Testing",
"--issue-label-color",
"#795548",
"--scoreboard-filename",
"scoreboard-hw7.csv",
"--scoreboard-column-by-ref",
"--end-time",
"2024-12-30T23:59:59",
"--penalty-config",
"24.0=0.75,48.0=0.5,72.0=0.25"
],
"env": [
"REPOS_DIR=/home/tt/.cache",
"LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log"
],
"stdin": {
"content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 30000000000,
"clockLimit": 60000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
}
},
"parsers": [
{
"name": "log",
"with": {
"msg": "joj3 summary"
}
},
{
"name": "debug",
"with": {}
}
]
}
]
} }

View File

@ -3,116 +3,114 @@
"logPath": "/home/tt/.cache/joj3/hw7/joj3.log", "logPath": "/home/tt/.cache/joj3/hw7/joj3.log",
"actorCsvPath": "/home/tt/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "sandboxExecServer": "172.17.0.1:5051",
"sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "",
"sandboxToken": "", "outputPath": "/tmp/joj3_result.json",
"outputPath": "/tmp/joj3_result.json", "preStages": [],
"stages": [ "stages": [
{ {
"name": "[cq] Filelength", "name": "[cq] Filelength",
"groups": [ "groups": [
"cq" "cq"
], ],
"executor": { "executor": {
"name": "sandbox", "name": "sandbox",
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"./tools/filelength", "./tools/filelength",
"400", "400",
"300", "300",
"*.cpp", "*.cpp",
"*.h" "*.h"
], ],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"content": "" "content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tools/filelength": {
"src": "/home/tt/.config/joj/tools/filelength"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [] "stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tools/filelength": {
"src": "/home/tt/.config/joj/tools/filelength"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
}
},
"parsers": [
{
"name": "keyword",
"with": {
"score": 0,
"matches": [
{
"keywords": [
"max"
],
"score": 20
},
{
"keywords": [
"recommended"
],
"score": 10
}
]
} }
}, },
"parsers": [ {
{ "name": "result-detail",
"name": "keyword", "with": {
"with": { "score": 0,
"score": 0, "comment": "",
"matches": [ "showExxecutorStatus": true,
{ "showExitStatus": true,
"keywords": [ "showError": false,
"max" "showTime": true,
], "showMemory": false,
"score": 20 "showRuntime": false,
}, "showProcPeak": false,
{ "showFiles": [
"keywords": [ "stdout"
"recommended" ],
], "filesInCodeBlock": true,
"score": 10 "maxFileLength": 2048
}
]
}
},
{
"name": "result-detail",
"with": {
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": false,
"showRuntime": false,
"showProcPeak": false,
"showFiles": [
"stdout"
],
"filesInCodeBlock": true,
"maxFileLength": 2048
}
} }
] }
} ]
], }
"preStages": [], ],
"postStages": [] "postStages": []
}
} }

View File

@ -3,97 +3,95 @@
"logPath": "/home/tt/.cache/joj3/hw7/joj3.log", "logPath": "/home/tt/.cache/joj3/hw7/joj3.log",
"actorCsvPath": "/home/tt/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "sandboxExecServer": "172.17.0.1:5051",
"sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "",
"sandboxToken": "", "outputPath": "/tmp/joj3_result.json",
"outputPath": "/tmp/joj3_result.json", "preStages": [],
"stages": [ "stages": [
{ {
"name": "[cq] Filelength", "name": "[cq] Filelength",
"groups": [ "groups": [
"cq" "cq"
], ],
"executor": { "executor": {
"name": "sandbox", "name": "sandbox",
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"./tools/filelength", "./tools/filelength",
"400", "400",
"300", "300",
"*.cpp", "*.cpp",
"*.h" "*.h"
], ],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"content": "" "content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tools/filelength": {
"src": "/home/tt/.config/joj/tools/filelength"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [] "stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tools/filelength": {
"src": "/home/tt/.config/joj/tools/filelength"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
}
},
"parsers": [
{
"name": "result-detail",
"with": {
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": false,
"showRuntime": false,
"showProcPeak": false,
"showFiles": [
"stdout",
"stderr"
],
"filesInCodeBlock": true,
"maxFileLength": 2048
} }
}, }
"parsers": [ ]
{ }
"name": "result-detail", ],
"with": { "postStages": []
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": false,
"showRuntime": false,
"showProcPeak": false,
"showFiles": [
"stdout",
"stderr"
],
"filesInCodeBlock": true,
"maxFileLength": 2048
}
}
]
}
],
"preStages": [],
"postStages": []
}
} }

View File

@ -3,94 +3,92 @@
"logPath": "/home/tt/.cache/joj3/hw7/joj3.log", "logPath": "/home/tt/.cache/joj3/hw7/joj3.log",
"actorCsvPath": "/home/tt/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "sandboxExecServer": "172.17.0.1:5051",
"sandboxExecServer": "172.17.0.1:5051", "sandboxToken": "",
"sandboxToken": "", "outputPath": "/tmp/joj3_result.json",
"outputPath": "/tmp/joj3_result.json", "preStages": [],
"stages": [ "stages": [
{ {
"name": "[cq] Filelength", "name": "[cq] Filelength",
"groups": [ "groups": [
"cq" "cq"
], ],
"executor": { "executor": {
"name": "sandbox", "name": "sandbox",
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"./tools/filelength", "./tools/filelength",
"400", "400",
"300", "300",
"*.cpp", "*.cpp",
"*.h" "*.h"
], ],
"env": [ "env": [
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"content": "" "content": ""
},
"stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tools/filelength": {
"src": "/home/tt/.config/joj/tools/filelength"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
}, },
"cases": [] "stdout": {
"name": "stdout",
"max": 33554432,
"pipe": true
},
"stderr": {
"name": "stderr",
"max": 33554432,
"pipe": true
},
"cpuLimit": 1000000000,
"clockLimit": 2000000000,
"memoryLimit": 268435456,
"stackLimit": 0,
"procLimit": 50,
"cpuRateLimit": 0,
"cpuSetLimit": "",
"copyIn": {
"tools/filelength": {
"src": "/home/tt/.config/joj/tools/filelength"
}
},
"copyInCached": {},
"copyInDir": ".",
"copyOut": [
"stdout",
"stderr"
],
"copyOutCached": [],
"copyOutMax": 0,
"copyOutDir": "",
"tty": false,
"strictMemoryLimit": false,
"dataSegmentLimit": false,
"addressSpaceLimit": false
},
"cases": []
}
},
"parsers": [
{
"name": "result-detail",
"with": {
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": true,
"showRuntime": true,
"showProcPeak": false,
"showFiles": [],
"filesInCodeBlock": true,
"maxFileLength": 2048
} }
}, }
"parsers": [ ]
{ }
"name": "result-detail", ],
"with": { "postStages": []
"score": 0,
"comment": "",
"showExxecutorStatus": true,
"showExitStatus": true,
"showError": false,
"showTime": true,
"showMemory": true,
"showRuntime": true,
"showProcPeak": false,
"showFiles": [],
"filesInCodeBlock": true,
"maxFileLength": 2048
}
}
]
}
],
"preStages": [],
"postStages": []
}
} }