{"id":815869,"url":"http://patchwork.ozlabs.org/api/patches/815869/?format=json","web_url":"http://patchwork.ozlabs.org/project/openvswitch/patch/20170919220125.32535-4-blp@ovn.org/","project":{"id":47,"url":"http://patchwork.ozlabs.org/api/projects/47/?format=json","name":"Open vSwitch","link_name":"openvswitch","list_id":"ovs-dev.openvswitch.org","list_email":"ovs-dev@openvswitch.org","web_url":"http://openvswitch.org/","scm_url":"git@github.com:openvswitch/ovs.git","webscm_url":"https://github.com/openvswitch/ovs","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170919220125.32535-4-blp@ovn.org>","list_archive_url":null,"date":"2017-09-19T22:00:36","name":"[ovs-dev,RFC,03/52] table: Avoid trailing white space in tables.","commit_ref":null,"pull_url":null,"state":"rfc","archived":false,"hash":"f3c287068e5962527360ca91a8a5ed6248cbd6ae","submitter":{"id":67603,"url":"http://patchwork.ozlabs.org/api/people/67603/?format=json","name":"Ben Pfaff","email":"blp@ovn.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/openvswitch/patch/20170919220125.32535-4-blp@ovn.org/mbox/","series":[{"id":3975,"url":"http://patchwork.ozlabs.org/api/series/3975/?format=json","web_url":"http://patchwork.ozlabs.org/project/openvswitch/list/?series=3975","date":"2017-09-19T22:00:34","name":"clustering implementation","version":1,"mbox":"http://patchwork.ozlabs.org/series/3975/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/815869/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/815869/checks/","tags":{},"related":[],"headers":{"Return-Path":"<ovs-dev-bounces@openvswitch.org>","X-Original-To":["incoming@patchwork.ozlabs.org","dev@openvswitch.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","ovs-dev@mail.linuxfoundation.org"],"Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=openvswitch.org\n\t(client-ip=140.211.169.12; helo=mail.linuxfoundation.org;\n\tenvelope-from=ovs-dev-bounces@openvswitch.org;\n\treceiver=<UNKNOWN>)","Received":["from mail.linuxfoundation.org (mail.linuxfoundation.org\n\t[140.211.169.12])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xxcMc3Tpjz9sBW\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 20 Sep 2017 08:03:40 +1000 (AEST)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 4A07CBF3;\n\tTue, 19 Sep 2017 22:01:41 +0000 (UTC)","from smtp1.linuxfoundation.org (smtp1.linux-foundation.org\n\t[172.17.192.35])\n\tby mail.linuxfoundation.org (Postfix) with ESMTPS id 3A24EBCA\n\tfor <dev@openvswitch.org>; Tue, 19 Sep 2017 22:01:39 +0000 (UTC)","from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net\n\t[217.70.183.196])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 96327159\n\tfor <dev@openvswitch.org>; Tue, 19 Sep 2017 22:01:38 +0000 (UTC)","from sigabrt.benpfaff.org (unknown [208.91.2.3])\n\t(Authenticated sender: blp@ovn.org)\n\tby relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 871BD172097;\n\tWed, 20 Sep 2017 00:01:36 +0200 (CEST)"],"X-Greylist":"domain auto-whitelisted by SQLgrey-1.7.6","X-Originating-IP":"208.91.2.3","From":"Ben Pfaff <blp@ovn.org>","To":"dev@openvswitch.org","Date":"Tue, 19 Sep 2017 15:00:36 -0700","Message-Id":"<20170919220125.32535-4-blp@ovn.org>","X-Mailer":"git-send-email 2.10.2","In-Reply-To":"<20170919220125.32535-1-blp@ovn.org>","References":"<20170919220125.32535-1-blp@ovn.org>","X-Spam-Status":"No, score=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW\n\tautolearn=disabled version=3.3.1","X-Spam-Checker-Version":"SpamAssassin 3.3.1 (2010-03-16) on\n\tsmtp1.linux-foundation.org","Cc":"Ben Pfaff <blp@ovn.org>","Subject":"[ovs-dev] [PATCH RFC 03/52] table: Avoid trailing white space in\n\ttables.","X-BeenThere":"ovs-dev@openvswitch.org","X-Mailman-Version":"2.1.12","Precedence":"list","List-Id":"<ovs-dev.openvswitch.org>","List-Unsubscribe":"<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>","List-Archive":"<http://mail.openvswitch.org/pipermail/ovs-dev/>","List-Post":"<mailto:ovs-dev@openvswitch.org>","List-Help":"<mailto:ovs-dev-request@openvswitch.org?subject=help>","List-Subscribe":"<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"ovs-dev-bounces@openvswitch.org","Errors-To":"ovs-dev-bounces@openvswitch.org"},"content":"Commands that use the table library, such as ovs-vsctl and  \"ovsdb-client\ndump\", print trailing white space in tabular output, to fill out the entire\nwidth of their tabular columns.  This is annoying whenever we use these\ncommands in the test infrastructure, since we have to specially mark the\ntrailing white space in Autotest with a \"@&t@\" marker at the end of the\nline.  This commit gets rid of the trailing white space and the annoying\n\"@&t@\" markers.\n\nSigned-off-by: Ben Pfaff <blp@ovn.org>\n---\n lib/table.c                |  3 ++\n tests/ovsdb-replication.at | 12 ++++----\n tests/ovsdb-server.at      | 38 ++++++++++++------------\n tests/ovsdb-tool.at        | 72 +++++++++++++++++++++++-----------------------\n 4 files changed, 64 insertions(+), 61 deletions(-)","diff":"diff --git a/lib/table.c b/lib/table.c\nindex e454dfbc8bf7..c8e9f4153d3a 100644\n--- a/lib/table.c\n+++ b/lib/table.c\n@@ -214,6 +214,9 @@ table_add_cell(struct table *table)\n static void\n table_print_table_line__(struct ds *line)\n {\n+    while (ds_last(line) == ' ') {\n+        line->length--;\n+    }\n     puts(ds_cstr(line));\n     ds_clear(line);\n }\ndiff --git a/tests/ovsdb-replication.at b/tests/ovsdb-replication.at\nindex e1e68b326f09..f81381bdb3bf 100644\n--- a/tests/ovsdb-replication.at\n+++ b/tests/ovsdb-replication.at\n@@ -41,7 +41,7 @@ OVSDB_CHECK_REPLICATION([insert monitored table, insert excluded table],\n   [[8,10c8,9\n < _uuid                                name number\n < ------------------------------------ ---- ------\n-< <0> one  1     @&t@\n+< <0> one  1\n ---\n > _uuid name number\n > ----- ---- ------]]\n@@ -69,7 +69,7 @@ OVSDB_CHECK_REPLICATION([insert monitored table, update excluded table],\n   [[8,10c8,9\n < _uuid                                name number\n < ------------------------------------ ---- ------\n-< <0> two  2     @&t@\n+< <0> two  2\n ---\n > _uuid name number\n > ----- ---- ------]]\n@@ -93,7 +93,7 @@ OVSDB_CHECK_REPLICATION([update monitored table, insert excluded table],\n   [[7,9c7,8\n < _uuid                                name number\n < ------------------------------------ ---- ------\n-< <0> two  2     @&t@\n+< <0> two  2\n ---\n > _uuid name number\n > ----- ---- ------]]\n@@ -122,7 +122,7 @@ OVSDB_CHECK_REPLICATION([update monitored table, update excluded table],\n   [[7,9c7,8\n < _uuid                                name  number\n < ------------------------------------ ----- ------\n-< <0> three 3     @&t@\n+< <0> three 3\n ---\n > _uuid name number\n > ----- ---- ------]]\n@@ -149,7 +149,7 @@ OVSDB_CHECK_REPLICATION([delete monitored table, insert excluded table],\n   [[7,9c7,8\n < _uuid                                name number\n < ------------------------------------ ---- ------\n-< <0> one  1     @&t@\n+< <0> one  1\n ---\n > _uuid name number\n > ----- ---- ------]]\n@@ -181,7 +181,7 @@ OVSDB_CHECK_REPLICATION([delete monitored table, update excluded table],\n   [[7,9c7,8\n < _uuid                                name number\n < ------------------------------------ ---- ------\n-< <0> two  2     @&t@\n+< <0> two  2\n ---\n > _uuid name number\n > ----- ---- ------]]\ndiff --git a/tests/ovsdb-server.at b/tests/ovsdb-server.at\nindex e72a65b4847b..0f8c791128b1 100644\n--- a/tests/ovsdb-server.at\n+++ b/tests/ovsdb-server.at\n@@ -689,12 +689,12 @@ AT_CHECK([${PERL} $srcdir/uuidfilt.pl stdout], [0], [dnl\n ordinals table\n _uuid                                name  number\n ------------------------------------ ----- ------\n-<0> five  5     @&t@\n-<1> four  4     @&t@\n-<2> one   1     @&t@\n-<3> three 3     @&t@\n-<4> two   2     @&t@\n-<5> zero  0     @&t@\n+<0> five  5\n+<1> four  4\n+<2> one   1\n+<3> three 3\n+<4> two   2\n+<5> zero  0\n ], [], [test ! -e pid || kill `cat pid`])\n dnl Now compact the database in-place.\n AT_CHECK([[ovs-appctl -t ovsdb-server ovsdb-server/compact]],\n@@ -720,12 +720,12 @@ AT_CHECK([${PERL} $srcdir/uuidfilt.pl stdout], [0], [dnl\n ordinals table\n _uuid                                name  number\n ------------------------------------ ----- ------\n-<0> five  5     @&t@\n-<1> four  4     @&t@\n-<2> one   1     @&t@\n-<3> three 3     @&t@\n-<4> two   2     @&t@\n-<5> zero  0     @&t@\n+<0> five  5\n+<1> four  4\n+<2> one   1\n+<3> three 3\n+<4> two   2\n+<5> zero  0\n ], [], [test ! -e pid || kill `cat pid`])\n dnl Now do some more transactions.\n AT_CHECK(\n@@ -750,9 +750,9 @@ AT_CHECK([${PERL} $srcdir/uuidfilt.pl stdout], [0], [dnl\n ordinals table\n _uuid                                name  number\n ------------------------------------ ----- ------\n-<0> five  5     @&t@\n-<1> four  4     @&t@\n-<2> three 3     @&t@\n+<0> five  5\n+<1> four  4\n+<2> three 3\n ], [], [test ! -e pid || kill `cat pid`])\n OVSDB_SERVER_SHUTDOWN\n AT_CLEANUP\n@@ -1223,7 +1223,7 @@ cat stdout > output\n AT_CHECK([${PERL} $srcdir/uuidfilt.pl output], [0], [7,9c7,8\n < _uuid                                name number\n < ------------------------------------ ---- ------\n-< <0> one  1     @&t@\n+< <0> one  1\n ---\n > _uuid name number\n > ----- ---- ------\n@@ -1325,7 +1325,7 @@ cat stdout > output\n AT_CHECK([${PERL} $srcdir/uuidfilt.pl output], [0], [7,9c7,8\n < _uuid                                name number\n < ------------------------------------ ---- ------\n-< <0> one  1     @&t@\n+< <0> one  1\n ---\n > _uuid name number\n > ----- ---- ------\n@@ -1344,12 +1344,12 @@ cat stdout > output\n AT_CHECK([${PERL} $srcdir/uuidfilt.pl output], [0], [a table\n _uuid                                name number\n ------------------------------------ ---- ------\n-<0> zero 0     @&t@\n+<0> zero 0\n \n b table\n _uuid                                name number\n ------------------------------------ ---- ------\n-<1> one  1     @&t@\n+<1> one  1\n ])\n \n OVSDB_SERVER_SHUTDOWN\ndiff --git a/tests/ovsdb-tool.at b/tests/ovsdb-tool.at\nindex 2d0f2aa54e97..f782952a3d7f 100644\n--- a/tests/ovsdb-tool.at\n+++ b/tests/ovsdb-tool.at\n@@ -127,12 +127,12 @@ AT_CHECK([${PERL} $srcdir/uuidfilt.pl stdout], [0], [dnl\n ordinals table\n _uuid                                name  number\n ------------------------------------ ----- ------\n-<0> five  5     @&t@\n-<1> four  4     @&t@\n-<2> one   1     @&t@\n-<3> three 3     @&t@\n-<4> two   2     @&t@\n-<5> zero  0     @&t@\n+<0> five  5\n+<1> four  4\n+<2> one   1\n+<3> three 3\n+<4> two   2\n+<5> zero  0\n ])\n dnl Now compact the database in-place.\n touch .db.tmp.~lock~\n@@ -160,12 +160,12 @@ AT_CHECK([${PERL} $srcdir/uuidfilt.pl stdout], [0], [dnl\n ordinals table\n _uuid                                name  number\n ------------------------------------ ----- ------\n-<0> five  5     @&t@\n-<1> four  4     @&t@\n-<2> one   1     @&t@\n-<3> three 3     @&t@\n-<4> two   2     @&t@\n-<5> zero  0     @&t@\n+<0> five  5\n+<1> four  4\n+<2> one   1\n+<3> three 3\n+<4> two   2\n+<5> zero  0\n ])\n AT_CLEANUP\n \n@@ -202,12 +202,12 @@ AT_CHECK([${PERL} $srcdir/uuidfilt.pl stdout], [0], [dnl\n ordinals table\n _uuid                                name  number\n ------------------------------------ ----- ------\n-<0> five  5     @&t@\n-<1> four  4     @&t@\n-<2> one   1     @&t@\n-<3> three 3     @&t@\n-<4> two   2     @&t@\n-<5> zero  0     @&t@\n+<0> five  5\n+<1> four  4\n+<2> one   1\n+<3> three 3\n+<4> two   2\n+<5> zero  0\n ])\n OVS_APP_EXIT_AND_WAIT([ovsdb-server])\n dnl Now convert the database in-place.\n@@ -226,12 +226,12 @@ AT_CHECK([${PERL} $srcdir/uuidfilt.pl stdout], [0], [dnl\n ordinals table\n _uuid                                number\n ------------------------------------ ------\n-<0> 0     @&t@\n-<1> 1     @&t@\n-<2> 2     @&t@\n-<3> 3     @&t@\n-<4> 4     @&t@\n-<5> 5     @&t@\n+<0> 0\n+<1> 1\n+<2> 2\n+<3> 3\n+<4> 4\n+<5> 5\n ])\n OVS_APP_EXIT_AND_WAIT([ovsdb-server])\n AT_CLEANUP\n@@ -268,12 +268,12 @@ AT_CHECK([${PERL} $srcdir/uuidfilt.pl stdout], [0], [dnl\n ordinals table\n _uuid                                number\n ------------------------------------ ------\n-<0> 0     @&t@\n-<1> 1     @&t@\n-<2> 2     @&t@\n-<3> 3     @&t@\n-<4> 4     @&t@\n-<5> 5     @&t@\n+<0> 0\n+<1> 1\n+<2> 2\n+<3> 3\n+<4> 4\n+<5> 5\n ])\n OVS_APP_EXIT_AND_WAIT([ovsdb-server])\n dnl Now convert the database in-place.\n@@ -292,12 +292,12 @@ AT_CHECK([${PERL} $srcdir/uuidfilt.pl stdout], [0], [dnl\n ordinals table\n _uuid                                name number\n ------------------------------------ ---- ------\n-<0> \"\"   0     @&t@\n-<1> \"\"   1     @&t@\n-<2> \"\"   2     @&t@\n-<3> \"\"   3     @&t@\n-<4> \"\"   4     @&t@\n-<5> \"\"   5     @&t@\n+<0> \"\"   0\n+<1> \"\"   1\n+<2> \"\"   2\n+<3> \"\"   3\n+<4> \"\"   4\n+<5> \"\"   5\n ])\n OVS_APP_EXIT_AND_WAIT([ovsdb-server])\n AT_CLEANUP\n","prefixes":["ovs-dev","RFC","03/52"]}