diff mbox series

[ovs-dev] tests: Fix 'long poll' failures due to large time warp.

Message ID e3de8f929d82275d759b0ec9be2d44f0c0317367.1705416626.git.echaudro@redhat.com
State Superseded
Headers show
Series [ovs-dev] tests: Fix 'long poll' failures due to large time warp. | expand

Checks

Context Check Description
ovsrobot/intel-ovs-compilation fail test: fail
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed

Commit Message

Eelco Chaudron Jan. 16, 2024, 2:50 p.m. UTC
Large time warps can cause the long poll log message to happen.
However, due to the level change, they could now cause failures.
This patch will stop these messages from failing the tests.

Decided to exclude the log message on events that are greater or
equal to two seconds. Rather than breaking up the actual
time warps in 'time/warp LARGE_MSECS MSECS" to avoid potential
side effects of this causing new regression failures.

Fixes: 9bcfb8fb7784 ("ofproto-dpif-upcall: Change flow dump duration message to WARN level.")
Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
---
 tests/alb.at                  |  4 ++--
 tests/dpif-netdev.at          | 12 +++++------
 tests/drop-stats.at           |  5 +++--
 tests/learn.at                |  6 +++---
 tests/mcast-snooping.at       |  3 +++
 tests/nsh.at                  |  4 ++--
 tests/ofproto-dpif.at         | 38 +++++++++++++++++------------------
 tests/ofproto.at              | 10 ++++-----
 tests/tunnel-push-pop-ipv6.at |  2 +-
 tests/tunnel-push-pop.at      |  3 ++-
 tests/tunnel.at               |  4 ++--
 11 files changed, 48 insertions(+), 43 deletions(-)

Comments

Ilya Maximets Jan. 16, 2024, 2:57 p.m. UTC | #1
On 1/16/24 15:50, Eelco Chaudron wrote:
> Large time warps can cause the long poll log message to happen.

These are not 'long poll' messages, these are dump duration
messages.  Same in the subject line.

> However, due to the level change, they could now cause failures.
> This patch will stop these messages from failing the tests.
> 
> Decided to exclude the log message on events that are greater or
> equal to two seconds. Rather than breaking up the actual
> time warps in 'time/warp LARGE_MSECS MSECS" to avoid potential
> side effects of this causing new regression failures.

Maybe just add it to the check_logs() function with an explanation
in the comment?  We do not expect this warning to fire in any tests
we have, really.  And we didn't have it as a warning at all in the
past, so it's not a reduction in test coverage.

Wht do you think?

Best regards, Ilya Maximets.
Eelco Chaudron Jan. 16, 2024, 3:31 p.m. UTC | #2
On 16 Jan 2024, at 15:57, Ilya Maximets wrote:

> On 1/16/24 15:50, Eelco Chaudron wrote:
>> Large time warps can cause the long poll log message to happen.
>
> These are not 'long poll' messages, these are dump duration
> messages.  Same in the subject line.
>
>> However, due to the level change, they could now cause failures.
>> This patch will stop these messages from failing the tests.
>>
>> Decided to exclude the log message on events that are greater or
>> equal to two seconds. Rather than breaking up the actual
>> time warps in 'time/warp LARGE_MSECS MSECS" to avoid potential
>> side effects of this causing new regression failures.
>
> Maybe just add it to the check_logs() function with an explanation
> in the comment?  We do not expect this warning to fire in any tests
> we have, really.  And we didn't have it as a warning at all in the
> past, so it's not a reduction in test coverage.
>
> Wht do you think?

Yes, I like that :) My mind only thinks about long poll messages :)

Will send a v2.

//Eelco
diff mbox series

Patch

diff --git a/tests/alb.at b/tests/alb.at
index 32dc40a1b..f8ae7e457 100644
--- a/tests/alb.at
+++ b/tests/alb.at
@@ -89,7 +89,7 @@  get_log_next_line_num
 ovs-appctl time/warp 600000 10000
 OVS_WAIT_UNTIL([tail -n +$LINENUM ovs-vswitchd.log | grep "PMD auto load balance nothing to do, no configuration changes since last check."])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ALB - cross-numa])
