json: Improve error reporting.
[sliver-openvswitch.git] / tests / json.at
index 54d4f8c..3096b26 100644 (file)
@@ -2,15 +2,19 @@ m4_define([JSON_CHECK_POSITIVE],
   [AT_SETUP([$1])
    AT_KEYWORDS([json positive])
    AT_CHECK([printf %s "AS_ESCAPE([$2])" > input])
-   OVS_CHECK_LCOV([test-json $4 input], [0], [$3
-], [])
+   AT_CAPTURE_FILE([input])
+   OVS_CHECK_LCOV([test-json $4 input], [0], [stdout], [])
+   AT_CHECK([cat stdout], [0], [$3
+])
    AT_CLEANUP])
 
 m4_define([JSON_CHECK_NEGATIVE], 
   [AT_SETUP([$1])
    AT_KEYWORDS([json negative])
    AT_CHECK([printf %s "AS_ESCAPE([$2])" > input])
-   OVS_CHECK_LCOV([test-json $4 input], [1], [$3
+   AT_CAPTURE_FILE([input])
+   OVS_CHECK_LCOV([test-json $4 input], [1], [stdout], [])
+   AT_CHECK([[sed 's/^error: [^:]*:/error:/' < stdout]], [0], [$3
 ])
    AT_CLEANUP])
 
@@ -72,7 +76,7 @@ JSON_CHECK_NEGATIVE([null bytes not allowed],
 AT_SETUP([end of input in quoted string])
 AT_KEYWORDS([json negative])
 AT_CHECK([printf '\"xxx' | test-json -], [1],
-  [error: unexpected end of input in quoted string
+  [error: line 0, column 4, byte 4: unexpected end of input in quoted string
 ])
 AT_CLEANUP
 
@@ -259,7 +263,7 @@ JSON_CHECK_NEGATIVE([objects nesting too deep],
 
 AT_SETUP([input may not be empty])
 AT_KEYWORDS([json negative])
-AT_CHECK([test-json /dev/null], [1], [error: empty input stream
+AT_CHECK([test-json /dev/null], [1], [error: line 0, column 0, byte 0: empty input stream
 ])
 AT_CLEANUP