From 56dfa2f6c0aee38e194ec12fdcdf886d5b16e825 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 28 Mar 2019 15:31:51 +1000 Subject: [PATCH] test: fix tool option parsing tests for signals Not sure how this ever worked correctly: a process terminated by a signal has the negative signo as return code. This would apply to every debug-events and debug-gui test because they have to get killed by a signal. This failed occasionally, presumably a race with the GTK startup/signal handler/whatever. Fix this by a) sending SIGQUIT because that won't get handled by the tools and b) prending that if we get a -SIGQUIT exit code, everything is fine. Signed-off-by: Peter Hutterer --- tools/test-tool-option-parsing.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/test-tool-option-parsing.py b/tools/test-tool-option-parsing.py index c68992e0..ede9a077 100755 --- a/tools/test-tool-option-parsing.py +++ b/tools/test-tool-option-parsing.py @@ -42,8 +42,10 @@ class TestLibinputTool(unittest.TestCase): with subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) as p: time.sleep(0.1) - p.send_signal(2) + p.send_signal(3) # SIGQUIT p.wait() + if p.returncode == -3: + p.returncode = 0 return p.returncode, p.stdout.read().decode('UTF-8'), p.stderr.read().decode('UTF-8') def run_command_success(self, args):