# # Copyright 2019 Free Software Foundation, Inc. # # This file is part of GNU Radio # # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU Radio is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Radio; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. # """ testing the JSON files generated by gr-blocktool """ from __future__ import print_function from __future__ import absolute_import from __future__ import unicode_literals import sys import json import jsonschema from blocktool import RESULT_SCHEMA def is_valid(): """ Validate json file """ with open(sys.argv[1], 'r') as json_file: data = json.load(json_file) try: print("Validating...") jsonschema.validate(data, RESULT_SCHEMA) except jsonschema.ValidationError as exception: print("Record JSON file # {}: NOT OK".format(sys.argv[1])) raise Exception(exception) else: print("Record JSON file # {}: OK".format(sys.argv[1])) if __name__ == '__main__': if len(sys.argv) == 2: is_valid() else: raise Exception('Please input only one json file')