summaryrefslogtreecommitdiff
path: root/devtools/test_json_validity.py
blob: 959bfe8ce5ad9fa765a1c405cc82717778089885 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env python
#
# Christian Gagneraud - 2012
# Simple python script that will parse json dictionaries on its input,
# If it fails, it will print the offending line and an error message.
# The goal is to check that GPSD outputs valid JSON.
#
# This code runs compatibly under Python 2 and 3.x for x >= 2.
# Preserve this property!
from __future__ import absolute_import, print_function, division

import json
import sys

success = True
lc = 0
for line in sys.stdin.readlines():
    lc += 1
    try:
        # Load the json dictionary, it should raise an error if it is malformed
        item = json.loads(line)
    except ValueError as e:
        success = False
        print("%d: %s" % (lc, line.strip()))
        print("%d: %s" % (lc, e))

exit(0 if success else 1)