Functional tests can sometimes fail to initialize toaster.
Most often this is due to a conflict on port 8000.
Add command information about whichever other process is running on
that port to better describe the initialization failure.

Signed-off-by: Alexander Lussier-Cullen 
<[email protected]>
---
 .../lib/toaster/tests/functional/functional_helpers.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/bitbake/lib/toaster/tests/functional/functional_helpers.py 
b/bitbake/lib/toaster/tests/functional/functional_helpers.py
index d3e037a6d0..09cf3ba8e0 100644
--- a/bitbake/lib/toaster/tests/functional/functional_helpers.py
+++ b/bitbake/lib/toaster/tests/functional/functional_helpers.py
@@ -28,7 +28,7 @@ class SeleniumFunctionalTestCase(SeleniumTestCaseBase):
         # So that the buildinfo helper uses the test database'
         if os.environ.get('DJANGO_SETTINGS_MODULE', '') != \
             'toastermain.settings_test':
-            raise RuntimeError("Please initialise django with the tests 
settings:  " \
+            raise RuntimeError("Please initialise django with the tests 
settings:  "
                 "DJANGO_SETTINGS_MODULE='toastermain.settings_test'")
 
         # start toaster
@@ -38,7 +38,13 @@ class SeleniumFunctionalTestCase(SeleniumTestCaseBase):
             cwd=os.environ.get("BUILDDIR"),
             shell=True)
         if cls.p.wait() != 0:
-            raise RuntimeError("Can't initialize toaster")
+            port_use = os.popen("lsof -i -P -n | grep '8000 
(LISTEN)'").read().strip()
+            message = ''
+            if port_use:
+                process_id = port_use.split()[1]
+                process = os.popen(f"ps -o cmd= -p 
{process_id}").read().strip()
+                message = f"Port 8000 occupied by {process}"
+            raise RuntimeError(f"Can't initialize toaster. {message}")
 
         super(SeleniumFunctionalTestCase, cls).setUpClass()
         cls.live_server_url = 'http://localhost:8000/'
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6087): https://lists.yoctoproject.org/g/toaster/message/6087
Mute This Topic: https://lists.yoctoproject.org/mt/103137264/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/toaster/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to