Skip to content

Commit 87dba7b

Browse files
Add src check to submission checker
1 parent 81d74ae commit 87dba7b

File tree

3 files changed

+31
-7
lines changed

3 files changed

+31
-7
lines changed

tools/submission/submission_checker/checks/measurements_checks.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,25 @@
77

88

99
class MeasurementsCheck(BaseCheck):
10-
def __init__(self, log, path, config: Config, submission_logs: SubmissionLogs):
10+
def __init__(self, log, path, config: Config,
11+
submission_logs: SubmissionLogs):
1112
super().__init__(log, path)
1213
self.name = "measurement checks"
1314
self.submission_logs = submission_logs
1415
self.measurements_json = self.submission_logs.measurements_json
1516
self.submitter = self.submission_logs.loader_data.get("submitter", "")
1617
self.division = self.submission_logs.loader_data.get("division", "")
17-
self.measurements_dir = self.submission_logs.loader_data.get("measurements_dir", "")
18+
self.measurements_dir = self.submission_logs.loader_data.get(
19+
"measurements_dir", "")
20+
self.src_dir = self.submission_logs.loader_data.get("src_path", "")
1821
self.config = config
1922
self.setup_checks()
2023

2124
def setup_checks(self):
2225
self.checks.append(self.missing_check)
26+
self.checks.append(self.directory_exist_check)
2327
self.checks.append(self.required_files_check)
2428
self.checks.append(self.required_fields_check)
25-
2629

2730
def missing_check(self):
2831
if self.measurements_json is None:
@@ -32,7 +35,16 @@ def missing_check(self):
3235
)
3336
return False
3437
return True
35-
38+
39+
def directory_exist_check(self):
40+
if not os.path.exists(self.src_dir):
41+
self.log.error(
42+
"%s src directory does not exist",
43+
self.src_dir
44+
)
45+
return False
46+
return True
47+
3648
def required_files_check(self):
3749
is_valid = True
3850
files = list_files(self.measurements_dir)
@@ -43,7 +55,10 @@ def required_files_check(self):
4355
elif not self.config.skip_empty_files_check and (
4456
os.stat(os.path.join(self.measurements_dir, i)).st_size == 0
4557
):
46-
self.log.error("%s is having empty %s", self.measurements_dir, i)
58+
self.log.error(
59+
"%s is having empty %s",
60+
self.measurements_dir,
61+
i)
4762
is_valid = False
4863
return is_valid
4964

@@ -58,4 +73,4 @@ def required_fields_check(self):
5873
is_valid = False
5974
self.log.error(
6075
"%s, field %s is missing meaningful value", self.path, k)
61-
return is_valid
76+
return is_valid

tools/submission/submission_checker/constants.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1578,3 +1578,10 @@
15781578
"v6.0": "{division}/{submitter}/systems/{system}.json",
15791579
"default": "{division}/{submitter}/systems/{system}.json",
15801580
}
1581+
1582+
SRC_PATH = {
1583+
"v5.0": "{division}/{submitter}/code",
1584+
"v5.1": "{division}/{submitter}/code",
1585+
"v6.0": "{division}/{submitter}/src",
1586+
"default": "{division}/{submitter}/src",
1587+
}

tools/submission/submission_checker/loader.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def __init__(self, root, version) -> None:
4343
self.test04_acc_path = os.path.join(self.root, TEST04_ACC_PATH.get(version, TEST04_ACC_PATH["default"]))
4444
self.test06_acc_path = os.path.join(self.root, TEST06_ACC_PATH.get(version, TEST06_ACC_PATH["default"]))
4545
self.power_dir_path = os.path.join(self.root, POWER_DIR_PATH.get(version, POWER_DIR_PATH["default"]))
46-
46+
self.src_path = os.path.join(self.root, SRC_PATH.get(version, SRC_PATH["default"]))
4747

4848

4949
def get_measurement_path(self, path, division, submitter, system, benchmark, scenario):
@@ -116,6 +116,7 @@ def load(self) -> Generator[SubmissionLogs, None, None]:
116116
test04_perf_path = self.test04_perf_path.format(division = division, submitter = submitter, system = system, benchmark = benchmark, scenario = scenario)
117117
test04_acc_path = self.test04_acc_path.format(division = division, submitter = submitter, system = system, benchmark = benchmark, scenario = scenario)
118118
test06_acc_path = self.test06_acc_path.format(division = division, submitter = submitter, system = system, benchmark = benchmark, scenario = scenario)
119+
src_path = self.src_path.format(division = division, submitter = submitter)
119120

120121
# Load logs
121122
perf_log = self.load_single_log(perf_path, "Performance")
@@ -147,6 +148,7 @@ def load(self) -> Generator[SubmissionLogs, None, None]:
147148
"compliance_path": compliance_path,
148149
"model_mapping": model_mapping,
149150
"power_dir_path": power_dir_path,
151+
"src_path": src_path,
150152
# Test paths
151153
"TEST01_perf_path": test01_perf_path,
152154
"TEST01_acc_path": test01_acc_path,

0 commit comments

Comments
 (0)