tests: Make test-vconn build and pass tests without OpenSSL.
[sliver-openvswitch.git] / tests / json.at
index 54d4f8c..371bf2d 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
 
@@ -154,6 +158,14 @@ JSON_CHECK_POSITIVE(
   [scientific notation],
   [[[1e3, 1E3, 2.5E2, 1e+3, 125e-3, 3.125e-2, 3125e-05, 1.525878906e-5]]],
   [[[1000,1000,250,1000,0.125,0.03125,0.03125,1.525878906e-05]]])
+# It seems likely that the following test will fail on some system that
+# rounds slightly differently in arithmetic or in printf, but I'd like
+# to keep it this way until we run into such a system.
+JSON_CHECK_POSITIVE(
+  [+/- DBL_MAX],
+  [[[1.7976931348623157e+308, -1.7976931348623157e+308]]],
+  [[[1.79769313486232e+308,-1.79769313486232e+308]]])
+
 JSON_CHECK_POSITIVE(
   [negative reals], 
   [[[-0, -1.0, -2.0, -3.0, -3.5, -8.1250]]],
@@ -259,7 +271,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