@@ -135,7 +135,7 @@  ovs-appctl time/warp 600000 10000
 OVS_WAIT_UNTIL([tail -n +$LINENUM ovs-vswitchd.log | grep "PMD auto load balance performing dry run."])
 OVS_WAIT_UNTIL([tail -n +$LINENUM ovs-vswitchd.log | grep "PMD auto load balance detected cross-numa polling"])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ALB - PMD/RxQ assignment type])
diff --git a/tests/dpif-netdev.at b/tests/dpif-netdev.at
index d0359b5ea..45fa12c71 100644
--- a/tests/dpif-netdev.at
+++ b/tests/dpif-netdev.at
@@ -80,7 +80,7 @@  AT_CHECK([ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:
    AT_CHECK([grep -A 1 'miss upcall' ovs-vswitchd.log | tail -n 1], [0], [dnl
 recirc_id(0),dp_hash(0),skb_priority(0),in_port(1),skb_mark(0),ct_state(0),ct_zone(0),ct_mark(0),ct_label(0),packet_type(ns=0,id=0),eth(src=50:54:00:00:00:05,dst=50:54:00:00:06:00),eth_type(0x0800),ipv4(src=10.0.0.5,dst=10.0.0.6,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9),tcp_flags(ack)
 ])
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 
@@ -117,7 +117,7 @@  recirc_id(0),in_port(7),packet_type(ns=0,id=0),eth(src=50:54:00:00:00:09,dst=50:
 recirc_id(0),in_port(8),packet_type(ns=0,id=0),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(frag=no), actions: <del>
 ])
 
-   OVS_VSWITCHD_STOP
+   OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
    AT_CLEANUP])
 
 DPIF_NETDEV_DUMMY_IFACE([dummy])
@@ -399,7 +399,7 @@  recirc_id(0),in_port(8),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), a
 
 AT_CHECK([ovs-ofctl -O OpenFlow13 del-meters br0])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 m4_define([DPIF_NETDEV_FLOW_HW_OFFLOAD],
@@ -458,7 +458,7 @@  recirc_id(0),in_port(1),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), p
    AT_CHECK([filter_hw_flow_del < ovs-vswitchd.log | strip_xout], [0], [dnl
 p1: flow del: mark: 1
 ])
-   OVS_VSWITCHD_STOP
+   OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
    AT_CLEANUP])
 
 DPIF_NETDEV_FLOW_HW_OFFLOAD([dummy])
@@ -536,7 +536,7 @@  udp,in_port=ANY,dl_vlan=99,dl_vlan_pcp=7,vlan_tci1=0x0000,dl_src=00:06:07:08:09:
 udp,in_port=ANY,dl_vlan=99,dl_vlan_pcp=7,vlan_tci1=0x0000,dl_src=00:06:07:08:09:0a,dl_dst=00:01:02:03:04:05,nw_src=192.168.0.7,nw_dst=127.0.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,nw_frag=no,tp_src=81,tp_dst=3773
 ])
 
-   OVS_VSWITCHD_STOP
+   OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
    AT_CLEANUP])
 
 DPIF_NETDEV_FLOW_HW_OFFLOAD_OFFSETS([dummy])
@@ -613,7 +613,7 @@  arp,in_port=ANY,dl_vlan=99,dl_vlan_pcp=7,vlan_tci1=0x0000,dl_src=00:06:07:08:09:
 arp,in_port=ANY,dl_vlan=11,dl_vlan_pcp=7,vlan_tci1=0x0000,dl_src=00:06:07:08:09:0a,dl_dst=00:01:02:03:04:05,arp_spa=127.0.0.1,arp_tpa=127.0.0.1,arp_op=1,arp_sha=00:0b:0c:0d:0e:0f,arp_tha=00:00:00:00:00:00
 ])
 
-   OVS_VSWITCHD_STOP
+   OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
    AT_CLEANUP])
 
 DPIF_NETDEV_FLOW_HW_OFFLOAD_OFFSETS_VID_ARP([dummy])
