1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-06 10:51:13 +01:00

Improved _resolve_params_alias

This commit is contained in:
Sebastian Goscik 2016-09-20 15:51:32 +01:00
parent 46fe4a1140
commit 49576e5701
2 changed files with 9 additions and 7 deletions

View File

@ -129,10 +129,12 @@ def _collect_valid_id(entry_id, seen_ids, entry_type):
def _resolve_params_alias(entry, param_alias):
if "params" in entry:
if param_alias in entry:
raise ConfigError(DUPLICATE_ENTRY_ERROR.format(["params", param_alias]))
entry[param_alias] = entry.pop("params")
possible_names = {"params", "{}_params".format(param_alias), "{}_parameters".format(param_alias)}
duplicate_entries = possible_names.intersection(set(entry.keys()))
if len(duplicate_entries) > 1:
raise ConfigError(DUPLICATE_ENTRY_ERROR.format(list(possible_names)))
for name in duplicate_entries:
entry["{}_parameters".format(param_alias)] = entry.pop(name)
def _get_workload_entry(workload):
@ -145,7 +147,7 @@ def _get_workload_entry(workload):
def _process_workload_entry(workload, seen_workload_ids, jobs_config):
workload = _get_workload_entry(workload)
_resolve_params_alias(workload, "workload_params")
_resolve_params_alias(workload, "workload")
workload = _construct_valid_entry(workload, seen_workload_ids, "wk", jobs_config)
return workload

View File

@ -115,11 +115,11 @@ class TestFunctions(TestCase):
def test_resolve_params_alias(self):
test = {"params": "some_value"}
_resolve_params_alias(test, "new_name")
assert_equal(test, {"new_name": "some_value"})
assert_equal(test, {"new_name_parameters": "some_value"})
# Test it only affects "params"
_resolve_params_alias(test, "new_name")
assert_equal(test, {"new_name": "some_value"})
assert_equal(test, {"new_name_parameters": "some_value"})
test["params"] = "some_other_value"
with self.assertRaises(ConfigError):