summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/FileAPI/codemodel-v2-check.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/RunCMake/FileAPI/codemodel-v2-check.py')
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-check.py26
1 files changed, 25 insertions, 1 deletions
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-check.py b/Tests/RunCMake/FileAPI/codemodel-v2-check.py
index 807d92b..cb90eba 100644
--- a/Tests/RunCMake/FileAPI/codemodel-v2-check.py
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-check.py
@@ -12,7 +12,7 @@ def read_codemodel_json_data(filename):
def check_objects(o, g):
assert is_list(o)
assert len(o) == 1
- check_index_object(o[0], "codemodel", 2, 6, check_object_codemodel(g))
+ check_index_object(o[0], "codemodel", 2, 7, check_object_codemodel(g))
def check_backtrace(t, b, backtrace):
btg = t["backtraceGraph"]
@@ -405,6 +405,27 @@ def check_target(c):
missing_exception=lambda e: "Install path: %s" % e["path"],
extra_exception=lambda a: "Install path: %s" % a["path"])
+ if "launchers" in expected:
+ if expected["launchers"] is not None:
+ expected_keys.append("launchers")
+ def check_launcher(actual, expected):
+ assert is_dict(actual)
+ launcher_keys = ["arguments", "command", "type"]
+ assert sorted(actual.keys()) == sorted(launcher_keys)
+ assert matches(actual["command"], expected["command"])
+ assert matches(actual["type"], expected["type"])
+ if expected["arguments"] is not None:
+ check_list_match(lambda a, e: matches(a, e),
+ actual["arguments"], expected["arguments"],
+ missing_exception=lambda e: "argument: %s" % e,
+ extra_exception=lambda a: "argument: %s" % actual["arguments"])
+ check_list_match(lambda a, e: matches(a["type"], e["type"]),
+ obj["launchers"], expected["launchers"],
+ check=check_launcher,
+ check_exception=lambda a, e: "launchers: %s" % a,
+ missing_exception=lambda e: "launchers: %s" % e,
+ extra_exception=lambda a: "launchers: %s" % a)
+
if expected["link"] is not None:
expected_keys.append("link")
assert is_dict(obj["link"])
@@ -709,6 +730,7 @@ def gen_check_directories(c, g):
read_codemodel_json_data("directories/alias.json"),
read_codemodel_json_data("directories/custom.json"),
read_codemodel_json_data("directories/cxx.json"),
+ read_codemodel_json_data("directories/cxx.cross.json"),
read_codemodel_json_data("directories/imported.json"),
read_codemodel_json_data("directories/interface.json"),
read_codemodel_json_data("directories/object.json"),
@@ -782,6 +804,8 @@ def gen_check_targets(c, g, inSource):
read_codemodel_json_data("targets/zero_check_cxx.json"),
read_codemodel_json_data("targets/cxx_lib.json"),
read_codemodel_json_data("targets/cxx_exe.json"),
+ read_codemodel_json_data("targets/cxx_exe_cross_emulator.json"),
+ read_codemodel_json_data("targets/cxx_exe_cross_emulator_args.json"),
read_codemodel_json_data("targets/cxx_standard_compile_feature_exe.json"),
read_codemodel_json_data("targets/cxx_standard_exe.json"),
read_codemodel_json_data("targets/cxx_shared_lib.json"),