[tor-commits] [stem/master] test/integ/process.py: Detect Tor exiting with nonzero exitcode
atagar at torproject.org
atagar at torproject.org
Thu Jan 23 23:23:35 UTC 2020
commit 4afc6de5ce6098fad1ee95a5af16136d23423203
Author: Nick Mathewson <nickm at torproject.org>
Date: Thu Jan 23 13:28:23 2020 -0500
test/integ/process.py: Detect Tor exiting with nonzero exitcode
The take_ownership_via_{pid,controller} tests previously used
"tor_process_poll() == 0" to see whether Tor had existed. This
caused a misleading test failure in the case where Tor exited
because of a signal, or returned a nonzero exit code: the tests
would report that Tor had not exited at all.
---
test/integ/process.py | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/test/integ/process.py b/test/integ/process.py
index 274a8ec9..1a64949e 100644
--- a/test/integ/process.py
+++ b/test/integ/process.py
@@ -591,8 +591,14 @@ class TestProcess(unittest.TestCase):
start_time = time.time()
while time.time() - start_time < 30:
- if tor_process.poll() == 0:
- return # tor exited
+ if tor_process.poll() != None:
+ exitcode = tor_process.returncode
+ if exitcode < 0:
+ raise AssertionError("Tor exited with signal %d"%-exitcode)
+ elif exitcode > 0:
+ raise AssertionError("Tor exited with exit code %d"%exitcode)
+ else:
+ return # tor exited without error.
time.sleep(0.01)
@@ -632,8 +638,14 @@ class TestProcess(unittest.TestCase):
start_time = time.time()
while time.time() - start_time < 20:
- if tor_process.poll() == 0:
- return # tor exited
+ if tor_process.poll() != None:
+ exitcode = tor_process.returncode
+ if exitcode < 0:
+ raise AssertionError("Tor exited with signal %d"%-exitcode)
+ elif exitcode > 0:
+ raise AssertionError("Tor exited with exit code %d"%exitcode)
+ else:
+ return # tor exited without error.
time.sleep(0.01)
More information about the tor-commits
mailing list