aboutsummaryrefslogtreecommitdiffstats
path: root/selftest/process_test/foo.py
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-05-06 17:57:33 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2020-05-06 17:57:36 +0200
commitfa653e4136d08e83d4f1d7dc4f415057920c8e33 (patch)
treea4f290a6ec4845ecba18a71b7960df7dd53d1329 /selftest/process_test/foo.py
parentafa2fc3aa669912637c6f402b01ebf486a5e44fa (diff)
selftest/process_test: Fix output changing in new python version
On older versions apparently upon child termination due to SIGINT subprocess.poll() returned 1. On new python versions (such as 3.8.2), -2 is returned, according to documentation: A negative value -N indicates that the child was terminated by signal N (Unix only). Let's catch the SIGINT in the child process and exit with a known 42 value to fix different behavior. Change-Id: I7949ff2b435e91e890061e6840b0f411f8b0a817
Diffstat (limited to 'selftest/process_test/foo.py')
-rwxr-xr-xselftest/process_test/foo.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/selftest/process_test/foo.py b/selftest/process_test/foo.py
index 4abe887..0931c9b 100755
--- a/selftest/process_test/foo.py
+++ b/selftest/process_test/foo.py
@@ -3,7 +3,13 @@
import sys
import atexit
import time
+import signal
+def signal_handler(sig, frame):
+ print('SIGINT received')
+ sys.exit(42)
+
+signal.signal(signal.SIGINT, signal_handler)
sys.stdout.write('foo stdout\n')
sys.stderr.write('foo stderr\n')