This commit is contained in:
parent
dce6e5d598
commit
df5295258f
|
@ -12,20 +12,24 @@ class Files(BaseModel):
|
|||
|
||||
class Groups(BaseModel):
|
||||
name: List[str] = []
|
||||
max_count: List[int] = []
|
||||
time_period_hour: List[int] = []
|
||||
max_count: List[int] = Field([], alias="max-count")
|
||||
time_period_hour: List[int] = Field([], alias="time-period-hour")
|
||||
|
||||
|
||||
class Config(BaseModel):
|
||||
max_size: float = Field(10, ge=0)
|
||||
max_size: float = Field(10, ge=0, alias="max-size")
|
||||
files: Files = Files()
|
||||
sandbox_token: str = Field("")
|
||||
max_total_score: int = Field(100)
|
||||
force_skip_health_check_on_test: bool = False
|
||||
force_skip_teapot_on_test: bool = False
|
||||
sandbox_token: str = Field("", alias="sandbox-token")
|
||||
max_total_score: int = Field(100, alias="max-total-score")
|
||||
force_skip_health_check_on_test: bool = Field(
|
||||
False, alias="force-skip-health-check-on-test"
|
||||
)
|
||||
force_skip_teapot_on_test: bool = Field(False, alias="force-skip-teapot-on-test")
|
||||
groups: Groups = Groups()
|
||||
root: Path = Path(".")
|
||||
path: Path = Path("repo.toml")
|
||||
grading_repo_name: str = f"{socket.gethostname().split('-')[0]}-joj"
|
||||
health_check_score: int = Field(0)
|
||||
submitter_in_issue_title: bool = True
|
||||
grading_repo_name: str = Field(
|
||||
f"{socket.gethostname().split('-')[0]}-joj", alias="grading-repo-name"
|
||||
)
|
||||
health_check_score: int = Field(0, alias="health-check-score")
|
||||
submitter_in_issue_title: bool = Field(True, alias="submitter-in-issue-title")
|
||||
|
|
|
@ -16,13 +16,13 @@ from joj3_config_generator.models.const import (
|
|||
|
||||
|
||||
class ParserResultDetail(BaseModel):
|
||||
cpu_time: bool = True # Display CPU time
|
||||
cpu_time: bool = Field(True, alias="cpu-time") # Display CPU time
|
||||
time: bool = True # Display run time
|
||||
mem: bool = True # Display memory usage
|
||||
stdout: bool = False # Display stdout messages
|
||||
stderr: bool = False # Display stderr messages
|
||||
exit_status: bool = True # Display exit status
|
||||
proc_peak: bool = False # Display peak process count
|
||||
exit_status: bool = Field(True, alias="exit-status") # Display exit status
|
||||
proc_peak: bool = Field(False, alias="proc-peak") # Display peak process count
|
||||
error: bool = False # Display error messages
|
||||
|
||||
|
||||
|
@ -39,7 +39,7 @@ class ParserLog(BaseModel):
|
|||
class ParserDummy(BaseModel):
|
||||
comment: str = ""
|
||||
score: int = 0
|
||||
force_quit: bool = False
|
||||
force_quit: bool = Field(False, alias="force-quit")
|
||||
|
||||
|
||||
class ParserKeyword(BaseModel):
|
||||
|
@ -47,19 +47,19 @@ class ParserKeyword(BaseModel):
|
|||
weight: List[int] = []
|
||||
|
||||
|
||||
class Outputs(BaseModel):
|
||||
class ParserDiffOutputs(BaseModel):
|
||||
score: int = 0
|
||||
ignore_spaces: bool = True
|
||||
ignore_spaces: bool = Field(True, alias="ignore-spaces")
|
||||
hide: bool = False
|
||||
force_quit: bool = False
|
||||
force_quit: bool = Field(False, alias="force-quit")
|
||||
|
||||
|
||||
class ParserDiff(BaseModel):
|
||||
output: Outputs = Outputs()
|
||||
default_score: int = DEFAULT_CASE_SCORE
|
||||
output: ParserDiffOutputs = ParserDiffOutputs()
|
||||
default_score: int = Field(DEFAULT_CASE_SCORE, alias="default-score")
|
||||
|
||||
|
||||
class Files(BaseModel):
|
||||
class StageFiles(BaseModel):
|
||||
import_: List[str] = Field([], alias="import")
|
||||
export: List[str] = []
|
||||
|
||||
|
@ -105,10 +105,10 @@ class Stage(BaseModel):
|
|||
name: str = "" # Stage name
|
||||
env: List[str] = []
|
||||
command: str = "" # Command to run
|
||||
files: Files = Files()
|
||||
files: StageFiles = StageFiles()
|
||||
in_: str = Field("", alias="in")
|
||||
out_: str = Field("", alias="out")
|
||||
copy_in_cwd: bool = True
|
||||
copy_in_cwd: bool = Field(True, alias="copy-in-cwd")
|
||||
score: int = 0
|
||||
parsers: List[Parser] = [] # list of parsers
|
||||
limit: Limit = Limit()
|
||||
|
@ -147,11 +147,11 @@ class Stage(BaseModel):
|
|||
|
||||
|
||||
class Release(BaseModel):
|
||||
end_time: datetime = datetime(
|
||||
1970, 1, 1, 0, 0, 0, tzinfo=timezone.utc
|
||||
end_time: datetime = Field(
|
||||
datetime(1970, 1, 1, 0, 0, 0, tzinfo=timezone.utc), alias="end-time"
|
||||
) # timestamp = 0, no end time
|
||||
begin_time: datetime = datetime(
|
||||
1970, 1, 1, 0, 0, 0, tzinfo=timezone.utc
|
||||
begin_time: datetime = Field(
|
||||
datetime(1970, 1, 1, 0, 0, 0, tzinfo=timezone.utc), alias="begin-time"
|
||||
) # timestamp = 0, no begin time
|
||||
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
grading_repo_name = "ece280-joj"
|
||||
grading-repo-name = "ece280-joj"
|
||||
|
||||
sandbox_token = "test"
|
||||
sandbox-token = "test"
|
||||
# reconfigure later
|
||||
max_total_score = 100
|
||||
max_size = 50.5
|
||||
max-total-score = 100
|
||||
max-size = 50.5
|
||||
|
||||
# for tests
|
||||
[groups]
|
||||
name = ["joj", "run"]
|
||||
max_count = [1000, 1000]
|
||||
time_period_hour = [24, 24]
|
||||
max-count = [1000, 1000]
|
||||
time-period-hour = [24, 24]
|
||||
|
||||
[files]
|
||||
required = ["README.md", "Changelog.md"]
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# general task configuration
|
||||
task.name = "hw7 ex2" # task name
|
||||
|
||||
release.end_time = 2024-12-30 23:59:59+08:00
|
||||
release.begin_time = 2024-12-29 23:59:59+08:00
|
||||
release.end-time = 2024-12-30 23:59:59+08:00
|
||||
release.begin-time = 2024-12-29 23:59:59+08:00
|
||||
|
||||
[[stages]]
|
||||
name = "Compilation"
|
||||
|
@ -15,11 +15,11 @@ score = 1
|
|||
# compile parsers
|
||||
parsers = [ "result-detail", "result-status" ]
|
||||
result-status.comment = "Congratulations! Your code compiled successfully."
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stderr = true
|
||||
result-detail.time = false
|
||||
result-detail.mem = false
|
||||
result-status.force_quit = true
|
||||
result-status.force-quit = true
|
||||
|
||||
[[stages]]
|
||||
name = "[cq] Filelength"
|
||||
|
@ -29,7 +29,7 @@ files.import = [ "tools/filelength" ]
|
|||
parsers = [ "keyword", "result-detail" ]
|
||||
keyword.keyword = [ "max", "recommended"]
|
||||
keyword.weight = [ 20, 10 ]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stdout = true
|
||||
result-detail.time = false
|
||||
result-detail.mem = false
|
||||
|
@ -43,7 +43,7 @@ limit.stdout = "4m"
|
|||
parsers = [ "clangtidy", "result-detail" ]
|
||||
clangtidy.keyword = [ "codequality-unchecked-malloc-result", "codequality-no-global-variables", "codequality-no-header-guard", "codequality-no-fflush-stdin", "readability-function-size", "readability-duplicate-include", "readability-identifier-naming", "readability-redundant", "readability-misleading-indentation", "readability-misplaced-array-index", "cppcoreguidelines-init-variables", "bugprone-suspicious-string-compare", "google-global-names-in-headers", "clang-diagnostic", "clang-analyzer", "misc", "performance", "portability" ]
|
||||
clangtidy.weight = [ 5, 20, 20, 20, 10, 5, 5, 5, 15, 5, 5, 5, 5, 5, 5, 5, 5, 5]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stdout = true
|
||||
result-detail.time = false
|
||||
result-detail.mem = false
|
||||
|
@ -56,7 +56,7 @@ limit.stderr = "8m"
|
|||
parsers = [ "keyword", "cppcheck", "clangtidy", "result-detail", "cpplint", "result-status", "file", "dummy", "diff" ]
|
||||
cppcheck.keyword = ["error", "warning", "portability", "performance", "style"]
|
||||
cppcheck.weight = [15, 5, 5, 5, 5]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stderr = true
|
||||
result-detail.time = false
|
||||
result-detail.mem = false
|
||||
|
@ -69,7 +69,7 @@ limit.stdout = "65m"
|
|||
parsers = [ "cpplint", "result-detail" ]
|
||||
cpplint.keyword = [ "runtime", "readability", "build" ]
|
||||
cpplint.weight = [ 5, 20, 10]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stderr = true
|
||||
result-detail.time = false
|
||||
result-detail.mem = false
|
||||
|
@ -77,19 +77,19 @@ result-detail.mem = false
|
|||
[[stages]]
|
||||
name = "[joj] ex2-asan"
|
||||
command="./h7/build/ex2-asan -a"
|
||||
copy_in_cwd = false
|
||||
copy-in-cwd = false
|
||||
files.import = [ "h7/build/ex2-asan" ]
|
||||
limit.mem = "128m"
|
||||
|
||||
parsers = [ "diff", "result-detail" ]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stderr = true
|
||||
|
||||
# will be removed as long as the name is fixed
|
||||
case0.diff.output.score = 5
|
||||
case0.limit.cpu = "0.5s"
|
||||
case0.limit.mem = "5m"
|
||||
case0.diff.output.ignore_spaces = true
|
||||
case0.diff.output.ignore-spaces = true
|
||||
#case0.limit.stdout = 8
|
||||
#case0.command = "./h7/build/ex2"
|
||||
case0.in = "case0.in"
|
||||
|
@ -97,7 +97,7 @@ case0.in = "case0.in"
|
|||
case1.diff.output.score = 5
|
||||
case1.limit.cpu = "1s"
|
||||
case1.limit.mem = "5m"
|
||||
case1.diff.output.ignore_spaces = true
|
||||
case1.diff.output.ignore-spaces = true
|
||||
#case1.limit.stdout = 8
|
||||
#case1.command = "./h7/build/ex2"
|
||||
case1.in = "case1.in"
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
force_skip_health_check_on_test = true
|
||||
force_skip_teapot_on_test = true
|
||||
force-skip-health-check-on-test = true
|
||||
force-skip-teapot-on-test = true
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# general task configuration
|
||||
task.name = "hw7 ex2" # task name
|
||||
|
||||
release.end_time = 2024-12-30 23:59:59+08:00
|
||||
release.begin_time = 2024-12-29 23:59:59+08:00
|
||||
release.end-time = 2024-12-30 23:59:59+08:00
|
||||
release.begin-time = 2024-12-29 23:59:59+08:00
|
||||
|
||||
[[stages]]
|
||||
name = "[cq] Clang-tidy"
|
||||
|
@ -13,7 +13,7 @@ limit.stdout = "65m"
|
|||
parsers = [ "clangtidy", "result-detail" ]
|
||||
clangtidy.keyword = [ "codequality-unchecked-malloc-result", "codequality-no-global-variables", "codequality-no-header-guard", "codequality-no-fflush-stdin", "readability-function-size", "readability-duplicate-include", "readability-identifier-naming", "readability-redundant", "readability-misleading-indentation", "readability-misplaced-array-index", "cppcoreguidelines-init-variables", "bugprone-suspicious-string-compare", "google-global-names-in-headers", "clang-diagnostic", "clang-analyzer", "misc", "performance", "portability" ]
|
||||
clangtidy.weight = [ 5, 20, 20, 20, 10, 5, 5, 5, 15, 5, 5, 5, 5, 5, 5, 5, 5, 5]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stdout = true
|
||||
result-detail.time = false
|
||||
result-detail.mem = false
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
force_skip_health_check_on_test = true
|
||||
force_skip_teapot_on_test = true
|
||||
force-skip-health-check-on-test = true
|
||||
force-skip-teapot-on-test = true
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# general task configuration
|
||||
task.name = "hw7 ex2" # task name
|
||||
|
||||
release.end_time = 2024-12-30 23:59:59+08:00
|
||||
release.begin_time = 2024-12-29 23:59:59+08:00
|
||||
release.end-time = 2024-12-30 23:59:59+08:00
|
||||
release.begin-time = 2024-12-29 23:59:59+08:00
|
||||
|
||||
[[stages]]
|
||||
name = "[cq] Cppcheck"
|
||||
|
@ -12,7 +12,7 @@ limit.stderr = "65m"
|
|||
parsers = [ "cppcheck", "result-detail" ]
|
||||
cppcheck.keyword = ["error", "warning", "portability", "performance", "style"]
|
||||
cppcheck.weight = [15, 5, 5, 5, 5]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stderr = true
|
||||
result-detail.time = false
|
||||
result-detail.mem = false
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
force_skip_health_check_on_test = true
|
||||
force_skip_teapot_on_test = true
|
||||
force-skip-health-check-on-test = true
|
||||
force-skip-teapot-on-test = true
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# general task configuration
|
||||
task.name = "hw7 ex2" # task name
|
||||
|
||||
release.end_time = 2024-12-30 23:59:59+08:00
|
||||
release.begin_time = 2024-12-29 23:59:59+08:00
|
||||
release.end-time = 2024-12-30 23:59:59+08:00
|
||||
release.begin-time = 2024-12-29 23:59:59+08:00
|
||||
|
||||
[[stages]]
|
||||
name = "[cq] Cpplint"
|
||||
|
@ -12,7 +12,7 @@ limit.stdout = "65m"
|
|||
parsers = [ "cpplint", "result-detail" ]
|
||||
cpplint.keyword = [ "runtime", "readability", "build" ]
|
||||
cpplint.weight = [ 5, 20, 10]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stderr = true
|
||||
result-detail.time = false
|
||||
result-detail.mem = false
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
force_skip_health_check_on_test = true
|
||||
force_skip_teapot_on_test = true
|
||||
force-skip-health-check-on-test = true
|
||||
force-skip-teapot-on-test = true
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# general task configuration
|
||||
task.name = "hw7 ex2" # task name
|
||||
|
||||
release.end_time = 2024-12-30 23:59:59+08:00
|
||||
release.begin_time = 2024-12-29 23:59:59+08:00
|
||||
release.end-time = 2024-12-30 23:59:59+08:00
|
||||
release.begin-time = 2024-12-29 23:59:59+08:00
|
||||
|
||||
[[stages]]
|
||||
name = "[joj] ex2-asan"
|
||||
|
@ -14,22 +14,22 @@ limit.stdout = "10m"
|
|||
limit.stderr = "10m"
|
||||
|
||||
parsers = [ "diff", "result-detail" ]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stderr = true
|
||||
|
||||
diff.default_score = 100
|
||||
diff.default-score = 100
|
||||
|
||||
case0.diff.output.score = 5
|
||||
case0.limit.cpu = "1s"
|
||||
case0.limit.mem = "2m"
|
||||
case0.diff.output.ignore_spaces = true
|
||||
case0.diff.output.ignore-spaces = true
|
||||
case0.command = "./h7/build/ex2"
|
||||
case0.in = "case0.in"
|
||||
|
||||
case1.diff.output.score = 123214122421
|
||||
case1.limit.cpu = "2s"
|
||||
case1.limit.mem = "4m"
|
||||
case1.diff.output.ignore_spaces = true
|
||||
case1.diff.output.ignore-spaces = true
|
||||
case1.command = "./h7/build/ex2"
|
||||
|
||||
case9.diff.output.score = 1232131
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
force_skip_health_check_on_test = true
|
||||
force_skip_teapot_on_test = true
|
||||
force-skip-health-check-on-test = true
|
||||
force-skip-teapot-on-test = true
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# general task configuration
|
||||
task.name = "hw7 ex2" # task name
|
||||
|
||||
release.end_time = 2024-12-30 23:59:59+08:00
|
||||
release.begin_time = 2024-12-29 23:59:59+08:00
|
||||
release.end-time = 2024-12-30 23:59:59+08:00
|
||||
release.begin-time = 2024-12-29 23:59:59+08:00
|
||||
|
||||
[[stages]]
|
||||
name = "[cq] elf"
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
force_skip_health_check_on_test = true
|
||||
force_skip_teapot_on_test = true
|
||||
force-skip-health-check-on-test = true
|
||||
force-skip-teapot-on-test = true
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# general task configuration
|
||||
task.name = "hw7 ex2" # task name
|
||||
|
||||
release.end_time = 2024-12-30 23:59:59+08:00
|
||||
release.begin_time = 2024-12-29 23:59:59+08:00
|
||||
release.end-time = 2024-12-30 23:59:59+08:00
|
||||
release.begin-time = 2024-12-29 23:59:59+08:00
|
||||
|
||||
[[stages]]
|
||||
name = "[cq] Filelength"
|
||||
|
@ -12,7 +12,7 @@ files.import = [ "tools/filelength" ]
|
|||
parsers = [ "keyword", "result-detail" ]
|
||||
keyword.keyword = [ "max", "recommended"]
|
||||
keyword.weight = [ 20, 10 ]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stdout = true
|
||||
result-detail.time = false
|
||||
result-detail.mem = false
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
force_skip_health_check_on_test = true
|
||||
force_skip_teapot_on_test = true
|
||||
force-skip-health-check-on-test = true
|
||||
force-skip-teapot-on-test = true
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# general task configuration
|
||||
task.name = "hw7 ex2" # task name
|
||||
|
||||
release.end_time = 2024-12-30 23:59:59+08:00
|
||||
release.begin_time = 2024-12-29 23:59:59+08:00
|
||||
release.end-time = 2024-12-30 23:59:59+08:00
|
||||
release.begin-time = 2024-12-29 23:59:59+08:00
|
||||
|
||||
[[stages]]
|
||||
name = "[cq] Filelength"
|
||||
|
@ -10,7 +10,7 @@ command = "./tools/filelength 400 300 *.cpp *.h"
|
|||
files.import = [ "tools/filelength" ]
|
||||
|
||||
parsers = [ "result-detail" ]
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
result-detail.stdout = true
|
||||
result-detail.stderr = true
|
||||
result-detail.time = false
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
force_skip_health_check_on_test = true
|
||||
force_skip_teapot_on_test = true
|
||||
force-skip-health-check-on-test = true
|
||||
force-skip-teapot-on-test = true
|
||||
|
|
|
@ -7,9 +7,9 @@ command = "./tools/filelength 400 300 *.cpp *.h"
|
|||
files.import = ["tools/filelength"]
|
||||
|
||||
parsers = ["result-detail"]
|
||||
result-detail.cpu_time = true
|
||||
result-detail.cpu-time = true
|
||||
result-detail.time = true
|
||||
result-detail.mem = true
|
||||
result-detail.stdout = false
|
||||
result-detail.stderr = false
|
||||
result-detail.exit_status = true
|
||||
result-detail.exit-status = true
|
||||
|
|
Loading…
Reference in New Issue
Block a user