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 <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2019-03-28 15:31:51 +10:00
parent 79293ea456
commit 56dfa2f6c0

View file

@ -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):