summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-02-19 17:27:26 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-08-04 23:17:38 +0100
commit3b60ea0339d24f195c9537ae6e3e10b355278fed (patch)
treebb7ebd7ecbf3dce8f8eda31627e3789c5425d335
parentf29b31784ae836b0d7f6f62398814900550a0c87 (diff)
downloadpoky-3b60ea0339d24f195c9537ae6e3e10b355278fed.tar.gz
selftest/context: Avoid tracebacks from tests using multiprocessing
We can see tracebacks where the SIGTERM handler catches things it shouldn't. Avoid exit(1) unless we're the process that it was intended for. [YOCTO #13664] (From OE-Core rev: d9c62ffac611310efd47ed6397d31dccb72fe868) (From OE-Core rev: 45b4bd7b4d30d81bdff0d471e8d97c2322ed2f75) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit dba8c1d5ef0b574b7772d59e5992bfad8b7cca13) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/selftest/context.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py
index c4eb5d614e..3d3b19c6e8 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -280,11 +280,15 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
280 return rc 280 return rc
281 281
282 def _signal_clean_handler(self, signum, frame): 282 def _signal_clean_handler(self, signum, frame):
283 sys.exit(1) 283 if self.ourpid == os.getpid():
284 sys.exit(1)
284 285
285 def run(self, logger, args): 286 def run(self, logger, args):
286 self._process_args(logger, args) 287 self._process_args(logger, args)
287 288
289 # Setup a SIGTERM handler to allow restoration of files like local.conf and bblayers.conf
290 # but don't interfer with other processes
291 self.ourpid = os.getpid()
288 signal.signal(signal.SIGTERM, self._signal_clean_handler) 292 signal.signal(signal.SIGTERM, self._signal_clean_handler)
289 293
290 rc = None 294 rc = None