diff --git a/joj3_config_generator/main.py b/joj3_config_generator/main.py index 001476e..09018d0 100644 --- a/joj3_config_generator/main.py +++ b/joj3_config_generator/main.py @@ -63,9 +63,9 @@ def convert(root: Path = Path(".")) -> result.Config: task_toml = task_file.read() repo_obj = rtoml.loads(repo_toml) task_obj = rtoml.loads(task_toml) - result_model = convert_conf(Repo(**repo_obj), Task(**task_obj)) + result_model = convert_conf(repo.Config(**repo_obj), task.Config(**task_obj)) + result_model = remove_nulls(result_model) result_dict = result_model.model_dump(by_alias=True) - result_dict = remove_nulls(result_dict) with open(result_json_path, "w") as result_file: json.dump(result_dict, result_file, ensure_ascii=False, indent=4) diff --git a/tests/convert/basic/task.json b/tests/convert/basic/task.json index 9d67b24..1603820 100644 --- a/tests/convert/basic/task.json +++ b/tests/convert/basic/task.json @@ -27,22 +27,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 4096, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4096, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -58,7 +70,11 @@ "copyIn": { "./repo-health-checker": { "src": "./repo-health-checker", + "content": null, + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -90,6 +106,7 @@ }, { "name": "Abuse of strings detected", + "group": null, "executor": { "name": "sandbox", "with": { @@ -102,22 +119,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -133,7 +162,11 @@ "copyIn": { "tools/strdetec": { "src": "/home/tt/.config/joj/tools/strdetec", + "content": null, + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -168,6 +201,7 @@ }, { "name": "Compilation", + "group": null, "executor": { "name": "sandbox", "with": { @@ -179,22 +213,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -210,7 +256,11 @@ "copyIn": { "tools/compile": { "src": "/home/tt/.config/joj/tools/compile", + "content": null, + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -272,6 +322,7 @@ }, { "name": "[cq] Filelength", + "group": null, "executor": { "name": "sandbox", "with": { @@ -287,22 +338,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -318,7 +381,11 @@ "copyIn": { "tools/filelength": { "src": "/home/tt/.config/joj/tools/filelength", + "content": null, + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -385,6 +452,7 @@ }, { "name": "[cq] Clang-tidy", + "group": null, "executor": { "name": "sandbox", "with": { @@ -401,22 +469,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 65000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -432,7 +512,11 @@ "copyIn": { "projects/p2/.clang-tidy": { "src": "/home/tt/.config/joj/projects/p2/.clang-tidy", + "content": null, + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -525,6 +609,7 @@ }, { "name": "[cq] Cppcheck", + "group": null, "executor": { "name": "sandbox", "with": { @@ -542,22 +627,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 65000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -633,6 +730,7 @@ }, { "name": "[cq] Cpplint", + "group": null, "executor": { "name": "sandbox", "with": { @@ -649,22 +747,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 65000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -746,6 +856,7 @@ }, { "name": "[run] onecard", + "group": null, "executor": { "name": "sandbox", "with": { @@ -758,22 +869,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -827,6 +950,7 @@ }, { "name": "[run] address sanitizer", + "group": null, "executor": { "name": "sandbox", "with": { @@ -839,22 +963,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -908,6 +1044,7 @@ }, { "name": "[run] memory sanitizer", + "group": null, "executor": { "name": "sandbox", "with": { @@ -920,22 +1057,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false @@ -989,6 +1138,7 @@ }, { "name": "[run] undefined behavior sanitizer", + "group": null, "executor": { "name": "sandbox", "with": { @@ -1001,22 +1151,34 @@ "PATH=/usr/bin:/bin:/usr/local/bin" ], "stdin": { + "src": null, "content": "", + "fileId": null, + "name": null, "max": 4194304, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stdout": { + "src": null, + "content": null, + "fileId": null, "name": "stdout", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false }, "stderr": { + "src": null, + "content": null, + "fileId": null, "name": "stderr", "max": 4000000000, + "symlink": null, "streamIn": false, "streamOut": false, "pipe": false diff --git a/tests/convert/test_convert_cases.py b/tests/convert/test_convert_cases.py index 1a3392a..c3ac6cb 100644 --- a/tests/convert/test_convert_cases.py +++ b/tests/convert/test_convert_cases.py @@ -3,3 +3,5 @@ from tests.convert.utils import load_case def test_basic() -> None: load_case("basic") + +test_basic() \ No newline at end of file diff --git a/tests/convert/utils.py b/tests/convert/utils.py index 8a2c3f1..0d7e395 100644 --- a/tests/convert/utils.py +++ b/tests/convert/utils.py @@ -29,5 +29,5 @@ def read_convert_files( def load_case(case_name: str) -> None: repo, task, expected_result = read_convert_files(case_name) result = convert(repo, task).model_dump(mode="json", by_alias=True) - + assert result == expected_result