summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/runtime
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-16 09:33:28 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-16 11:46:07 +0000
commit11340de05b7a94583b7f1a5b4916001ea213b402 (patch)
tree3ca49f26f52e240237515fa88ebd3e0bc319cb52 /meta/lib/oeqa/runtime
parent99f0e68973e078d1d0030741435b51ccbe759ef5 (diff)
downloadpoky-11340de05b7a94583b7f1a5b4916001ea213b402.tar.gz
oeqa/utils/httpserver: Rework to avoid hangs and improve logging
testimage.bbclass installs a SIGTERM handler which conflicts with the use of multiprocessing here. This is paritcularly problematic if the http service is terminated before its started and hence before its had a chance to reset the default signal handler (as the code was written). Instead, temporarily remove testimage's handler whilst forking the http process which means the correct handler is installed and won't deadlock. Also take the opportunity to add in some log messages about the server start and shutdown so that future debugging is easier and its clearer what the code is doing. (From OE-Core rev: 0762b6021b87ceb1f37952f3a6d64a36e99ae6a5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/runtime')
-rw-r--r--meta/lib/oeqa/runtime/cases/apt.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/dnf.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/opkg.py2
3 files changed, 3 insertions, 3 deletions
diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
index 8d4dd35c57..793143f72c 100644
--- a/meta/lib/oeqa/runtime/cases/apt.py
+++ b/meta/lib/oeqa/runtime/cases/apt.py
@@ -18,7 +18,7 @@ class AptRepoTest(AptTest):
18 @classmethod 18 @classmethod
19 def setUpClass(cls): 19 def setUpClass(cls):
20 service_repo = os.path.join(cls.tc.td['DEPLOY_DIR_DEB'], 'all') 20 service_repo = os.path.join(cls.tc.td['DEPLOY_DIR_DEB'], 'all')
21 cls.repo_server = HTTPService(service_repo, cls.tc.target.server_ip) 21 cls.repo_server = HTTPService(service_repo, cls.tc.target.server_ip, logger=cls.tc.logger)
22 cls.repo_server.start() 22 cls.repo_server.start()
23 23
24 @classmethod 24 @classmethod
diff --git a/meta/lib/oeqa/runtime/cases/dnf.py b/meta/lib/oeqa/runtime/cases/dnf.py
index e93a1cea06..c1ed39d776 100644
--- a/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/meta/lib/oeqa/runtime/cases/dnf.py
@@ -55,7 +55,7 @@ class DnfRepoTest(DnfTest):
55 @classmethod 55 @classmethod
56 def setUpClass(cls): 56 def setUpClass(cls):
57 cls.repo_server = HTTPService(os.path.join(cls.tc.td['WORKDIR'], 'oe-testimage-repo'), 57 cls.repo_server = HTTPService(os.path.join(cls.tc.td['WORKDIR'], 'oe-testimage-repo'),
58 cls.tc.target.server_ip) 58 cls.tc.target.server_ip, logger=cls.tc.logger)
59 cls.repo_server.start() 59 cls.repo_server.start()
60 60
61 @classmethod 61 @classmethod
diff --git a/meta/lib/oeqa/runtime/cases/opkg.py b/meta/lib/oeqa/runtime/cases/opkg.py
index 3be480a672..693f5d68c9 100644
--- a/meta/lib/oeqa/runtime/cases/opkg.py
+++ b/meta/lib/oeqa/runtime/cases/opkg.py
@@ -21,7 +21,7 @@ class OpkgRepoTest(OpkgTest):
21 if cls.tc.td["MULTILIB_VARIANTS"]: 21 if cls.tc.td["MULTILIB_VARIANTS"]:
22 allarchfeed = cls.tc.td["TUNE_PKGARCH"] 22 allarchfeed = cls.tc.td["TUNE_PKGARCH"]
23 service_repo = os.path.join(cls.tc.td['DEPLOY_DIR_IPK'], allarchfeed) 23 service_repo = os.path.join(cls.tc.td['DEPLOY_DIR_IPK'], allarchfeed)
24 cls.repo_server = HTTPService(service_repo, cls.tc.target.server_ip) 24 cls.repo_server = HTTPService(service_repo, cls.tc.target.server_ip, logger=cls.tc.logger)
25 cls.repo_server.start() 25 cls.repo_server.start()
26 26
27 @classmethod 27 @classmethod