summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CMakePresets/validate_schema.py
diff options
context:
space:
mode:
authorKyle Edwards <kyle.edwards@kitware.com>2020-10-14 18:45:13 (GMT)
committerKyle Edwards <kyle.edwards@kitware.com>2020-10-20 16:07:09 (GMT)
commite3bce8edf435c107dac719952145f68b11b30741 (patch)
treef4758333bf8683f6915f0d1982827d672053d708 /Tests/RunCMake/CMakePresets/validate_schema.py
parent0307f7c980a370ae5c8a7fc046a6df072a6fb0d4 (diff)
downloadCMake-e3bce8edf435c107dac719952145f68b11b30741.zip
CMake-e3bce8edf435c107dac719952145f68b11b30741.tar.gz
CMake-e3bce8edf435c107dac719952145f68b11b30741.tar.bz2
Tests: Add JSON schema validation to CMakePresets.json tests
Diffstat (limited to 'Tests/RunCMake/CMakePresets/validate_schema.py')
-rw-r--r--Tests/RunCMake/CMakePresets/validate_schema.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/Tests/RunCMake/CMakePresets/validate_schema.py b/Tests/RunCMake/CMakePresets/validate_schema.py
new file mode 100644
index 0000000..c9f84ee
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/validate_schema.py
@@ -0,0 +1,17 @@
+import jsmin
+import json
+import jsonschema
+import os.path
+import sys
+
+
+with open(sys.argv[1], "rb") as f:
+ contents = json.loads(jsmin.jsmin(f.read().decode("utf-8-sig")))
+
+schema_file = os.path.join(
+ os.path.dirname(__file__),
+ "..", "..", "..", "Help", "manual", "presets", "schema.json")
+with open(schema_file) as f:
+ schema = json.load(f)
+
+jsonschema.validate(contents, schema)