diff mbox series

[ovs-dev,v2,1/2] tests-ovsdb: switch OVSDB_START_IDLTEST to macro

Message ID a22774e1e3b380adf96ce3fba6b19c45f94b56e7.camel@cloudandheat.com
State Changes Requested
Headers show
Series [ovs-dev,v2,1/2] tests-ovsdb: switch OVSDB_START_IDLTEST to macro | expand

Commit Message

Stefan Hoffmann May 10, 2023, 9:43 a.m. UTC
Define bash function as macro now. Later we can extend this macro for other
usecases.

Signed-off-by: Stefan Hoffmann <stefan.hoffmann@cloudandheat.com>
---
 tests/ovsdb-idl.at | 71 +++++++++++++++++++++++++---------------------
 1 file changed, 38 insertions(+), 33 deletions(-)

Comments

Ilya Maximets May 10, 2023, 11:15 a.m. UTC | #1
On 5/10/23 11:43, Stefan Hoffmann wrote:
> Define bash function as macro now. Later we can extend this macro for other
> usecases.
> 
> Signed-off-by: Stefan Hoffmann <stefan.hoffmann@cloudandheat.com>

Hi, Stefan.  Is there any difference between this patch and the
previous (also v2):
  https://patchwork.ozlabs.org/project/openvswitch/patch/d1da6f423fbae13df270a5f4124988ee89e65cca.camel@cloudandheat.com/
?

I'm a bit confused on why it was sent a second time.

Best regards, Ilya Maximets.
Stefan Hoffmann May 10, 2023, 11:48 a.m. UTC | #2
On Wed, 2023-05-10 at 13:15 +0200, Ilya Maximets wrote:
> On 5/10/23 11:43, Stefan Hoffmann wrote:
> > Define bash function as macro now. Later we can extend this macro for other
> > usecases.
> > 
> > Signed-off-by: Stefan Hoffmann <stefan.hoffmann@cloudandheat.com>
> 
> Hi, Stefan.  Is there any difference between this patch and the
> previous (also v2):
>   https://patchwork.ozlabs.org/project/openvswitch/patch/d1da6f423fbae13df270a5f4124988ee89e65cca.camel@cloudandheat.com/
> ?
> 
> I'm a bit confused on why it was sent a second time.
> 
> Best regards, Ilya Maximets.

Hi,

sorry for the confusion. It's the exact same change. I tried to get a
green Pipeline. I guess, there is a better way to do so. Sorry for the
mess.
Ilya Maximets May 10, 2023, 11:58 a.m. UTC | #3
On 5/10/23 13:48, Stefan Hoffmann wrote:
> On Wed, 2023-05-10 at 13:15 +0200, Ilya Maximets wrote:
>> On 5/10/23 11:43, Stefan Hoffmann wrote:
>>> Define bash function as macro now. Later we can extend this macro for other
>>> usecases.
>>>
>>> Signed-off-by: Stefan Hoffmann <stefan.hoffmann@cloudandheat.com>
>>
>> Hi, Stefan.  Is there any difference between this patch and the
>> previous (also v2):
>>   https://patchwork.ozlabs.org/project/openvswitch/patch/d1da6f423fbae13df270a5f4124988ee89e65cca.camel@cloudandheat.com/
>> ?
>>
>> I'm a bit confused on why it was sent a second time.
>>
>> Best regards, Ilya Maximets.
> 
> Hi,
> 
> sorry for the confusion. It's the exact same change. I tried to get a
> green Pipeline. I guess, there is a better way to do so. Sorry for the
> mess.
> 

The main problem is that incomplete sets are not getting tested at all.
So, you need to send both patches as a set.  Also, you need to increase
version number regardless.  Just put the version history under the '---'
in the commit message describing what changed or why the new version was
sent.  With the patch set being incomplete and with the version numbers
unchanged, the automation is confused.

You only had one test #27 failed and it's a known flaky test, so there
was no real need to re-port.

You'll need to re-post the set as v3 to un-confuse the automation.
I'll have a quick look over the patch set today, so maybe you'll have
something to fix along the way and not just re-post.

Best regards, Ilya Maximets.
diff mbox series

Patch

diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at
index 9d28672ef..ba05ba985 100644
--- a/tests/ovsdb-idl.at
+++ b/tests/ovsdb-idl.at
@@ -1,16 +1,21 @@ 
 AT_BANNER([OVSDB -- interface description language (IDL)])
 
 m4_divert_text([PREPARE_TESTS], [
-# ovsdb_start_idltest [REMOTE] [SCHEMA]
+# OVSDB_START_IDLTEST([REMOTE], [SCHEMA])
 #
 # Creates a database using SCHEMA (default: idltest.ovsschema) and
 # starts a database server listening on punix:socket and REMOTE (if
 # specified).
-ovsdb_start_idltest () {
-    ovsdb-tool create db ${2:-$abs_srcdir/idltest.ovsschema} || return $?
-    ovsdb-server -vconsole:warn --log-file --detach --no-chdir --pidfile --remote=punix:socket ${1:+--remote=$1} db || return $?
-    on_exit 'kill `cat ovsdb-server.pid`'
-}
+m4_define([OVSDB_START_IDLTEST],
+[
+  AT_CHECK([ovsdb-tool create db dnl
+              m4_if([$2], [], [$abs_srcdir/idltest.ovsschema], [$2])])
+  AT_CHECK([ovsdb-server -vconsole:warn --log-file --detach --no-chdir dnl
+              --pidfile --remote=punix:socket dnl
+              m4_if([$1], [], [], [--remote=$1]) db dnl
+  ])
+  on_exit 'kill `cat ovsdb-server.pid`'
+])
 
 # ovsdb_cluster_leader [REMOTES] [DATABASE]
 #
@@ -77,7 +82,7 @@  m4_define([OVSDB_CLUSTER_START_IDLTEST],
 m4_define([OVSDB_CHECK_IDL_C],
   [AT_SETUP([$1 - C])
    AT_KEYWORDS([ovsdb server idl positive $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket $3],
@@ -91,7 +96,7 @@  m4_define([OVSDB_CHECK_IDL_C],
 m4_define([OVSDB_CHECK_IDL_WRITE_CHANGED_ONLY_C],
   [AT_SETUP([$1 - write-changed-only - C])
    AT_KEYWORDS([ovsdb server idl positive $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 --write-changed-only idl unix:socket $3],
@@ -105,7 +110,7 @@  m4_define([OVSDB_CHECK_IDL_WRITE_CHANGED_ONLY_C],
 m4_define([OVSDB_CHECK_IDL_TCP_C],
   [AT_SETUP([$1 - C - tcp])
    AT_KEYWORDS([ovsdb server idl positive tcp socket $5])
-   AT_CHECK([ovsdb_start_idltest "ptcp:0:127.0.0.1"])
+   OVSDB_START_IDLTEST(["ptcp:0:127.0.0.1"])
    PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
 
    m4_if([$2], [], [],
@@ -123,7 +128,7 @@  m4_define([OVSDB_CHECK_IDL_TCP6_C],
    AT_SKIP_IF([test "$IS_WIN32" = "yes"])
    AT_SKIP_IF([test $HAVE_IPV6 = no])
    AT_KEYWORDS([ovsdb server idl positive tcp6 socket $5])
-   AT_CHECK([ovsdb_start_idltest "ptcp:0:[[::1]]"])
+   OVSDB_START_IDLTEST(["ptcp:0:[[::1]]"])
    PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
 
    m4_if([$2], [], [],
@@ -139,7 +144,7 @@  m4_define([OVSDB_CHECK_IDL_TCP6_C],
 m4_define([OVSDB_CHECK_IDL_PY],
   [AT_SETUP([$1 - Python3])
    AT_KEYWORDS([ovsdb server idl positive Python $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket $3],
@@ -152,7 +157,7 @@  m4_define([OVSDB_CHECK_IDL_PY],
 m4_define([OVSDB_CHECK_IDL_REGISTER_COLUMNS_PY],
   [AT_SETUP([$1 - Python3 - register_columns])
    AT_KEYWORDS([ovsdb server idl positive Python register_columns $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket ?simple:b,ba,i,ia,r,ra,s,sa,u,ua?simple3:name,uset,uref?simple4:name?simple6:name,weak_ref?link1:i,k,ka,l2?link2:i,l1?singleton:name $3],
@@ -166,7 +171,7 @@  m4_define([OVSDB_CHECK_IDL_REGISTER_COLUMNS_PY],
 m4_define([OVSDB_CHECK_IDL_TCP_PY],
   [AT_SETUP([$1 - Python3 - tcp])
    AT_KEYWORDS([ovsdb server idl positive Python with tcp socket $5])
-   AT_CHECK([ovsdb_start_idltest "ptcp:0:127.0.0.1"])
+   OVSDB_START_IDLTEST(["ptcp:0:127.0.0.1"])
    PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
 
    m4_if([$2], [], [],
@@ -183,7 +188,7 @@  m4_define([OVSDB_CHECK_IDL_TCP_PY],
 m4_define([OVSDB_CHECK_IDL_TCP_MULTIPLE_REMOTES_PY],
   [AT_SETUP([$1 - Python3 (multiple remotes) - tcp])
    AT_KEYWORDS([ovsdb server idl positive Python with tcp socket $5])
-   AT_CHECK([ovsdb_start_idltest "ptcp:0:127.0.0.1"])
+   OVSDB_START_IDLTEST(["ptcp:0:127.0.0.1"])
    PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
    WRONG_PORT_1=$((TCP_PORT + 101))
    WRONG_PORT_2=$((TCP_PORT + 102))
@@ -203,7 +208,7 @@  m4_define([OVSDB_CHECK_IDL_TCP6_PY],
    AT_SKIP_IF([test "$IS_WIN32" = "yes"])
    AT_SKIP_IF([test $HAVE_IPV6 = no])
    AT_KEYWORDS([ovsdb server idl positive Python with tcp6 socket $5])
-   AT_CHECK([ovsdb_start_idltest "ptcp:0:[[::1]]"])
+   OVSDB_START_IDLTEST(["ptcp:0:[[::1]]"])
    PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
    echo "TCP_PORT=$TCP_PORT"
 
@@ -221,7 +226,7 @@  m4_define([OVSDB_CHECK_IDL_TCP6_MULTIPLE_REMOTES_PY],
    AT_SKIP_IF([test "$IS_WIN32" = "yes"])
    AT_SKIP_IF([test $HAVE_IPV6 = no])
    AT_KEYWORDS([ovsdb server idl positive Python with tcp6 socket $5])
-   AT_CHECK([ovsdb_start_idltest "ptcp:0:[[::1]]"])
+   OVSDB_START_IDLTEST(["ptcp:0:[[::1]]"])
    PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
    WRONG_PORT_1=$((TCP_PORT + 101))
    WRONG_PORT_2=$((TCP_PORT + 102))
@@ -287,13 +292,13 @@  m4_define([OVSDB_CHECK_IDL_PASSIVE_TCP_PY],
   [AT_SETUP([$1 - Python3 - ptcp])
    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"])
+   OVSDB_START_IDLTEST(["ptcp:0:127.0.0.1"])
    PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
    OVSDB_SERVER_SHUTDOWN
    rm -f db
 
    # start OVSDB server in passive mode
-   AT_CHECK([ovsdb_start_idltest "tcp:127.0.0.1:$TCP_PORT"])
+   OVSDB_START_IDLTEST(["tcp:127.0.0.1:$TCP_PORT"])
    AT_CHECK([$PYTHON3 $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]]),
@@ -473,7 +478,7 @@  OVSDB_CHECK_IDL([simple idl, writing via IDL with unicode],
 m4_define([OVSDB_CHECK_IDL_PY_WITH_EXPOUT],
   [AT_SETUP([$1 - Python3])
    AT_KEYWORDS([ovsdb server idl positive Python $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket $3],
@@ -990,7 +995,7 @@  AT_KEYWORDS([ovsdb server idl positive])
 # table link2 and column l2 have been deleted.  But the IDL still
 # expects them to be there, so this test checks that it properly
 # tolerates them being missing.
-AT_CHECK([ovsdb_start_idltest "" "$abs_srcdir/idltest2.ovsschema"])
+OVSDB_START_IDLTEST([""], ["$abs_srcdir/idltest2.ovsschema"])
 AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket ['["idltest",
       {"op": "insert",
        "table": "link1",
@@ -1063,7 +1068,7 @@  AT_CLEANUP
 m4_define([OVSDB_CHECK_IDL_FETCH_COLUMNS_PY],
   [AT_SETUP([$1 - Python3 - fetch])
    AT_KEYWORDS([ovsdb server idl positive Python increment fetch $6])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket [$3] $4],
@@ -1107,7 +1112,7 @@  OVSDB_CHECK_IDL_FETCH_COLUMNS([simple idl, initially populated],
 m4_define([OVSDB_CHECK_IDL_WO_MONITOR_COND_PY],
   [AT_SETUP([$1 - Python3])
    AT_KEYWORDS([ovsdb server idl Python monitor $4])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/disable-monitor-cond])
    AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket $2],
             [0], [stdout], [ignore])
@@ -1200,7 +1205,7 @@  OVSDB_CHECK_IDL_WO_MONITOR_COND([simple idl disable monitor-cond],
 m4_define([OVSDB_CHECK_IDL_TRACK_C],
   [AT_SETUP([$1 - C])
    AT_KEYWORDS([ovsdb server idl tracking positive $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 -c idl unix:socket $3],
@@ -1213,7 +1218,7 @@  m4_define([OVSDB_CHECK_IDL_TRACK_C],
 m4_define([OVSDB_CHECK_IDL_TRACK_WRITE_CHANGED_ONLY_C],
   [AT_SETUP([$1 - write-changed-only - C])
    AT_KEYWORDS([ovsdb server idl tracking positive $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 -c --write-changed-only idl unix:socket $3],
@@ -1716,7 +1721,7 @@  OVSDB_CHECK_IDL_TRACK([track, simple idl, initially empty, various ops],
 m4_define([OVSDB_CHECK_IDL_PARTIAL_UPDATE_MAP_COLUMN],
   [AT_SETUP([$1 - C])
    AT_KEYWORDS([ovsdb server idl partial update map column positive $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 -c idl-partial-update-map-column unix:socket $3],
@@ -1777,7 +1782,7 @@  OVSDB_CHECK_IDL_PY([partial-map update set refmap idl],
 m4_define([OVSDB_CHECK_IDL_PARTIAL_UPDATE_SET_COLUMN],
   [AT_SETUP([$1 - C])
    AT_KEYWORDS([ovsdb server idl partial update set column positive $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 -c idl-partial-update-set-column unix:socket $3],
@@ -1966,7 +1971,7 @@  OVSDB_CHECK_IDL_NOTIFY([simple idl verify notify],
 m4_define([OVSDB_CHECK_IDL_COMPOUND_INDEX_SINGLE_COLUMN_C],
   [AT_SETUP([$1 - C])
    AT_KEYWORDS([ovsdb server idl compound_index_single_column compound_index positive $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
 # Generate the data to be tested.
@@ -2113,7 +2118,7 @@  OVSDB_CHECK_IDL_COMPOUND_INDEX_SINGLE_COLUMN_C([Compound_index, single column te
 m4_define([OVSDB_CHECK_IDL_COMPOUND_INDEX_DOUBLE_COLUMN_C],
   [AT_SETUP([$1 - C])
    AT_KEYWORDS([ovsdb server idl compound_index_double_column compound_index positive $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
 # Generate the data to be tested.
@@ -2252,7 +2257,7 @@  OVSDB_CHECK_IDL_COMPOUND_INDEX_DOUBLE_COLUMN_C([Compound_index, double column te
 m4_define([OVSDB_CHECK_IDL_COMPOUND_INDEX_WITH_REF],
   [AT_SETUP([$1 - C])
    AT_KEYWORDS([ovsdb server idl compound_index compound_index_with_ref positive $5])
-   AT_CHECK([ovsdb_start_idltest])
+   OVSDB_START_IDLTEST
    m4_if([$2], [], [],
      [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 -c idl-compound-index-with-ref unix:socket $3],
@@ -2280,7 +2285,7 @@  m4_define([CHECK_STREAM_OPEN_BLOCK],
    AT_SKIP_IF([test "$3" = "tcp6" && test "$IS_WIN32" = "yes"])
    AT_SKIP_IF([test "$3" = "tcp6" && test "$HAVE_IPV6" = "no"])
    AT_KEYWORDS([ovsdb server stream open_block $3])
-   AT_CHECK([ovsdb_start_idltest "ptcp:0:$4"])
+   OVSDB_START_IDLTEST(["ptcp:0:$4"])
    PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
    WRONG_PORT=$(($TCP_PORT + 101))
    AT_CHECK([$2 tcp:$4:$TCP_PORT], [0], [ignore])
@@ -2468,7 +2473,7 @@  reconnect.*waiting .* seconds before reconnect)
 
 AT_SETUP([idl table and column presence check])
 AT_KEYWORDS([ovsdb server idl table column check])
-AT_CHECK([ovsdb_start_idltest "" "$abs_srcdir/idltest2.ovsschema"])
+OVSDB_START_IDLTEST([""], ["$abs_srcdir/idltest2.ovsschema"])
 
 AT_CHECK(ovsdb-tool create db2 $abs_srcdir/idltest.ovsschema)
 AT_CHECK(ovsdb-server -vconsole:warn --log-file=ovsdb-server2.log --detach dnl
@@ -2596,7 +2601,7 @@  OVSDB_CHECK_IDL_TRACK([track, insert and delete, refs to link2],
 m4_define([OVSDB_CHECK_IDL_PERS_UUID_INSERT_C],
   [AT_SETUP([$1 - C])
    AT_KEYWORDS([idl persistent uuid insert])
-   AT_CHECK([ovsdb_start_idltest "" "$abs_srcdir/idltest.ovsschema"])
+   OVSDB_START_IDLTEST([""], ["$abs_srcdir/idltest.ovsschema"])
    AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket $2],
             [0], [stdout], [stderr])
    AT_CHECK([sort stdout],
@@ -2608,7 +2613,7 @@  m4_define([OVSDB_CHECK_IDL_PERS_UUID_INSERT_C],
 m4_define([OVSDB_CHECK_IDL_PERS_UUID_INSERT_PY],
   [AT_SETUP([$1 - Python3])
    AT_KEYWORDS([idl persistent uuid insert])
-   AT_CHECK([ovsdb_start_idltest "" "$abs_srcdir/idltest.ovsschema"])
+   OVSDB_START_IDLTEST([""], ["$abs_srcdir/idltest.ovsschema"])
    AT_CHECK([$PYTHON3 $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket $2],
             [0], [stdout], [stderr])
    AT_CHECK([sort stdout],