From c6016db17ef52a0174e45267dd7f10cf7e4a2ef0 Mon Sep 17 00:00:00 2001
From: Christian Breunig <christian@breunig.cc>
Date: Sun, 5 Feb 2023 18:52:25 +0100
Subject: smoketest: tftp: T4012: add busy waiting loop when validating service
 availability

TFTP daemon is started as "fire and forget" and systemctl can return (thus
commit will return) but the daemon itself is not yet running.

This adds a loop checking if the service runs and will fail after 10 seconds.
---
 smoketest/scripts/cli/test_service_tftp-server.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/smoketest/scripts/cli/test_service_tftp-server.py b/smoketest/scripts/cli/test_service_tftp-server.py
index 99d81e203..122d66d8c 100755
--- a/smoketest/scripts/cli/test_service_tftp-server.py
+++ b/smoketest/scripts/cli/test_service_tftp-server.py
@@ -18,6 +18,7 @@ import unittest
 
 from psutil import process_iter
 from base_vyostest_shim import VyOSUnitTestSHIM
+from time import sleep
 
 from vyos.configsession import ConfigSessionError
 from vyos.util import cmd
@@ -51,7 +52,13 @@ class TestServiceTFTPD(VyOSUnitTestSHIM.TestCase):
 
     def tearDown(self):
         # Check for running process
-        self.assertTrue(process_named_running(PROCESS_NAME))
+        count = 0
+        while count < 10:
+            count += 1
+            tmp = process_named_running(PROCESS_NAME)
+            if tmp: break
+            sleep(1)
+        self.assertTrue(tmp)
 
         self.cli_delete(base_path)
         self.cli_commit()
-- 
cgit v1.2.3