From df5295258fecb3d3042c071998055a9b55503e45 Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Mon, 2 Jun 2025 19:20:36 -0400 Subject: [PATCH] feat: alias to all underscore --- joj3_config_generator/models/repo.py | 24 +++++++++++--------- joj3_config_generator/models/task.py | 32 +++++++++++++-------------- tests/convert/basic/repo.toml | 12 +++++----- tests/convert/basic/task.toml | 24 ++++++++++---------- tests/convert/clang-tidy/repo.toml | 4 ++-- tests/convert/clang-tidy/task.toml | 6 ++--- tests/convert/cppcheck/repo.toml | 4 ++-- tests/convert/cppcheck/task.toml | 6 ++--- tests/convert/cpplint/repo.toml | 4 ++-- tests/convert/cpplint/task.toml | 6 ++--- tests/convert/diff/repo.toml | 4 ++-- tests/convert/diff/task.toml | 12 +++++----- tests/convert/elf/repo.toml | 4 ++-- tests/convert/elf/task.toml | 4 ++-- tests/convert/keyword/repo.toml | 4 ++-- tests/convert/keyword/task.toml | 6 ++--- tests/convert/result-detail/repo.toml | 4 ++-- tests/convert/result-detail/task.toml | 6 ++--- tests/convert/unnecessary/repo.toml | 4 ++-- tests/convert/unnecessary/task.toml | 4 ++-- 20 files changed, 89 insertions(+), 85 deletions(-) diff --git a/joj3_config_generator/models/repo.py b/joj3_config_generator/models/repo.py index 06e5379..18adba6 100644 --- a/joj3_config_generator/models/repo.py +++ b/joj3_config_generator/models/repo.py @@ -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") diff --git a/joj3_config_generator/models/task.py b/joj3_config_generator/models/task.py index e3c06e9..847b8d4 100644 --- a/joj3_config_generator/models/task.py +++ b/joj3_config_generator/models/task.py @@ -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 diff --git a/tests/convert/basic/repo.toml b/tests/convert/basic/repo.toml index 3d13343..8c97ca2 100644 --- a/tests/convert/basic/repo.toml +++ b/tests/convert/basic/repo.toml @@ -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"] diff --git a/tests/convert/basic/task.toml b/tests/convert/basic/task.toml index 3a045fd..c76bcf6 100644 --- a/tests/convert/basic/task.toml +++ b/tests/convert/basic/task.toml @@ -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" diff --git a/tests/convert/clang-tidy/repo.toml b/tests/convert/clang-tidy/repo.toml index 2858724..5b8403f 100644 --- a/tests/convert/clang-tidy/repo.toml +++ b/tests/convert/clang-tidy/repo.toml @@ -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 diff --git a/tests/convert/clang-tidy/task.toml b/tests/convert/clang-tidy/task.toml index 7c3af22..8e833b3 100644 --- a/tests/convert/clang-tidy/task.toml +++ b/tests/convert/clang-tidy/task.toml @@ -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 diff --git a/tests/convert/cppcheck/repo.toml b/tests/convert/cppcheck/repo.toml index 2858724..5b8403f 100644 --- a/tests/convert/cppcheck/repo.toml +++ b/tests/convert/cppcheck/repo.toml @@ -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 diff --git a/tests/convert/cppcheck/task.toml b/tests/convert/cppcheck/task.toml index a060fcc..8b9cb69 100644 --- a/tests/convert/cppcheck/task.toml +++ b/tests/convert/cppcheck/task.toml @@ -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 diff --git a/tests/convert/cpplint/repo.toml b/tests/convert/cpplint/repo.toml index 2858724..5b8403f 100644 --- a/tests/convert/cpplint/repo.toml +++ b/tests/convert/cpplint/repo.toml @@ -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 diff --git a/tests/convert/cpplint/task.toml b/tests/convert/cpplint/task.toml index b2f0793..b1c03a2 100644 --- a/tests/convert/cpplint/task.toml +++ b/tests/convert/cpplint/task.toml @@ -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 diff --git a/tests/convert/diff/repo.toml b/tests/convert/diff/repo.toml index 2858724..5b8403f 100644 --- a/tests/convert/diff/repo.toml +++ b/tests/convert/diff/repo.toml @@ -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 diff --git a/tests/convert/diff/task.toml b/tests/convert/diff/task.toml index 2b9fcc9..f2f2d7d 100644 --- a/tests/convert/diff/task.toml +++ b/tests/convert/diff/task.toml @@ -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 diff --git a/tests/convert/elf/repo.toml b/tests/convert/elf/repo.toml index 2858724..5b8403f 100644 --- a/tests/convert/elf/repo.toml +++ b/tests/convert/elf/repo.toml @@ -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 diff --git a/tests/convert/elf/task.toml b/tests/convert/elf/task.toml index 545c83d..6d5e15c 100644 --- a/tests/convert/elf/task.toml +++ b/tests/convert/elf/task.toml @@ -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" diff --git a/tests/convert/keyword/repo.toml b/tests/convert/keyword/repo.toml index 2858724..5b8403f 100644 --- a/tests/convert/keyword/repo.toml +++ b/tests/convert/keyword/repo.toml @@ -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 diff --git a/tests/convert/keyword/task.toml b/tests/convert/keyword/task.toml index e35f213..32456f7 100644 --- a/tests/convert/keyword/task.toml +++ b/tests/convert/keyword/task.toml @@ -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 diff --git a/tests/convert/result-detail/repo.toml b/tests/convert/result-detail/repo.toml index 2858724..5b8403f 100644 --- a/tests/convert/result-detail/repo.toml +++ b/tests/convert/result-detail/repo.toml @@ -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 diff --git a/tests/convert/result-detail/task.toml b/tests/convert/result-detail/task.toml index 3f0eba4..a23e624 100644 --- a/tests/convert/result-detail/task.toml +++ b/tests/convert/result-detail/task.toml @@ -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 diff --git a/tests/convert/unnecessary/repo.toml b/tests/convert/unnecessary/repo.toml index 2858724..5b8403f 100644 --- a/tests/convert/unnecessary/repo.toml +++ b/tests/convert/unnecessary/repo.toml @@ -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 diff --git a/tests/convert/unnecessary/task.toml b/tests/convert/unnecessary/task.toml index 21534d1..48db423 100644 --- a/tests/convert/unnecessary/task.toml +++ b/tests/convert/unnecessary/task.toml @@ -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