Acked-by: Mark Michelson <[email protected]>

On 11/17/23 23:28, Ihar Hrachyshka wrote:
When running fmt_pkt in parallel, before the patch, there could be
several attempts to start scapy-server. Using flock on a test case
specific file should guarantee that only one of the subshells will
actually be able to start a daemon, which is designed to be a singleton.

Now that start_scapy_server doesn't necessarily start a server (only the
first lucky subshell will do), wait for server socket file before
proceeding with ovs-appctl call.

Signed-off-by: Ihar Hrachyshka <[email protected]>
---
  tests/ovn-macros.at | 8 +++++---
  1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/tests/ovn-macros.at b/tests/ovn-macros.at
index 21c314c7c..633ef05f8 100644
--- a/tests/ovn-macros.at
+++ b/tests/ovn-macros.at
@@ -876,6 +876,7 @@ fmt_pkt() {
      if [[ ! -S $ctlfile ]]; then
          start_scapy_server
      fi
+    while [[ ! -S $ctlfile ]]; do sleep 0.1; done
      ovs-appctl -t $ctlfile payload "$1"
  }
@@ -883,10 +884,11 @@ start_scapy_server() {
      pidfile=$ovs_base/scapy.pid
      ctlfile=$ovs_base/scapy.ctl
      logfile=$ovs_base/scapy.log
+    lockfile=$ovs_base/scapy.lock
- "$top_srcdir"/tests/scapy-server.py \
-        --pidfile=$pidfile --unixctl=$ctlfile --log-file=$logfile --detach
-    on_exit "test -e \"$pidfile\" && ovs-appctl -t $ctlfile exit"
+    flock -n $lockfile "$top_srcdir"/tests/scapy-server.py \
+        --pidfile=$pidfile --unixctl=$ctlfile --log-file=$logfile --detach \
+    && on_exit "test -e \"$pidfile\" && ovs-appctl -t $ctlfile exit"
  }
sleep_sb() {

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to