Clone of official tools

Revision:
43:2a7da56ebd24
diff -r 2cf3f29fece1 -r 2a7da56ebd24 test_configs/__init__.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test_configs/__init__.py	Tue Sep 25 13:43:09 2018 -0500
@@ -0,0 +1,43 @@
+from os.path import dirname, abspath, join, exists
+
+from tools.utils import json_file_to_dict
+from tools.targets import TARGET_MAP
+from tools.config import Config
+
+CONFIG_DIR = dirname(abspath(__file__))
+CONFIG_MAP = json_file_to_dict(join(CONFIG_DIR, "config_paths.json"))
+TARGET_CONFIGS = json_file_to_dict(join(CONFIG_DIR, "target_configs.json"))
+
+def get_valid_configs(target_name):
+    if target_name in TARGET_CONFIGS:
+        target_config = TARGET_CONFIGS[target_name]
+    elif (target_name in TARGET_MAP and 'EMAC' in TARGET_MAP[target_name].device_has):
+        target_config = { "default_test_configuration": "ETHERNET", "test_configurations": ["ETHERNET"] }
+    else:
+        return {}
+
+    config_dict = {}
+    for attr in CONFIG_MAP:
+        if attr in target_config['test_configurations']:
+            config_dict[attr] = CONFIG_MAP[attr]
+    return config_dict
+
+def get_config_path(conf_name, target_name):
+    configs = get_valid_configs(target_name)
+    if configs and conf_name.upper() in configs:
+        return join(CONFIG_DIR, configs[conf_name.upper()])
+    else:
+        return None
+
+def get_default_config(source_dir, target_name):
+    if target_name in TARGET_CONFIGS:
+        config_name = TARGET_CONFIGS[target_name]['default_test_configuration']
+        if config_name == "NONE":
+            return None
+        return join(CONFIG_DIR, CONFIG_MAP[config_name])
+    elif Config.find_app_config(source_dir):
+        return None
+    elif (target_name in TARGET_MAP and 'EMAC' in TARGET_MAP[target_name].device_has):
+        return join(CONFIG_DIR, CONFIG_MAP["ETHERNET"])
+    else:
+        return None