From patchwork Mon Oct 15 16:44:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 984275 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.b="l8cnqVDf"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42YkkJ3Wnzz9sDJ for ; Tue, 16 Oct 2018 03:42:16 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id E23A21C02; Mon, 15 Oct 2018 16:42:13 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 68B921BE7 for ; Mon, 15 Oct 2018 16:42:12 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 90327808 for ; Mon, 15 Oct 2018 16:42:09 +0000 (UTC) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20181015164207euoutp01340422f7c87150b736cdd4dbdf0f0432~d1c3DhffL0621406214euoutp01I; Mon, 15 Oct 2018 16:42:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20181015164207euoutp01340422f7c87150b736cdd4dbdf0f0432~d1c3DhffL0621406214euoutp01I DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1539621727; bh=yniFbHnLwlycyyo2obd9CEZEogUu0vm9lqB00+vg70k=; h=From:To:Cc:Subject:Date:References:From; b=l8cnqVDfk4OnaKMQBCrEL1tmeJs8khAKKqRIGv2AZt+mbOv9vpRWi1smZ6ztSI/zr Woh5dHzJJ65Pu7qAZp4i2s1tBcf9VTZ8sKTZJl1j4ectaPW3bfuE6tPmb8kLNEw/0P RNbg5JlbFHh0bKDRROo2PrZ7AJJo0RZko9bmGV+U= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20181015164206eucas1p154d26a1a773a92165ae8739065e633e3~d1c2izXYs3236732367eucas1p1f; Mon, 15 Oct 2018 16:42:06 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id A2.B2.04441.E53C4CB5; Mon, 15 Oct 2018 17:42:06 +0100 (BST) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20181015164205eucas1p2064b828e00e34be7fafbbc7b05f53ba9~d1c1yGWeK2602026020eucas1p2J; Mon, 15 Oct 2018 16:42:05 +0000 (GMT) X-AuditID: cbfec7f2-5c9ff70000001159-63-5bc4c35e9df6 Received: from eusync3.samsung.com ( [203.254.199.213]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 1C.BF.04284.D53C4CB5; Mon, 15 Oct 2018 17:42:05 +0100 (BST) Received: from imaximets.rnd.samsung.ru ([106.109.129.180]) by eusync3.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0PGN000D6FQ04J40@eusync3.samsung.com>; Mon, 15 Oct 2018 17:42:05 +0100 (BST) From: Ilya Maximets To: ovs-dev@openvswitch.org, Ben Pfaff Date: Mon, 15 Oct 2018 19:44:36 +0300 Message-id: <20181015164436.20588-1-i.maximets@samsung.com> X-Mailer: git-send-email 2.17.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprCIsWRmVeSWpSXmKPExsWy7djPc7pxh49EGxyYLG/xanIDo8WV9p/s Fs/ubWSxmPvpOaPFh8N97A6sHjtn3WX3eHbzP6PH82s9LB7v911l8+jbsooxgDWKyyYlNSez LLVI3y6BK+Nxw2WWgtb9TBW/Dy5laWC8/Y2xi5GTQ0LAROLXzy0sILaQwApGiSuHfboYuYDs z4wSR2/fZ4cpmrNmHhtEYhmjxO4Dz5khnGYmiQOPF4C1swnoSJxafQRsrAhQx7Kp39hAbGaB GokXR96C2cICVhK77raD2SwCqhINv5cC1XNw8ApYS7xZEAqxTF5i9YYDYPMlBO6yShy9cZ8N IuEi8aH9EyuELSzx6vgWqOtkJDo7DjJB2PUS91teMkI0dzBKTD/0DyphL7Hl9Tl2iIP4JCZt m84MslhCgFeio00IosRDomnlBVZIUMRKPD65gmkCo8QCRoZVjOKppcW56anFhnmp5XrFibnF pXnpesn5uZsYgXF1+t/xTzsYv15KOsQowMGoxMMrwHMkWog1say4MvcQowQHs5IIb88moBBv SmJlVWpRfnxRaU5q8SFGaQ4WJXHeZfM2RgsJpCeWpGanphakFsFkmTg4pRoYPcTnCy/2z9t3 qGrro+N66VETW9LniTwvbrwcJHmtxjTLvirrtbV512cr/sui9wVYjph/3n5Uzl2PRYt5zprn GnML+l92F/pULljzzGPDxYaTLrN+d1puWJjcM83/pcKGiqNFevE7Dj0xPfDF3Pvllcyaw7ZK rl8b1J/mZTt4TVDd/88uRLtaiaU4I9FQi7moOBEAmaYbO6cCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrOJMWRmVeSWpSXmKPExsVy+t/xq7qxh49EG9x/ZWnxanIDo8WV9p/s Fs/ubWSxmPvpOaPFh8N97A6sHjtn3WX3eHbzP6PH82s9LB7v911l8+jbsooxgDWKyyYlNSez LLVI3y6BK+Nxw2WWgtb9TBW/Dy5laWC8/Y2xi5GTQ0LARGLOmnlsXYxcHEICSxglTl/fygLh tDJJnNo7iRmkik1AR+LU6iNgHSJAHcumfmMDsZkF6iR610xlArGFBawkdt1tB4uzCKhKNPxe ClTPwcErYC3xZkEoxDJ5idUbDjBPYORawMiwilEktbQ4Nz232FCvODG3uDQvXS85P3cTI9D7 24793LyD8dLG4EOMAhyMSjy8AjxHooVYE8uKK3MPMUpwMCuJ8PZsAgrxpiRWVqUW5ccXleak Fh9ilOZgURLnPW9QGSUkkJ5YkpqdmlqQWgSTZeLglGpg7Nm6IDpznpSA8MmZmetk7NR4hYuD /wu/FpLerl4+5au+8RyjllXGoo8b3RkS64O+bu19UR374LJH+ZxALt7cCZtVb/w6L34rzpvh fL3nymlfXfZp/fk51anh7ueHnPErQ6JD+z/eY265NGP2o9fdzfvnn347Nfq5LZfMlP2rVWyy vh14cLS6RImlOCPRUIu5qDgRAPWUSIr6AQAA X-CMS-MailID: 20181015164205eucas1p2064b828e00e34be7fafbbc7b05f53ba9 X-Msg-Generator: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181015164205eucas1p2064b828e00e34be7fafbbc7b05f53ba9 References: X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Ilya Maximets Subject: [ovs-dev] [PATCH] Revert "Test the Python C JSON extension" X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org This reverts commit a7be68a4d77791bbe02c37f7ad8ae60b02e5679e and a subsequent commit 4617d1f6bd24c543f533f6485b42ebca6b0a8371. There are too many issues with these patches. It's better to revert them for now and make a separate fixed versions later if needed. List of issues (maybe not full): 1. 'make clean' removes entire 'python' directory. 2. Fully broken Travis-CI testsuite build: building 'ovs._json' extension creating build/temp.linux-x86_64-2.7 error: could not create 'build/temp.linux-x86_64-2.7': \ Permission denied https://travis-ci.org/openvswitch/ovs/jobs/440693765 3. Broken local testsuite build on Ubuntu 18.04: running build_ext building 'ovs._json' extension creating build/temp.linux-x86_64-3.6 creating build/temp.linux-x86_64-3.6/ovs <...> /usr/bin/ld: .libs/libopenvswitch.a(util.o): \ relocation R_X86_64_TPOFF32 against `var.7749' can not be \ used when making a shared object; recompile with -fPIC <...> collect2: error: ld returned 1 exit status 4. Fedora build failure because of 'setuptools' ('distutils') hard dependency on 'redhat-rpm-config' package: building 'ovs._json' extension <...> gcc: error: <...>/redhat-hardened-cc1: No such file or directory 5. Looks like 'setuptools' also could download and install unwanted python modules during package build. Signed-off-by: Ilya Maximets --- python/automake.mk | 11 ---- python/ovs/json.py | 10 ++- python/ovs/jsonrpc.py | 9 +-- tests/atlocal.in | 4 +- tests/json.at | 35 ++++------ tests/ovsdb-idl.at | 149 +++++++++++++----------------------------- tests/ovsdb.at | 36 ++++------ tests/test-json.py | 14 +--- tests/test-ovsdb.py | 22 +------ 9 files changed, 84 insertions(+), 206 deletions(-) diff --git a/python/automake.mk b/python/automake.mk index 21547f7ba..5a1e1da8a 100644 --- a/python/automake.mk +++ b/python/automake.mk @@ -92,17 +92,6 @@ python-sdist: $(srcdir)/python/ovs/version.py $(ovs_pyfiles) python/ovs/dirs.py pypi-upload: $(srcdir)/python/ovs/version.py $(ovs_pyfiles) python/ovs/dirs.py (cd python/ && $(PYTHON) setup.py sdist upload) - -ALL_LOCAL += python-build -python-build:$(lib_LTLIBRARIES) - (cd $(srcdir)/python/ && $(PYTHON) setup.py build_py -d $(abs_top_builddir)/python && $(PYTHON) setup.py build_ext -b $(abs_top_builddir)/python -I$(abs_top_srcdir)/include:$(abs_top_builddir)/include -L$(abs_top_builddir)/lib/.libs) -if HAVE_PYTHON3 - (cd $(srcdir)/python/ && $(PYTHON3) setup.py build_py -d $(abs_top_builddir)/python && $(PYTHON3) setup.py build_ext -b $(abs_top_builddir)/python -I$(abs_top_srcdir)/include:$(abs_top_builddir)/include -L$(abs_top_builddir)/lib/.libs) - -CLEAN_LOCAL += python-clean -python-clean: - rm -rf $(abs_top_builddir)/python -endif else ovs-install-data-local: @: diff --git a/python/ovs/json.py b/python/ovs/json.py index f06204e44..e84063fc2 100644 --- a/python/ovs/json.py +++ b/python/ovs/json.py @@ -21,13 +21,10 @@ import sys import six -PARSER_C = 'C' -PARSER_PY = 'PYTHON' try: import ovs._json - PARSER = PARSER_C except ImportError: - PARSER = PARSER_PY + pass __pychecker__ = 'no-stringiter' @@ -94,9 +91,10 @@ class Parser(object): MAX_HEIGHT = 1000 def __new__(cls, *args, **kwargs): - if PARSER == PARSER_C: + try: return ovs._json.Parser(*args, **kwargs) - return super(Parser, cls).__new__(cls) + except NameError: + return super(Parser, cls).__new__(cls) def __init__(self, check_trailer=False): self.check_trailer = check_trailer diff --git a/python/ovs/jsonrpc.py b/python/ovs/jsonrpc.py index 1323ba757..4873cff98 100644 --- a/python/ovs/jsonrpc.py +++ b/python/ovs/jsonrpc.py @@ -272,8 +272,7 @@ class Connection(object): # data, so we convert it here as soon as possible. if data and not error: try: - if six.PY3 or ovs.json.PARSER == ovs.json.PARSER_PY: - data = decoder.decode(data) + data = decoder.decode(data) except UnicodeError: error = errno.EILSEQ if error: @@ -299,11 +298,7 @@ class Connection(object): else: if self.parser is None: self.parser = ovs.json.Parser() - if six.PY3 and ovs.json.PARSER == ovs.json.PARSER_C: - self.input = self.input.encode('utf-8')[ - self.parser.feed(self.input):].decode() - else: - self.input = self.input[self.parser.feed(self.input):] + self.input = self.input[self.parser.feed(self.input):] if self.parser.is_done(): msg = self.__process_msg() if msg: diff --git a/tests/atlocal.in b/tests/atlocal.in index 3b3af84ee..abfc1acf3 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -22,10 +22,8 @@ if test x"$PYTHON3" = x; then export PYTHONCOERCECLOCALE fi -PYTHONPATH=$abs_top_builddir/python:$abs_top_builddir/tests:$PYTHONPATH +PYTHONPATH=$abs_top_srcdir/python:$abs_top_builddir/tests:$PYTHONPATH export PYTHONPATH -LD_LIBRARY_PATH=$abs_top_builddir/lib/.libs -export LD_LIBRARY_PATH PYTHONIOENCODING=utf_8 export PYTHONIOENCODING diff --git a/tests/json.at b/tests/json.at index 32a55f7b6..bfe0f1967 100644 --- a/tests/json.at +++ b/tests/json.at @@ -9,16 +9,15 @@ m4_define([JSON_CHECK_POSITIVE_C], AT_CLEANUP]) # JSON_CHECK_POSITIVE_PY(TITLE, INPUT, OUTPUT, TEST-JSON-ARGS, -# PYTHON-CHCEK, PYTHON-BIN, JSON-PARSER = python) +# PYTHON-CHCEK, PYTHON-BIN) # m4_define([JSON_CHECK_POSITIVE_PY], [AT_SETUP([$1]) AT_KEYWORDS([json positive Python]) AT_SKIP_IF([test $5 = no]) - AT_SKIP_IF([test $7 = C && ! $6 -c "import ovs._json" 2>/dev/null]) AT_CHECK([printf %s "AS_ESCAPE([$2])" > input]) AT_CAPTURE_FILE([input]) - AT_CHECK([$6 $srcdir/test-json.py -j m4_default([$7], python) $4 input], [0], [stdout], []) + AT_CHECK([$6 $srcdir/test-json.py $4 input], [0], [stdout], []) AT_CHECK([cat stdout], [0], [$3 ]) AT_CLEANUP]) @@ -38,17 +37,16 @@ m4_define([JSON_CHECK_POSITIVE_UCS4PY], m4_define([JSON_CHECK_POSITIVE], [JSON_CHECK_POSITIVE_C([$1 - C], [$2], [$3], [$4]) - JSON_CHECK_POSITIVE_PY23([$1], [$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(pyjson)], [$2], [$3], [$4], + [JSON_CHECK_POSITIVE_PY([$1 - Python2], [$2], [$3], [$4], [$HAVE_PYTHON2], [$PYTHON2]) - JSON_CHECK_POSITIVE_PY([$1 - Python2(cjson)], [$2], [$3], [$4], - [$HAVE_PYTHON2], [$PYTHON2], C) - JSON_CHECK_POSITIVE_PY([$1 - Python3(pyjson)], [$2], [$3], [$4], - [$HAVE_PYTHON3], [$PYTHON3]) - JSON_CHECK_POSITIVE_PY([$1 - Python3(cjson)], [$2], [$3], [$4], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + JSON_CHECK_POSITIVE_PY([$1 - Python3], [$2], [$3], [$4], + [$HAVE_PYTHON3], [$PYTHON3])]) m4_define([JSON_CHECK_NEGATIVE_C], [AT_SETUP([$1]) @@ -61,30 +59,25 @@ m4_define([JSON_CHECK_NEGATIVE_C], AT_CLEANUP]) # JSON_CHECK_NEGATIVE_PY(TITLE, INPUT, OUTPUT, TEST-JSON-ARGS, -# PYTHON-CHCEK, PYTHON-BIN, JSON_PARSER = python) +# PYTHON-CHCEK, PYTHON-BIN) # m4_define([JSON_CHECK_NEGATIVE_PY], [AT_SETUP([$1]) AT_KEYWORDS([json negative Python]) AT_SKIP_IF([test $5 = no]) - AT_SKIP_IF([test $7 = C && ! $6 -c "import ovs._json" 2>/dev/null]) AT_CHECK([printf %s "AS_ESCAPE([$2])" > input]) AT_CAPTURE_FILE([input]) - AT_CHECK([$6 $srcdir/test-json.py -j m4_default([$7], python) $4 input], [1], [stdout], []) + AT_CHECK([$6 $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(pyjson)], [$2], [$3], [$4], + JSON_CHECK_NEGATIVE_PY([$1 - Python2], [$2], [$3], [$4], [$HAVE_PYTHON2], [$PYTHON2]) - JSON_CHECK_NEGATIVE_PY([$1 - Python2(cjson)], [$2], [$3], [$4], - [$HAVE_PYTHON2], [$PYTHON2], C) - JSON_CHECK_NEGATIVE_PY([$1 - Python3(pyjson)], [$2], [$3], [$4], - [$HAVE_PYTHON3], [$PYTHON3]) - JSON_CHECK_NEGATIVE_PY([$1 - Python3(cjson)], [$2], [$3], [$4], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + JSON_CHECK_NEGATIVE_PY([$1 - Python3], [$2], [$3], [$4], + [$HAVE_PYTHON3], [$PYTHON3])]) AT_BANNER([JSON -- arrays]) diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at index 663822ee9..142eee794 100644 --- a/tests/ovsdb-idl.at +++ b/tests/ovsdb-idl.at @@ -46,12 +46,11 @@ m4_define([OVSDB_CHECK_IDL_C], m4_define([OVSDB_CHECK_IDL_PYN], [AT_SETUP([$1]) AT_SKIP_IF([test $7 = no]) - AT_SKIP_IF([test $9 = C && ! $8 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python $5]) AT_CHECK([ovsdb_start_idltest]) m4_if([$2], [], [], [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])]) - AT_CHECK([$8 $srcdir/test-ovsdb.py -j m4_default([$9], python) -t10 idl $srcdir/idltest.ovsschema unix:socket $3], + AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema unix:socket $3], [0], [stdout], [ignore]) AT_CHECK([sort stdout | uuidfilt]m4_if([$6],,, [[| $6]]), [0], [$4]) @@ -59,24 +58,19 @@ m4_define([OVSDB_CHECK_IDL_PYN], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_PY], - [OVSDB_CHECK_IDL_PYN([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], [$6], + [OVSDB_CHECK_IDL_PYN([$1 - Python2], [$2], [$3], [$4], [$5], [$6], [$HAVE_PYTHON2], [$PYTHON2]) - OVSDB_CHECK_IDL_PYN([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON2], [$PYTHON2], C) - OVSDB_CHECK_IDL_PYN([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_PYN([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_PYN([$1 - Python3], [$2], [$3], [$4], [$5], [$6], + [$HAVE_PYTHON3], [$PYTHON3])]) m4_define([OVSDB_CHECK_IDL_REGISTER_COLUMNS_PYN], [AT_SETUP([$1 - register_columns]) AT_SKIP_IF([test $7 = no]) - AT_SKIP_IF([test $9 = C && ! $8 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python register_columns $5]) AT_CHECK([ovsdb_start_idltest]) m4_if([$2], [], [], [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])]) - AT_CHECK([$8 $srcdir/test-ovsdb.py -j m4_default([$9], python) -t10 idl $srcdir/idltest.ovsschema unix:socket ?simple:b,ba,i,ia,r,ra,s,sa,u,ua?link1:i,k,ka,l2?link2:i,l1?singleton:name $3], + AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema unix:socket ?simple:b,ba,i,ia,r,ra,s,sa,u,ua?link1:i,k,ka,l2?link2:i,l1?singleton:name $3], [0], [stdout], [ignore]) AT_CHECK([sort stdout | uuidfilt]m4_if([$6],,, [[| $6]]), [0], [$4]) @@ -84,27 +78,22 @@ m4_define([OVSDB_CHECK_IDL_REGISTER_COLUMNS_PYN], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_REGISTER_COLUMNS_PY], - [OVSDB_CHECK_IDL_REGISTER_COLUMNS_PYN([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], [$6], + [OVSDB_CHECK_IDL_REGISTER_COLUMNS_PYN([$1 - Python2], [$2], [$3], [$4], [$5], [$6], [$HAVE_PYTHON2], [$PYTHON2]) - OVSDB_CHECK_IDL_REGISTER_COLUMNS_PYN([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON2], [$PYTHON2], C) - OVSDB_CHECK_IDL_REGISTER_COLUMNS_PYN([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_REGISTER_COLUMNS_PYN([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_REGISTER_COLUMNS_PYN([$1 - Python3], [$2], [$3], [$4], [$5], [$6], + [$HAVE_PYTHON3], [$PYTHON3])]) # same as OVSDB_CHECK_IDL but uses the Python IDL implementation with tcp m4_define([OVSDB_CHECK_IDL_TCP_PYN], [AT_SETUP([$1 - tcp]) AT_SKIP_IF([test $7 = no]) - AT_SKIP_IF([test $9 = C && ! $8 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python with tcp socket $5]) AT_CHECK([ovsdb_start_idltest "ptcp:0:127.0.0.1"]) PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT]) m4_if([$2], [], [], [AT_CHECK([ovsdb-client transact tcp:127.0.0.1:$TCP_PORT $2], [0], [ignore], [ignore])]) - AT_CHECK([$8 $srcdir/test-ovsdb.py -j m4_default([$9], python) -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT $3], + AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT $3], [0], [stdout], [ignore]) AT_CHECK([sort stdout | uuidfilt]m4_if([$6],,, [[| $6]]), [0], [$4]) @@ -112,21 +101,16 @@ m4_define([OVSDB_CHECK_IDL_TCP_PYN], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_TCP_PY], - [OVSDB_CHECK_IDL_TCP_PYN([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], [$6], + [OVSDB_CHECK_IDL_TCP_PYN([$1 - Python2], [$2], [$3], [$4], [$5], [$6], [$HAVE_PYTHON2], [$PYTHON2]) - OVSDB_CHECK_IDL_TCP_PYN([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON2], [$PYTHON2], C) - OVSDB_CHECK_IDL_TCP_PYN([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_TCP_PYN([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_TCP_PYN([$1 - Python3], [$2], [$3], [$4], [$5], [$6], + [$HAVE_PYTHON3], [$PYTHON3])]) # same as OVSDB_CHECK_IDL but uses the Python IDL implementation with tcp # with multiple remotes with only one remote reachable m4_define([OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PYN], [AT_SETUP([$1 - tcp]) AT_SKIP_IF([test $7 = no]) - AT_SKIP_IF([test $9 = C && ! $8 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python with tcp socket $5]) AT_CHECK([ovsdb_start_idltest "ptcp:0:127.0.0.1"]) PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT]) @@ -135,7 +119,7 @@ m4_define([OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PYN], remote=tcp:127.0.0.1:$WRONG_PORT_1,tcp:127.0.0.1:$TCP_PORT,tcp:127.0.0.1:$WRONG_PORT_2 m4_if([$2], [], [], [AT_CHECK([ovsdb-client transact tcp:127.0.0.1:$TCP_PORT $2], [0], [ignore], [ignore])]) - AT_CHECK([$8 $srcdir/test-ovsdb.py -j m4_default([$9], python) -t10 idl $srcdir/idltest.ovsschema $remote $3], + AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema $remote $3], [0], [stdout], [ignore]) AT_CHECK([sort stdout | uuidfilt]m4_if([$6],,, [[| $6]]), [0], [$4]) @@ -143,14 +127,10 @@ m4_define([OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PYN], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PY], - [OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PYN([$1 - Python2 (pyjson multiple remotes)], [$2], [$3], [$4], [$5], [$6], + [OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PYN([$1 - Python2 (multiple remotes)], [$2], [$3], [$4], [$5], [$6], [$HAVE_PYTHON], [$PYTHON]) - OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PYN([$1 - Python2 (cjson multiple remotes)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON], [$PYTHON], C) - OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PYN([$1 - Python3 (pyjson multiple remotes)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PYN([$1 - Python3 (cjson multiple remotes)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PYN([$1 - Python3 (multiple remotes)], [$2], [$3], [$4], [$5], [$6], + [$HAVE_PYTHON3], [$PYTHON3])]) # same as OVSDB_CHECK_IDL but uses the Python IDL implementation with tcp6 m4_define([OVSDB_CHECK_IDL_TCP6_PYN], @@ -158,7 +138,6 @@ m4_define([OVSDB_CHECK_IDL_TCP6_PYN], AT_SKIP_IF([test $7 = no]) AT_SKIP_IF([test "$IS_WIN32" = "yes"]) AT_SKIP_IF([test $HAVE_IPV6 = no]) - AT_SKIP_IF([test $9 = C && ! $8 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python with tcp6 socket $5]) AT_CHECK([ovsdb_start_idltest "ptcp:0:[[::1]]"]) PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT]) @@ -166,7 +145,7 @@ m4_define([OVSDB_CHECK_IDL_TCP6_PYN], m4_if([$2], [], [], [AT_CHECK([ovsdb-client transact "tcp:[[::1]]:$TCP_PORT" $2], [0], [ignore], [ignore])]) - AT_CHECK([$8 $srcdir/test-ovsdb.py -j m4_default([$9], python) -t10 idl $srcdir/idltest.ovsschema tcp:[[::1]]:$TCP_PORT $3], + AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema tcp:[[::1]]:$TCP_PORT $3], [0], [stdout], [ignore]) AT_CHECK([sort stdout | uuidfilt]m4_if([$6],,, [[| $6]]), [0], [$4]) @@ -174,21 +153,16 @@ m4_define([OVSDB_CHECK_IDL_TCP6_PYN], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_TCP6_PY], - [OVSDB_CHECK_IDL_TCP6_PYN([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], [$6], + [OVSDB_CHECK_IDL_TCP6_PYN([$1 - Python2], [$2], [$3], [$4], [$5], [$6], [$HAVE_PYTHON2], [$PYTHON2]) - OVSDB_CHECK_IDL_TCP6_PYN([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON2], [$PYTHON2], C) - OVSDB_CHECK_IDL_TCP6_PYN([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_TCP6_PYN([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_TCP6_PYN([$1 - Python3], [$2], [$3], [$4], [$5], [$6], + [$HAVE_PYTHON3], [$PYTHON3])]) m4_define([OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PYN], [AT_SETUP([$1 - tcp6]) AT_SKIP_IF([test $7 = no]) AT_SKIP_IF([test "$IS_WIN32" = "yes"]) AT_SKIP_IF([test $HAVE_IPV6 = no]) - AT_SKIP_IF([test $9 = C && ! $8 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python with tcp6 socket $5]) AT_CHECK([ovsdb_start_idltest "ptcp:0:[[::1]]"]) PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT]) @@ -197,7 +171,7 @@ m4_define([OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PYN], remote="tcp:[[::1]]:$WRONG_PORT_1,tcp:[[::1]]:$TCP_PORT,tcp:[[::1]]:$WRONG_PORT_2" m4_if([$2], [], [], [AT_CHECK([ovsdb-client transact "tcp:[[::1]]:$TCP_PORT" $2], [0], [ignore], [ignore])]) - AT_CHECK([$8 $srcdir/test-ovsdb.py -j m4_default([$9], python) -t10 idl $srcdir/idltest.ovsschema $remote $3], + AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema $remote $3], [0], [stdout], [ignore]) AT_CHECK([sort stdout | uuidfilt]m4_if([$6],,, [[| $6]]), [0], [$4]) @@ -205,14 +179,10 @@ m4_define([OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PYN], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PY], - [OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PYN([$1 - Python2 (pyjson multiple remotes)], [$2], [$3], [$4], [$5], [$6], + [OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PYN([$1 - Python2 (multiple remotes)], [$2], [$3], [$4], [$5], [$6], [$HAVE_PYTHON], [$PYTHON]) - OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PYN([$1 - Python2 (cjson multiple remotes)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON], [$PYTHON], C) - OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PYN([$1 - Python3 (pyjson multiple remotes)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PYN([$1 - Python3 (cjson multiple remotes)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PYN([$1 - Python3 (multiple remotes)], [$2], [$3], [$4], [$5], [$6], + [$HAVE_PYTHON3], [$PYTHON3])]) # same as OVSDB_CHECK_IDL but uses the Python IDL implementation with SSL m4_define([OVSDB_CHECK_IDL_SSL_PYN], @@ -222,7 +192,6 @@ m4_define([OVSDB_CHECK_IDL_SSL_PYN], $8 -c "import OpenSSL.SSL" SSL_PRESENT=$? AT_SKIP_IF([test $SSL_PRESENT != 0]) - AT_SKIP_IF([test $9 = C && ! $8 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python with ssl socket $5]) AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema], [0], [stdout], [ignore]) @@ -241,7 +210,7 @@ m4_define([OVSDB_CHECK_IDL_SSL_PYN], --certificate=$PKIDIR/testpki-cert2.pem \ --ca-cert=$PKIDIR/testpki-cacert.pem \ transact "ssl:127.0.0.1:$TCP_PORT" $2], [0], [ignore], [ignore])]) - AT_CHECK([$8 $srcdir/test-ovsdb.py -j m4_default([$9], python) -t10 idl $srcdir/idltest.ovsschema \ + AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema \ ssl:127.0.0.1:$TCP_PORT $PKIDIR/testpki-privkey.pem \ $PKIDIR/testpki-cert.pem $PKIDIR/testpki-cacert.pem $3], [0], [stdout], [ignore]) @@ -251,14 +220,10 @@ m4_define([OVSDB_CHECK_IDL_SSL_PYN], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_SSL_PY], - [OVSDB_CHECK_IDL_SSL_PYN([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], [$6], + [OVSDB_CHECK_IDL_SSL_PYN([$1 - Python2], [$2], [$3], [$4], [$5], [$6], [$HAVE_PYTHON], [$PYTHON]) - OVSDB_CHECK_IDL_SSL_PYN([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON], [$PYTHON], C) - OVSDB_CHECK_IDL_SSL_PYN([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_SSL_PYN([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_SSL_PYN([$1 - Python3], [$2], [$3], [$4], [$5], [$6], + [$HAVE_PYTHON3], [$PYTHON3])]) m4_define([OVSDB_CHECK_IDL], [OVSDB_CHECK_IDL_C($@) @@ -274,7 +239,6 @@ m4_define([OVSDB_CHECK_IDL], m4_define([OVSDB_CHECK_IDL_PASSIVE_TCP_PYN], [AT_SETUP([$1 ptcp]) AT_SKIP_IF([test $7 = no]) - AT_SKIP_IF([test $9 = C && ! $8 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python with tcp socket $5]) # find free TCP port AT_CHECK([ovsdb_start_idltest "ptcp:0:127.0.0.1"]) @@ -284,7 +248,7 @@ m4_define([OVSDB_CHECK_IDL_PASSIVE_TCP_PYN], # start OVSDB server in passive mode AT_CHECK([ovsdb_start_idltest "tcp:127.0.0.1:$TCP_PORT"]) - AT_CHECK([$8 $srcdir/test-ovsdb.py -j m4_default([$9], python) -t10 idl_passive $srcdir/idltest.ovsschema ptcp:127.0.0.1:$TCP_PORT $3], + AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl_passive $srcdir/idltest.ovsschema ptcp:127.0.0.1:$TCP_PORT $3], [0], [stdout], [ignore]) AT_CHECK([sort stdout | uuidfilt]m4_if([$6],,, [[| $6]]), [0], [$4]) @@ -293,14 +257,10 @@ m4_define([OVSDB_CHECK_IDL_PASSIVE_TCP_PYN], ]) m4_define([OVSDB_CHECK_IDL_PASSIVE_TCP_PY], - [OVSDB_CHECK_IDL_PASSIVE_TCP_PYN([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], [$6], + [OVSDB_CHECK_IDL_PASSIVE_TCP_PYN([$1 - Python2], [$2], [$3], [$4], [$5], [$6], [$HAVE_PYTHON2], [$PYTHON2]) - OVSDB_CHECK_IDL_PASSIVE_TCP_PYN([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON2], [$PYTHON2], C) - OVSDB_CHECK_IDL_PASSIVE_TCP_PYN([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_PASSIVE_TCP_PYN([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_PASSIVE_TCP_PYN([$1 - Python3], [$2], [$3], [$4], [$5], [$6], + [$HAVE_PYTHON3], [$PYTHON3])]) OVSDB_CHECK_IDL_PASSIVE_TCP_PY([simple passive idl, initially empty, select empty], [], @@ -473,12 +433,11 @@ OVSDB_CHECK_IDL([simple idl, writing via IDL with unicode], m4_define([OVSDB_CHECK_IDL_PYN_WITH_EXPOUT], [AT_SETUP([$1]) AT_SKIP_IF([test $7 = no]) - AT_SKIP_IF([test $9 = C && ! $8 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python $5]) AT_CHECK([ovsdb_start_idltest]) m4_if([$2], [], [], [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])]) - AT_CHECK([$8 $srcdir/test-ovsdb.py -j m4_default([$9], python) -t10 idl $srcdir/idltest.ovsschema unix:socket $3], + AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema unix:socket $3], [0], [stdout], [ignore]) echo "$4" > expout AT_CHECK([sort stdout | uuidfilt]m4_if([$6],,, [[| $6]]), @@ -487,14 +446,10 @@ m4_define([OVSDB_CHECK_IDL_PYN_WITH_EXPOUT], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_PY_WITH_EXPOUT], - [OVSDB_CHECK_IDL_PYN_WITH_EXPOUT([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], [$6], + [OVSDB_CHECK_IDL_PYN_WITH_EXPOUT([$1 - Python2], [$2], [$3], [$4], [$5], [$6], [$HAVE_PYTHON2], [$PYTHON2]) - OVSDB_CHECK_IDL_PYN_WITH_EXPOUT([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON2], [$PYTHON2], C) - OVSDB_CHECK_IDL_PYN_WITH_EXPOUT([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_PYN_WITH_EXPOUT([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], [$6], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_PYN_WITH_EXPOUT([$1 - Python3], [$2], [$3], [$4], [$5], [$6], + [$HAVE_PYTHON3], [$PYTHON3])]) OVSDB_CHECK_IDL_PY_WITH_EXPOUT([simple idl, writing large data via IDL with unicode], [['["idltest", @@ -1013,12 +968,11 @@ AT_CLEANUP m4_define([OVSDB_CHECK_IDL_FETCH_COLUMNS_PYN], [AT_SETUP([$1 fetch]) AT_SKIP_IF([test $8 = no]) - AT_SKIP_IF([test $10 = C && ! $9 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl positive Python increment fetch $6]) AT_CHECK([ovsdb_start_idltest]) m4_if([$2], [], [], [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])]) - AT_CHECK([$9 $srcdir/test-ovsdb.py -j m4_default([$10], python) -t10 idl $srcdir/idltest.ovsschema unix:socket [$3] $4], + AT_CHECK([$9 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema unix:socket [$3] $4], [0], [stdout], [ignore]) AT_CHECK([sort stdout | uuidfilt]m4_if([$7],,, [[| $7]]), [0], [$5]) @@ -1026,14 +980,10 @@ m4_define([OVSDB_CHECK_IDL_FETCH_COLUMNS_PYN], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_FETCH_COLUMNS_PY], - [OVSDB_CHECK_IDL_FETCH_COLUMNS_PYN([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], [$6], [$7], + [OVSDB_CHECK_IDL_FETCH_COLUMNS_PYN([$1 - Python2], [$2], [$3], [$4], [$5], [$6], [$7], [$HAVE_PYTHON2], [$PYTHON2]) - OVSDB_CHECK_IDL_FETCH_COLUMNS_PYN([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], [$6], [$7], - [$HAVE_PYTHON2], [$PYTHON2], C) - OVSDB_CHECK_IDL_FETCH_COLUMNS_PYN([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], [$6], [$7], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_FETCH_COLUMNS_PYN([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], [$6], [$7], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_FETCH_COLUMNS_PYN([$1 - Python3], [$2], [$3], [$4], [$5], [$6], [$7], + [$HAVE_PYTHON3], [$PYTHON3])]) m4_define([OVSDB_CHECK_IDL_FETCH_COLUMNS], [OVSDB_CHECK_IDL_FETCH_COLUMNS_PY($@)]) @@ -1069,11 +1019,10 @@ OVSDB_CHECK_IDL_FETCH_COLUMNS([simple idl, initially populated], m4_define([OVSDB_CHECK_IDL_WO_MONITOR_COND_PYN], [AT_SETUP([$1]) AT_SKIP_IF([test $6 = no]) - AT_SKIP_IF([test $8 = C && ! $7 -c "import ovs._json" 2>/dev/null]) AT_KEYWORDS([ovsdb server idl Python monitor $4]) AT_CHECK([ovsdb_start_idltest]) AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/disable-monitor-cond]) - AT_CHECK([$7 $srcdir/test-ovsdb.py -j m4_default([$8], python) -t10 idl $srcdir/idltest.ovsschema unix:socket $2], + AT_CHECK([$7 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema unix:socket $2], [0], [stdout], [ignore]) AT_CHECK([sort stdout | uuidfilt]m4_if([$5],,, [[| $5]]), [0], [$3]) @@ -1081,14 +1030,10 @@ m4_define([OVSDB_CHECK_IDL_WO_MONITOR_COND_PYN], AT_CLEANUP]) m4_define([OVSDB_CHECK_IDL_WO_MONITOR_COND_PY], - [OVSDB_CHECK_IDL_WO_MONITOR_COND_PYN([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], + [OVSDB_CHECK_IDL_WO_MONITOR_COND_PYN([$1 - Python2], [$2], [$3], [$4], [$5], [$HAVE_PYTHON2], [$PYTHON2]) - OVSDB_CHECK_IDL_WO_MONITOR_COND_PYN([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], - [$HAVE_PYTHON2], [$PYTHON2], C) - OVSDB_CHECK_IDL_WO_MONITOR_COND_PYN([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], - [$HAVE_PYTHON3], [$PYTHON3]) - OVSDB_CHECK_IDL_WO_MONITOR_COND_PYN([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], - [$HAVE_PYTHON3], [$PYTHON3], C)]) + OVSDB_CHECK_IDL_WO_MONITOR_COND_PYN([$1 - Python3], [$2], [$3], [$4], [$5], + [$HAVE_PYTHON3], [$PYTHON3])]) m4_define([OVSDB_CHECK_IDL_WO_MONITOR_COND], @@ -1411,8 +1356,7 @@ OVSDB_CHECK_IDL_PY([partial-set idl], ]]) m4_define([OVSDB_CHECK_IDL_NOTIFY_PYN], - [OVSDB_CHECK_IDL_PYN([$1(pyjson)], [], [$2], [$3], [notify $4], [$5], [$6], [$7]) - OVSDB_CHECK_IDL_PYN([$1(cjson)], [], [$2], [$3], [notify $4], [$5], [$6], [$7], C)]) + [OVSDB_CHECK_IDL_PYN([$1], [], [$2], [$3], [notify $4], [$5], [$6], [$7])]) m4_define([OVSDB_CHECK_IDL_NOTIFY_PY], [OVSDB_CHECK_IDL_NOTIFY_PYN([$1 - Python2], [$2], [$3], [$4], [$5], @@ -1422,8 +1366,7 @@ m4_define([OVSDB_CHECK_IDL_NOTIFY_PY], # This test uses the Python IDL implementation with ssl m4_define([OVSDB_CHECK_IDL_NOTIFY_SSL_PYN], - [OVSDB_CHECK_IDL_SSL_PYN([$1(pyjson)], [], [$2], [$3], [notify $4], [$5], [$6], [$7]) - OVSDB_CHECK_IDL_SSL_PYN([$1(cjson)], [], [$2], [$3], [notify $4], [$5], [$6], [$7], C)]) + [OVSDB_CHECK_IDL_SSL_PYN([$1], [], [$2], [$3], [notify $4], [$5], [$6], [$7])]) m4_define([OVSDB_CHECK_IDL_NOTIFY_SSL_PY], [OVSDB_CHECK_IDL_NOTIFY_SSL_PYN([$1 - Python2], [$2], [$3], [$4], [$5], diff --git a/tests/ovsdb.at b/tests/ovsdb.at index fab79def4..0c9856d01 100644 --- a/tests/ovsdb.at +++ b/tests/ovsdb.at @@ -12,7 +12,7 @@ m4_define([OVSDB_CHECK_POSITIVE], AT_CLEANUP]) # OVSDB_CHECK_POSITIVE_PY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ], -# [PY-CHECK] [JSON-PARSER = python]) +# [PY-CHECK]) # # Runs "test-ovsdb.py TEST-OVSDB-ARGS" and checks that it exits with # status 0 and prints OUTPUT on stdout. @@ -24,15 +24,14 @@ m4_define([OVSDB_CHECK_POSITIVE], m4_define([OVSDB_CHECK_POSITIVE_PY], [AT_SETUP([$1]) AT_SKIP_IF([test $HAVE_PYTHON2 = no]) - AT_SKIP_IF([test $7 = C && ! $PYTHON2 -c "import ovs._json" 2>/dev/null]) $6 AT_KEYWORDS([ovsdb positive Python $4]) - AT_CHECK([$PYTHON2 $srcdir/test-ovsdb.py -j m4_default([$7], python) $2], [0], [$3 + AT_CHECK([$PYTHON2 $srcdir/test-ovsdb.py $2], [0], [$3 ], []) AT_CLEANUP]) # OVSDB_CHECK_POSITIVE_PY3(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ], -# [PY-CHECK] [PY3-CHECK] [JSON-PARSER = python]) +# [PY-CHECK]) # # Runs "test-ovsdb.py TEST-OVSDB-ARGS" and checks that it exits with # status 0 and prints OUTPUT on stdout. @@ -44,10 +43,9 @@ m4_define([OVSDB_CHECK_POSITIVE_PY], m4_define([OVSDB_CHECK_POSITIVE_PY3], [AT_SETUP([$1]) AT_SKIP_IF([test $HAVE_PYTHON3 = no]) - AT_SKIP_IF([test $8 = C && ! $PYTHON3 -c "import ovs._json" 2>/dev/null]) $6 AT_KEYWORDS([ovsdb positive Python $4]) - AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py -j m4_default([$8], python) $2], [0], [$3 + AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py $2], [0], [$3 ], []) AT_CLEANUP]) @@ -57,10 +55,8 @@ m4_define([OVSDB_CHECK_POSITIVE_PY3], # Runs identical C and Python tests, as specified. m4_define([OVSDB_CHECK_POSITIVE_CPY], [OVSDB_CHECK_POSITIVE([$1 - C], [$2], [$3], [$4], [$5]) - OVSDB_CHECK_POSITIVE_PY([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5], [$6]) - OVSDB_CHECK_POSITIVE_PY([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], [$6], C) - OVSDB_CHECK_POSITIVE_PY3([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5], [$7]) - OVSDB_CHECK_POSITIVE_PY3([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], [$7], C)]) + OVSDB_CHECK_POSITIVE_PY([$1 - Python2], [$2], [$3], [$4], [$5], [$6]) + OVSDB_CHECK_POSITIVE_PY3([$1 - Python3], [$2], [$3], [$4], [$5], [$7])]) # OVSDB_CHECK_NEGATIVE(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ]) # @@ -82,7 +78,7 @@ m4_define([OVSDB_CHECK_NEGATIVE], [0], [ignore], [ignore]) AT_CLEANUP]) -# OVSDB_CHECK_NEGATIVE_PY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ] [JSON-PARSER = python]) +# OVSDB_CHECK_NEGATIVE_PY(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ]) # # Runs "test-ovsdb TEST-OVSDB-ARGS" and checks that it exits with # status 1 and that its output on stdout contains substring OUTPUT. @@ -90,9 +86,8 @@ m4_define([OVSDB_CHECK_NEGATIVE], m4_define([OVSDB_CHECK_NEGATIVE_PY], [AT_SETUP([$1]) AT_SKIP_IF([test $HAVE_PYTHON2 = no]) - AT_SKIP_IF([test $6 = C && ! $PYTHON2 -c "import ovs._json" 2>/dev/null]) - AT_KEYWORDS([ovsdb negative Python $4]) - AT_CHECK([$PYTHON2 $srcdir/test-ovsdb.py -j m4_default([$6], python) $2], [1], [], [stderr]) + AT_KEYWORDS([ovsdb negative $4]) + AT_CHECK([$PYTHON2 $srcdir/test-ovsdb.py $2], [1], [], [stderr]) m4_assert(m4_len([$3])) AT_CHECK( [if grep -F -e "AS_ESCAPE([$3])" stderr @@ -104,7 +99,7 @@ m4_define([OVSDB_CHECK_NEGATIVE_PY], [0], [ignore], [ignore]) AT_CLEANUP]) -# OVSDB_CHECK_NEGATIVE_PY3(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ], [JSON-PARSER = python]) +# OVSDB_CHECK_NEGATIVE_PY3(TITLE, TEST-OVSDB-ARGS, OUTPUT, [KEYWORDS], [PREREQ]) # # Runs "test-ovsdb TEST-OVSDB-ARGS" and checks that it exits with # status 1 and that its output on stdout contains substring OUTPUT. @@ -112,9 +107,8 @@ m4_define([OVSDB_CHECK_NEGATIVE_PY], m4_define([OVSDB_CHECK_NEGATIVE_PY], [AT_SETUP([$1]) AT_SKIP_IF([test $HAVE_PYTHON3 = no]) - AT_SKIP_IF([test $6 = C && ! $PYTHON3 -c "import ovs._json" 2>/dev/null]) - AT_KEYWORDS([ovsdb negative Python $4]) - AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py -j m4_default([$6], python) $2], [1], [], [stderr]) + AT_KEYWORDS([ovsdb negative $4]) + AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py $2], [1], [], [stderr]) m4_assert(m4_len([$3])) AT_CHECK( [if grep -F -e "AS_ESCAPE([$3])" stderr @@ -132,10 +126,8 @@ m4_define([OVSDB_CHECK_NEGATIVE_PY], # Runs identical C and Python tests, as specified. m4_define([OVSDB_CHECK_NEGATIVE_CPY], [OVSDB_CHECK_NEGATIVE([$1 - C], [$2], [$3], [$4], [$5]) - OVSDB_CHECK_NEGATIVE_PY([$1 - Python2(pyjson)], [$2], [$3], [$4], [$5]) - OVSDB_CHECK_NEGATIVE_PY([$1 - Python2(cjson)], [$2], [$3], [$4], [$5], C) - OVSDB_CHECK_NEGATIVE_PY3([$1 - Python3(pyjson)], [$2], [$3], [$4], [$5]) - OVSDB_CHECK_NEGATIVE_PY3([$1 - Python3(cjson)], [$2], [$3], [$4], [$5], C)]) + OVSDB_CHECK_NEGATIVE_PY([$1 - Python2], [$2], [$3], [$4], [$5]) + OVSDB_CHECK_NEGATIVE_PY3([$1 - Python3], [$2], [$3], [$4], [$5])]) OVS_START_SHELL_HELPERS ovsdb_client_wait() { diff --git a/tests/test-json.py b/tests/test-json.py index d0db43331..582aa720a 100644 --- a/tests/test-json.py +++ b/tests/test-json.py @@ -18,7 +18,6 @@ import codecs import getopt import sys -from ovs.db import error import ovs.json import six @@ -67,26 +66,15 @@ def main(argv): sys.stderr = codecs.getwriter("utf-8")(sys.stderr) try: - options, args = getopt.gnu_getopt(argv[1:], 'j:', - ['multiple', 'json-parser']) + options, args = getopt.gnu_getopt(argv[1:], '', ['multiple']) except getopt.GetoptError as geo: sys.stderr.write("%s: %s\n" % (argv0, geo.msg)) sys.exit(1) multiple = False - ORIG_PARSER = ovs.json.PARSER - ovs.json.PARSER = ovs.json.PARSER_PY for key, value in options: if key == '--multiple': multiple = True - elif key in ('-j', '--json-parser'): - if value == "python": - ovs.json.PARSER = ovs.json.PARSER_PY - elif value in ('C', 'c'): - if ORIG_PARSER != ovs.json.PARSER_C: - raise error.Error("C parser selected, but not compiled") - else: - ovs.json.PARSER = ovs.json.PARSER_C else: sys.stderr.write("%s: unhandled option %s\n" % (argv0, key)) sys.exit(1) diff --git a/tests/test-ovsdb.py b/tests/test-ovsdb.py index b99109dc2..14491a2e9 100644 --- a/tests/test-ovsdb.py +++ b/tests/test-ovsdb.py @@ -23,7 +23,6 @@ import uuid import ovs.db.idl import ovs.db.schema import ovs.db.types -import ovs.json import ovs.ovsuuid import ovs.poller import ovs.stream @@ -816,20 +815,14 @@ The following options are also available: def main(argv): try: - options, args = getopt.gnu_getopt(argv[1:], 't:h:j:', + options, args = getopt.gnu_getopt(argv[1:], 't:h', ['timeout', - 'help', 'json-parser']) + 'help']) except getopt.GetoptError as geo: sys.stderr.write("%s: %s\n" % (ovs.util.PROGRAM_NAME, geo.msg)) sys.exit(1) timeout = None - # Save the old version to detect whether we support the C Parser - # but then override to the Python parser because it is always available - # and is the historical default - ORIG_PARSER = ovs.json.PARSER - ovs.json.PARSER = ovs.json.PARSER_PY - for key, value in options: if key in ['-h', '--help']: usage() @@ -841,17 +834,6 @@ def main(argv): except TypeError: raise error.Error("value %s on -t or --timeout is not at " "least 1" % value) - elif key in ['-j', '--json-parser']: - if value == "python": - ovs.json.PARSER = ovs.json.PARSER_PY - elif value in ('C', 'c'): - if ORIG_PARSER != ovs.json.PARSER_C: - raise error.Error("C parser selected, but not compiled") - else: - ovs.json.PARSER = ovs.json.PARSER_C - else: - raise error.Error( - "invalid option: %s, json-parser must be 'C' or json") else: sys.exit(0)