summaryrefslogtreecommitdiff
path: root/tests/json.at
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2019-09-20 08:30:42 -0700
committerBen Pfaff <blp@ovn.org>2019-09-27 09:23:50 -0700
commit1ca0323e7c29dc7ef5a615c265df0460208f92de (patch)
tree377630fee2130b269cfe2fd348c9e8c6bc5a814a /tests/json.at
parent187bb41fbf447acf9fb6ac117dc923bbe649e78c (diff)
downloadopenvswitch-1ca0323e7c29dc7ef5a615c265df0460208f92de.tar.gz
Require Python 3 and remove support for Python 2.
Python 2 reaches end-of-life on January 1, 2020, which is only a few months away. This means that OVS needs to stop depending on in the next release that should occur roughly that same time. Therefore, this commit removes all support for Python 2. It also makes Python 3 a mandatory build dependency. Some of the interesting consequences: - HAVE_PYTHON, HAVE_PYTHON2, and HAVE_PYTHON3 conditionals have been removed, since we now know that Python3 is available. - $PYTHON and $PYTHON2 are removed, and $PYTHON3 is always available. - Many tests for Python 2 support have been removed, and the ones that depended on Python 3 now run unconditionally. This allowed several macros in the testsuite to be removed, making the code clearer. This does make some of the changes to the testsuite files large due to indentation level changes. - #! lines for Python now use /usr/bin/python3 instead of /usr/bin/python. - Packaging depends on Python 3 packages. Acked-by: Numan Siddique <nusiddiq@redhat.com> Tested-by: Numan Siddique <nusiddiq@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'tests/json.at')
-rw-r--r--tests/json.at57
1 files changed, 8 insertions, 49 deletions
diff --git a/tests/json.at b/tests/json.at
index bfe0f1967..527ce8e64 100644
--- a/tests/json.at
+++ b/tests/json.at
@@ -8,45 +8,21 @@ m4_define([JSON_CHECK_POSITIVE_C],
])
AT_CLEANUP])
-# JSON_CHECK_POSITIVE_PY(TITLE, INPUT, OUTPUT, TEST-JSON-ARGS,
-# PYTHON-CHCEK, PYTHON-BIN)
+# JSON_CHECK_POSITIVE_PY(TITLE, INPUT, OUTPUT, TEST-JSON-ARGS)
#
m4_define([JSON_CHECK_POSITIVE_PY],
[AT_SETUP([$1])
AT_KEYWORDS([json positive Python])
- AT_SKIP_IF([test $5 = no])
AT_CHECK([printf %s "AS_ESCAPE([$2])" > input])
AT_CAPTURE_FILE([input])
- AT_CHECK([$6 $srcdir/test-json.py $4 input], [0], [stdout], [])
- AT_CHECK([cat stdout], [0], [$3
-])
- AT_CLEANUP])
-
-m4_define([JSON_CHECK_POSITIVE_UCS4PY],
- [AT_SETUP([$1])
- AT_KEYWORDS([json positive Python])
- AT_SKIP_IF([test $HAVE_PYTHON2 = no])
- AT_XFAIL_IF([test $HAVE_PYTHON2 = yes &&
- $PYTHON2 -c "exit(len(u'\U00010800'))"; test $? -ne 1])
- AT_CHECK([printf %s "AS_ESCAPE([$2])" > input])
- AT_CAPTURE_FILE([input])
- AT_CHECK([$PYTHON2 $srcdir/test-json.py $4 input], [0], [stdout], [])
+ AT_CHECK([$PYTHON3 $srcdir/test-json.py $4 input], [0], [stdout], [])
AT_CHECK([cat stdout], [0], [$3
])
AT_CLEANUP])
m4_define([JSON_CHECK_POSITIVE],
[JSON_CHECK_POSITIVE_C([$1 - C], [$2], [$3], [$4])
- JSON_CHECK_POSITIVE_PY([$1 - Python2], [$2], [$3], [$4],
- [$HAVE_PYTHON2], [$PYTHON2])
- JSON_CHECK_POSITIVE_PY([$1 - Python3], [$2], [$3], [$4],
- [$HAVE_PYTHON3], [$PYTHON3])])
-
-m4_define([JSON_CHECK_POSITIVE_PY23],
- [JSON_CHECK_POSITIVE_PY([$1 - Python2], [$2], [$3], [$4],
- [$HAVE_PYTHON2], [$PYTHON2])
- JSON_CHECK_POSITIVE_PY([$1 - Python3], [$2], [$3], [$4],
- [$HAVE_PYTHON3], [$PYTHON3])])
+ JSON_CHECK_POSITIVE_PY([$1 - Python3], [$2], [$3], [$4])])
m4_define([JSON_CHECK_NEGATIVE_C],
[AT_SETUP([$1])
@@ -58,26 +34,21 @@ m4_define([JSON_CHECK_NEGATIVE_C],
])
AT_CLEANUP])
-# JSON_CHECK_NEGATIVE_PY(TITLE, INPUT, OUTPUT, TEST-JSON-ARGS,
-# PYTHON-CHCEK, PYTHON-BIN)
+# JSON_CHECK_NEGATIVE_PY(TITLE, INPUT, OUTPUT, TEST-JSON-ARGS)
#
m4_define([JSON_CHECK_NEGATIVE_PY],
[AT_SETUP([$1])
AT_KEYWORDS([json negative Python])
- AT_SKIP_IF([test $5 = no])
AT_CHECK([printf %s "AS_ESCAPE([$2])" > input])
AT_CAPTURE_FILE([input])
- AT_CHECK([$6 $srcdir/test-json.py $4 input], [1], [stdout], [])
+ AT_CHECK([$PYTHON3 $srcdir/test-json.py $4 input], [1], [stdout], [])
AT_CHECK([[sed 's/^error: [^:]*:/error:/' < stdout]], [0], [$3
])
AT_CLEANUP])
m4_define([JSON_CHECK_NEGATIVE],
[JSON_CHECK_NEGATIVE_C([$1 - C], [$2], [$3], [$4])
- JSON_CHECK_NEGATIVE_PY([$1 - Python2], [$2], [$3], [$4],
- [$HAVE_PYTHON2], [$PYTHON2])
- JSON_CHECK_NEGATIVE_PY([$1 - Python3], [$2], [$3], [$4],
- [$HAVE_PYTHON3], [$PYTHON3])])
+ JSON_CHECK_NEGATIVE_PY([$1 - Python3], [$2], [$3], [$4])])
AT_BANNER([JSON -- arrays])
@@ -109,9 +80,6 @@ JSON_CHECK_POSITIVE([Unicode escape sequences],
JSON_CHECK_POSITIVE_C([surrogate pairs - C],
[[["\ud834\udd1e"]]],
[[["𝄞"]]])
-JSON_CHECK_POSITIVE_UCS4PY([surrogate pairs - Python],
- [[["\ud834\udd1e"]]],
- [[["𝄞"]]])
JSON_CHECK_NEGATIVE([a string by itself is not valid JSON], ["xxx"],
[error: syntax error at beginning of input])
JSON_CHECK_NEGATIVE([end of line in quoted string],
@@ -154,15 +122,6 @@ AT_CHECK([printf '"xxx' | ovstest test-json -], [1],
])
AT_CLEANUP
-AT_SETUP([end of input in quoted string - Python])
-AT_KEYWORDS([json negative Python])
-AT_SKIP_IF([test $HAVE_PYTHON2 = no])
-AT_CHECK([printf '"xxx' > input
-$PYTHON2 $srcdir/test-json.py input], [1],
- [error: line 0, column 4, byte 4: unexpected end of input in quoted string
-])
-AT_CLEANUP
-
AT_BANNER([JSON -- objects])
JSON_CHECK_POSITIVE([empty object], [[{ }]], [[{}]])
@@ -227,7 +186,7 @@ JSON_CHECK_POSITIVE_C(
[C - large integers that overflow to reals],
[[[9223372036854775807000, -92233720368547758080000]]],
[[[9.22337203685478e+21,-9.22337203685478e+22]]])
-JSON_CHECK_POSITIVE_PY23(
+JSON_CHECK_POSITIVE_PY(
[large integers that overflow to reals],
[[[9223372036854775807000, -92233720368547758080000]]],
[[[9.223372036854776e+21,-9.223372036854776e+22]]])
@@ -252,7 +211,7 @@ JSON_CHECK_POSITIVE_C(
[C - +/- DBL_MAX],
[[[1.7976931348623157e+308, -1.7976931348623157e+308]]],
[[[1.79769313486232e+308,-1.79769313486232e+308]]])
-JSON_CHECK_POSITIVE_PY23(
+JSON_CHECK_POSITIVE_PY(
[+/- DBL_MAX],
[[[1.7976931348623157e+308, -1.7976931348623157e+308]]],
[[[1.7976931348623157e+308,-1.7976931348623157e+308]]])