diff options
author | Jared Wasinger <j-wasinger@hotmail.com> | 2017-07-05 06:57:06 +0800 |
---|---|---|
committer | Ubuntu <ubuntu@ip-172-31-32-43.us-west-2.compute.internal> | 2017-08-08 04:41:46 +0800 |
commit | 7378b9fa4e883484af856df99a65c28293613e98 (patch) | |
tree | 8df91e08d40c45c1930df5482c34a3f6f7f17656 /JSONSchema | |
parent | 6e8afe6563febbf3f54ab0702aba7056eca762f0 (diff) | |
download | tangerine-tests-7378b9fa4e883484af856df99a65c28293613e98.tar.gz tangerine-tests-7378b9fa4e883484af856df99a65c28293613e98.tar.zst tangerine-tests-7378b9fa4e883484af856df99a65c28293613e98.zip |
add schema validation with Travis integration.
Diffstat (limited to 'JSONSchema')
-rwxr-xr-x | JSONSchema/run.sh | 1 | ||||
-rw-r--r-- | JSONSchema/schema.json | 28 | ||||
-rwxr-xr-x | JSONSchema/validate.py | 30 |
3 files changed, 39 insertions, 20 deletions
diff --git a/JSONSchema/run.sh b/JSONSchema/run.sh deleted file mode 100755 index 0624037bb..000000000 --- a/JSONSchema/run.sh +++ /dev/null @@ -1 +0,0 @@ -echo -e "$(find ../GeneralStateTests -name '*.json' ! -path '../schema/*.json')" | node validate.js diff --git a/JSONSchema/schema.json b/JSONSchema/schema.json index 1ca91c03d..5ac5e7a71 100644 --- a/JSONSchema/schema.json +++ b/JSONSchema/schema.json @@ -22,9 +22,7 @@ "Metropolis": { "type": "array" } - }, - "additionalProperties": false - }, + } }, "explanation": { "type": "string" }, @@ -55,8 +53,7 @@ "type": "string", "pattern": "^0x[0-9a-f]*$" } - }, - "additionalProperties": false + } }, "pre": { "type": "object", @@ -80,12 +77,9 @@ "storage": { "type": "object" } - }, - "additionalProperties": false - }, - "additionalProperties": false - }, - "additionalProperties": false + } + } + } }, "transaction": { "type": "object", @@ -127,13 +121,9 @@ "pattern": "^0x[0-9a-f]*$" } } - }, - "additionalProperties": false + } } - }, - "additionalProperties": false - }, - "additionalProperties": false - }, - "additionalProperties": false + } + } + } } diff --git a/JSONSchema/validate.py b/JSONSchema/validate.py new file mode 100755 index 000000000..086abfa93 --- /dev/null +++ b/JSONSchema/validate.py @@ -0,0 +1,30 @@ +#! /bin/env python + +import glob, json, sys, jsonschema + +with open('JSONSchema/schema.json') as schema_data: + schema = json.load(schema_data) + +#for filename in glob.glob('GeneralStateTests/*.json'): +# print(filename) + +while True: + line = sys.stdin.readline() + if not line: + if success: + sys.exit(0) + else: + sys.exit(-1) + + line = line.strip('\n') + with open(line) as test_data: + test = json.load(test_data) + + try: + jsonschema.validate(test, schema) + except jsonschema.exceptions.ValidationError as e: + success = False + print(line+':\n\n') + print(e) + print('\n') + |