tests: Skip "strings at least 2 characters long" test for narrow Python.
authorBen Pfaff <blp@nicira.com>
Mon, 12 Mar 2012 21:46:56 +0000 (14:46 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 12 Mar 2012 21:46:56 +0000 (14:46 -0700)
Narrow Python can't handle Unicode characters outside the BMP, so skip the
test.

Reported-by: Michael Shigorin <mike@osdn.org.ua>
Tested-by: Michael Shigorin <mike@osdn.org.ua>
Signed-off-by: Ben Pfaff <blp@nicira.com>
AUTHORS
tests/ovsdb-data.at
tests/ovsdb.at

diff --git a/AUTHORS b/AUTHORS
index ada40585b616f3d75fdd5673262d6e23b7ca52d9..61c5a5f74e184e14565371f0500fefb87f38439f 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -113,6 +113,7 @@ Luiz Henrique Ozaki     luiz.ozaki@gmail.com
 Michael A. Collins      mike.a.collins@ark-net.org
 Michael Hu              mhu@nicira.com
 Michael Mao             mmao@nicira.com
+Michael Shigorin        mike@osdn.org.ua
 Mike Bursell            mike.bursell@citrix.com
 Mike Kruze              mkruze@nicira.com
 Murphy McCauley         murphy.mccauley@gmail.com
index b74e682176e38caba7b8daa78aed048536f262bc..51d32e7317351517f127db3b9accf3bd1c150b08 100644 (file)
@@ -466,7 +466,12 @@ OVSDB_CHECK_POSITIVE_CPY([strings at least 2 characters long],
 constraint violation: "a" length 1 is less than minimum allowed length 2
 "ab"
 "abc"
-constraint violation: "𝄞" length 1 is less than minimum allowed length 2]])
+constraint violation: "𝄞" length 1 is less than minimum allowed length 2]],
+  [],
+  [],
+  [dnl This test requires a wide build of Python.
+   AT_CHECK([$PYTHON -c 'unichr(0x10000)' || exit 77],
+            [0], [ignore], [ignore])])
 
 OVSDB_CHECK_POSITIVE_CPY([strings no more than 2 characters long],
   [[parse-atoms '{"type": "string", "maxLength": 2}' \
index 1620f695a8c9867af67d0aac65fc771e72f524b0..3e9918ab4a024414b5dae7562f7b76f7ff226ca7 100644 (file)
@@ -12,26 +12,26 @@ m4_define([OVSDB_CHECK_POSITIVE],
    AT_CLEANUP])
 
 # OVSDB_CHECK_POSITIVE_PY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ],
-#                         [XFAIL])
+#                         [PY-CHECK])
 #
 # Runs "test-ovsdb.py TEST-OVSDB-ARGS" and checks that it exits with
 # status 0 and prints OUTPUT on stdout.
 #
-# If XFAIL is nonempty then the test is expected to fail (presumably because
-# this test works in the C implementation but does not work in Python yet)
+# PY-CHECK is expanded before the check.  It can check for features of the
+# Python implementation that are required for the test to pass.
 #
 # TITLE is provided to AT_SETUP and KEYWORDS to AT_KEYWORDS.
 m4_define([OVSDB_CHECK_POSITIVE_PY], 
   [AT_SETUP([$1])
    AT_SKIP_IF([test $HAVE_PYTHON = no])
-   m4_if([$6], [], [], [AT_XFAIL_IF([:])])
+   $6
    AT_KEYWORDS([ovsdb positive Python $4])
    AT_CHECK([$PYTHON $srcdir/test-ovsdb.py $2], [0], [$3
 ], [])
    AT_CLEANUP])
 
 # OVSDB_CHECK_POSITIVE_CPY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS],
-#                          [PREREQ], [PY-XFAIL])
+#                          [PREREQ], [PY-CHECK])
 #
 # Runs identical C and Python tests, as specified.
 m4_define([OVSDB_CHECK_POSITIVE_CPY],