diff options
Diffstat (limited to 'test/crossrunner/run.py')
-rw-r--r-- | test/crossrunner/run.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/test/crossrunner/run.py b/test/crossrunner/run.py index bb06d25ef..126b7ec88 100644 --- a/test/crossrunner/run.py +++ b/test/crossrunner/run.py @@ -243,7 +243,11 @@ def run_test(testdir, logdir, test_dict, max_retry, async_mode=True): # kill them off; if we didn't kill them off, something else # happened (crashed?) if test.server.stop_signal != 0: - if sv.killed or sv.returncode > 0: + # for bash scripts, 128+N is the exit code for signal N, since we are sending + # DEFAULT_SIGNAL=1, 128 + 1 is the expected err code + # http://www.gnu.org/software/bash/manual/html_node/Exit-Status.html + allowed_return_code = set([-1, 0, 128 + 1]) + if sv.killed or sv.returncode not in allowed_return_code: result |= RESULT_ERROR else: if not sv.killed: |