diff --git a/tests/drop-stats.at b/tests/drop-stats.at
index 1d3af98da..63d643201 100644
--- a/tests/drop-stats.at
+++ b/tests/drop-stats.at
@@ -37,7 +37,7 @@  ovs-appctl coverage/read-counter drop_action_of_pipeline
 ])
 
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([drop-stats - pipeline and recursion drops])
@@ -152,7 +152,8 @@  ovs-appctl coverage/read-counter drop_action_stack_too_deep
 ])
 
 
-OVS_VSWITCHD_STOP(["/resubmits yielded over 64 kB of stack/d"])
+OVS_VSWITCHD_STOP(["/resubmits yielded over 64 kB of stack/d
+/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([drop-stats - too many mpls labels])
diff --git a/tests/learn.at b/tests/learn.at
index d0bcc8363..4aeaf1995 100644
--- a/tests/learn.at
+++ b/tests/learn.at
@@ -238,7 +238,7 @@  sleep 1
 AT_CHECK([ovs-ofctl dump-flows br0 table=1 --no-stats | sort], [0], [dnl
  table=1, priority=0 actions=FLOOD
 ])
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([learning action - TCPv4 port learning])
@@ -490,7 +490,7 @@  AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0],
  n_packets=3, n_bytes=354, hard_timeout=10, priority=65535,vlan_tci=0x0000/0x0fff,dl_src=50:54:00:00:00:06 actions=output:3
 NXST_FLOW reply:
 ]])
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([learning action - fin_timeout feature])
@@ -894,5 +894,5 @@  AT_CHECK([ovs-ofctl --no-stats dump-flows br0 | ofctl_strip | grep 0x123], [0],
  table=2, actions=learn(table=0,hard_timeout=3,priority=1,cookie=0x123,NXM_OF_ETH_DST[[]]=NXM_OF_ETH_SRC[[]],output:OXM_OF_IN_PORT[[]]),output:3
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
diff --git a/tests/mcast-snooping.at b/tests/mcast-snooping.at
index 890e6aca0..becabdc69 100644
--- a/tests/mcast-snooping.at
+++ b/tests/mcast-snooping.at
@@ -482,6 +482,7 @@  AT_CHECK([ovs-appctl mdb/show br0], [0], [dnl
     1     2  224.1.1.1           0
 ])
 
+OVS_VSWITCHD_STOP
 AT_CLEANUP
 
 AT_SETUP([mcast - delete the port mdb when port destroyed])
@@ -537,6 +538,7 @@  AT_CHECK([ovs-appctl mdb/show br0], [0], [dnl
     1     2  224.1.1.1           0
 ])
 
+OVS_VSWITCHD_STOP
 AT_CLEANUP
 
 
@@ -604,4 +606,5 @@  recirc_id(<recirc>),in_port(1),ct_state(+new-inv+trk),eth_type(0x0800),ipv4(prot
 recirc_id(<recirc>),in_port(1),ct_state(+new-inv+trk),eth_type(0x0800),ipv4(proto=2,frag=no), packets:0, bytes:0, used:never, actions:userspace(controller(reason=1,dont_send=0,continuation=0,recirc_id=<recirc>,rule_cookie=0,controller_id=0,max_len=65535))
 ])
 
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
diff --git a/tests/nsh.at b/tests/nsh.at
index 55296e559..0079d079b 100644
--- a/tests/nsh.at
+++ b/tests/nsh.at
@@ -176,7 +176,7 @@  recirc_id(0),in_port(1),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(frag=no), p
 recirc_id(0x4),in_port(1),packet_type(ns=0,id=0),eth_type(0x8100),vlan(vid=100),encap(eth_type(0x0800),ipv4(frag=no)), packets:1, bytes:102, used:0.0s, actions:2
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 
@@ -819,5 +819,5 @@  AT_CHECK([
  table=3, n_packets=4, n_bytes=336, packet_type=(1,0x800) actions=encap(ethernet),set_field:aa:55:aa:55:00:03->eth_dst,output:30
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
index e305e7b9c..0ec2dcc7e 100644
--- a/tests/ofproto-dpif.at
+++ b/tests/ofproto-dpif.at
@@ -1758,7 +1758,7 @@  AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
 NXST_FLOW reply:
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - Default Table Miss - OF1.3 (OFPTC_TABLE_MISS_DROP)])
@@ -1786,7 +1786,7 @@  AT_CHECK([ovs-ofctl -OOpenFlow13 dump-flows br0 | ofctl_strip | sort], [0], [dnl
 OFPST_FLOW reply (OF1.3):
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - Table Miss - goto table and OFPTC_TABLE_MISS_CONTROLLER])
@@ -2047,7 +2047,7 @@  AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
 NXST_FLOW reply:
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - Table Miss - goto table and OFPTC_TABLE_MISS_DROP])
@@ -2377,7 +2377,7 @@  AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
 NXST_FLOW reply:
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 
@@ -3529,7 +3529,7 @@  AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
 NXST_FLOW reply:
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - MPLS handling with goto_table])
@@ -3706,7 +3706,7 @@  AT_CHECK([ovs-ofctl --protocols=OpenFlow13 dump-flows br0 | ofctl_strip | sort],
 OFPST_FLOW reply (OF1.3):
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - table-miss flow with async config (OpenFlow 1.3)])
@@ -3779,7 +3779,7 @@  AT_CHECK([ovs-ofctl --protocols=OpenFlow13 dump-flows br0 | ofctl_strip | sort],
 OFPST_FLOW reply (OF1.3):
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 
@@ -3821,7 +3821,7 @@  AT_CHECK([ovs-ofctl --protocols=OpenFlow14 dump-flows br0 | ofctl_strip | sort],
 OFPST_FLOW reply (OF1.4):
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 
@@ -3893,7 +3893,7 @@  AT_CHECK([ovs-ofctl --protocols=OpenFlow13 dump-flows br0 | ofctl_strip | sort],
 OFPST_FLOW reply (OF1.3):
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 
@@ -3965,7 +3965,7 @@  AT_CHECK([ovs-ofctl --protocols=OpenFlow14 dump-flows br0 | ofctl_strip | sort],
 OFPST_FLOW reply (OF1.4):
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - packet-in reasons (Openflow 1.3)])
@@ -4033,7 +4033,7 @@  arp,in_port=ANY,vlan_tci=0x0000,dl_src=80:88:88:88:88:88,dl_dst=ff:ff:ff:ff:ff:f
 arp,in_port=ANY,vlan_tci=0x0000,dl_src=80:88:88:88:88:88,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=192.168.128.1,arp_tpa=192.168.0.2,arp_op=2,arp_sha=50:54:00:00:00:05,arp_tha=40:44:44:44:44:41
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - VLAN handling])
@@ -7360,7 +7360,7 @@  AT_CHECK_UNQUOTED([ovs-appctl fdb/stats-show br0 | grep expired], [0], [dnl
   Total number of expired MAC entries     : 2
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - basic truncate action])
@@ -7850,7 +7850,7 @@  m4_define([CHECK_NETFLOW_EXPIRATION],
 
   ovs-appctl time/warp 6000
   ovs-appctl revalidator/wait
-  OVS_VSWITCHD_STOP
+  OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
   OVS_APP_EXIT_AND_WAIT([test-netflow])
 
   AT_CHECK([test `grep "192.168.0.1 > 192.168.0.2, if 1 > 65535, 1 pkts, 106 bytes, ICMP 8:0" netflow.log | wc -l` -eq 1])
@@ -7901,7 +7901,7 @@  m4_define([CHECK_NETFLOW_ACTIVE_EXPIRATION],
   ovs-appctl time/warp 10000
 
   ovs-appctl revalidator/wait
-  OVS_VSWITCHD_STOP
+  OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
   OVS_APP_EXIT_AND_WAIT([test-netflow])
 
   # Count the number of reported packets:
@@ -8719,7 +8719,7 @@  AT_CHECK([test $idle3 -gt $hard3])
 AT_CHECK([test $idle4 -lt $hard4])
 AT_CHECK([test $hard4 -lt $duration4])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - fin_timeout])
