| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- from check_index import *
- def check_objects(o):
- assert is_list(o)
- assert len(o) == 1
- check_index_object(o[0], "cmakeFiles", 1, 1, check_object_cmakeFiles)
- def check_input(actual, expected):
- assert is_dict(actual)
- expected_keys = ["path"]
- if expected["isGenerated"] is not None:
- expected_keys.append("isGenerated")
- assert is_bool(actual["isGenerated"], expected["isGenerated"])
- if expected["isExternal"] is not None:
- expected_keys.append("isExternal")
- assert is_bool(actual["isExternal"], expected["isExternal"])
- if expected["isCMake"] is not None:
- expected_keys.append("isCMake")
- assert is_bool(actual["isCMake"], expected["isCMake"])
- assert sorted(actual.keys()) == sorted(expected_keys)
- def check_glob_dependent(actual, expected):
- assert is_dict(actual)
- if "followSymlinks" in expected:
- assert is_bool(actual["followSymlinks"], expected["followSymlinks"])
- if "listDirectories" in expected:
- assert is_bool(actual["listDirectories"], expected["listDirectories"])
- if "recurse" in expected:
- assert is_bool(actual["recurse"], expected["recurse"])
- if "relative" in expected:
- assert matches(actual["relative"], expected["relative"])
- check_list_match(lambda a, e: matches(a, e), actual["paths"], expected["paths"], allow_extra=True)
- assert sorted(actual.keys()) == sorted(expected.keys())
- def check_object_cmakeFiles(o):
- assert sorted(o.keys()) == ["globsDependent", "inputs", "kind", "paths", "version"]
- # The "kind" and "version" members are handled by check_index_object.
- assert is_dict(o["paths"])
- assert sorted(o["paths"].keys()) == ["build", "source"]
- assert matches(o["paths"]["build"], "^.*/Tests/RunCMake/FileAPI/cmakeFiles-v1-build$")
- assert matches(o["paths"]["source"], "^.*/Tests/RunCMake/FileAPI$")
- expected = [
- {
- "path": "^CMakeLists\\.txt$",
- "isGenerated": None,
- "isExternal": None,
- "isCMake": None,
- },
- {
- "path": "^cmakeFiles-v1\\.cmake$",
- "isGenerated": None,
- "isExternal": None,
- "isCMake": None,
- },
- {
- "path": "^dir/CMakeLists\\.txt$",
- "isGenerated": None,
- "isExternal": None,
- "isCMake": None,
- },
- {
- "path": "^dir/dir/CMakeLists\\.txt$",
- "isGenerated": None,
- "isExternal": None,
- "isCMake": None,
- },
- {
- "path": "^dir/dirtest\\.cmake$",
- "isGenerated": None,
- "isExternal": None,
- "isCMake": None,
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPIDummyFile\\.cmake$",
- "isGenerated": None,
- "isExternal": True,
- "isCMake": None,
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/cmakeFiles-v1-build/generated\\.cmake",
- "isGenerated": True,
- "isExternal": None,
- "isCMake": None,
- },
- {
- "path": "^.*/Modules/CMakeParseArguments\\.cmake$",
- "isGenerated": None,
- "isExternal": True,
- "isCMake": True,
- },
- ]
- expected_globs = [
- {
- "expression": "^.*/Tests/RunCMake/FileAPI/dir/\\*$",
- "paths": [
- "^.*/Tests/RunCMake/FileAPI/dir/dir$",
- "^.*/Tests/RunCMake/FileAPI/dir/dirtest\\.cmake$"
- ],
- "listDirectories": True,
- },
- {
- "expression": "^.*/Tests/RunCMake/FileAPI/dir/\\*\\.cmake$",
- "paths": [
- "^dir/dirtest\\.cmake$"
- ],
- "followSymlinks": True,
- "recurse": True,
- "relative": "^.*/Tests/RunCMake/FileAPI$"
- }
- ]
- inSource = os.path.dirname(o["paths"]["build"]) == o["paths"]["source"]
- if inSource:
- for e in expected:
- e["path"] = e["path"].replace("^.*/Tests/RunCMake/FileAPI/", "^", 1)
- check_list_match(lambda a, e: matches(a["path"], e["path"]), o["inputs"], expected, check=check_input, allow_extra=True)
- check_list_match(lambda a, e: matches(a["expression"], e["expression"]), o["globsDependent"], expected_globs, check=check_glob_dependent, allow_extra=True)
- assert is_dict(index)
- assert sorted(index.keys()) == ["cmake", "objects", "reply"]
- check_objects(index["objects"])
|