@@ -9060,7 +9060,7 @@  AT_CHECK([sed -n 's/=[[0-9]][[0-9]]\(\.[[0-9]][[0-9]]*\)\{0,1\}s/=?s/p' stdout],
            duration=?s
            duration=?s
 ])
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 
@@ -9377,7 +9377,7 @@  AT_CHECK([filter_flow_install < ovs-vswitchd.log | strip_xout], [0], [dnl
 recirc_id(0),in_port(7),packet_type(ns=0,id=0),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(frag=no), actions: <del>
 recirc_id(0),in_port(7),packet_type(ns=0,id=0),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(frag=no), actions: <del>
 ])
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif megaflow - resubmit port action])
@@ -10846,7 +10846,7 @@  dnl
 OFPT_ECHO_REQUEST (xid=0x0): 0 bytes of payload
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - conntrack - untrackable traffic])
@@ -11859,7 +11859,7 @@  dnl We don't want revalidators to delete any flow.  If the flow has been
 dnl deleted it means that there's some inconsistency with the revalidation.
 AT_CHECK([grep flow_del ovs-vswitchd.log], [1])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto-dpif - check_pkt_larger action])
diff --git a/tests/ofproto.at b/tests/ofproto.at
index 2889f81fb..c463f21f1 100644
--- a/tests/ofproto.at
+++ b/tests/ofproto.at
@@ -3032,7 +3032,7 @@  AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
  in_port=5 actions=drop
 NXST_FLOW reply:
 ])
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto - eviction upon table overflow, with modified idle timeout])
@@ -3076,7 +3076,7 @@  AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip | sort], [0], [dnl
  n_packets=1, n_bytes=14, idle_timeout=13, in_port=1 actions=drop
 NXST_FLOW reply:
 ])
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto - asynchronous message control (OpenFlow 1.0)])
@@ -5662,7 +5662,7 @@  OFPT_BUNDLE_CONTROL (OF1.4):
 OFPT_BARRIER_REPLY (OF1.4):
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto - bundle custom timeout (OpenFlow 1.4)])
@@ -5727,7 +5727,7 @@  OFPT_BUNDLE_CONTROL (OF1.4):
 OFPT_BARRIER_REPLY (OF1.4):
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto - bundle reset timeout to default (OpenFlow 1.4)])
@@ -5792,7 +5792,7 @@  OFPT_BUNDLE_CONTROL (OF1.4):
 OFPT_BARRIER_REPLY (OF1.4):
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([ofproto - bundle open (OpenFlow 1.3)])
diff --git a/tests/tunnel-push-pop-ipv6.at b/tests/tunnel-push-pop-ipv6.at
index a8dd28c5b..81e31ea5a 100644
--- a/tests/tunnel-push-pop-ipv6.at
+++ b/tests/tunnel-push-pop-ipv6.at
@@ -634,5 +634,5 @@  AT_CHECK([ovs-appctl tnl/ports/show |sort], [0], [dnl
 Listening ports:
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
diff --git a/tests/tunnel-push-pop.at b/tests/tunnel-push-pop.at
index b1440f590..5a9c5df1d 100644
--- a/tests/tunnel-push-pop.at
+++ b/tests/tunnel-push-pop.at
@@ -678,7 +678,8 @@  Listening ports:
 ])
 
 OVS_VSWITCHD_STOP(["/dropping tunnel packet marked ECN CE but is not ECN capable/d
-/ip packet has invalid checksum/d"])
+/ip packet has invalid checksum/d
+/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([tunnel_push_pop - packet_out])
diff --git a/tests/tunnel.at b/tests/tunnel.at
index 282651ac7..d1e20b1e3 100644
--- a/tests/tunnel.at
+++ b/tests/tunnel.at
@@ -256,7 +256,7 @@  ovs-appctl coverage/read-counter datapath_drop_invalid_port
 1
 ])
 
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([tunnel - ToS and TTL inheritance])
@@ -295,7 +295,7 @@  AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:
 AT_CHECK([tail -1 stdout], [0],
   [Datapath actions: set(tunnel(dst=1.1.1.1,ttl=64,flags(df))),1
 ])
-OVS_VSWITCHD_STOP
+OVS_VSWITCHD_STOP(["/Spent an unreasonably long .*ms dumping flows/d"])
 AT_CLEANUP
 
 AT_SETUP([tunnel - set_tunnel])