mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-20 13:37:28 +02:00
Merge 0844084c13 into merged_master (Bitcoin PR bitcoin/bitcoin#22249)
This commit is contained in:
commit
16c93fc360
1 changed files with 6 additions and 13 deletions
|
|
@ -19,6 +19,7 @@ import datetime
|
|||
import os
|
||||
import time
|
||||
import shutil
|
||||
import signal
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
|
|
@ -578,9 +579,11 @@ def run_tests(*, test_list, src_dir, build_dir, tmpdir, jobs=1, enable_coverage=
|
|||
|
||||
all_passed = all(map(lambda test_result: test_result.was_successful, test_results)) and coverage_passed
|
||||
|
||||
# This will be a no-op unless failfast is True in which case there may be dangling
|
||||
# processes which need to be killed.
|
||||
job_queue.kill_and_join()
|
||||
# Clean up dangling processes if any. This may only happen with --failfast option.
|
||||
# Killing the process group will also terminate the current process but that is
|
||||
# not an issue
|
||||
if len(job_queue.jobs):
|
||||
os.killpg(os.getpgid(0), signal.SIGKILL)
|
||||
|
||||
sys.exit(not all_passed)
|
||||
|
||||
|
|
@ -677,16 +680,6 @@ class TestHandler:
|
|||
print('.', end='', flush=True)
|
||||
dot_count += 1
|
||||
|
||||
def kill_and_join(self):
|
||||
"""Send SIGKILL to all jobs and block until all have ended."""
|
||||
procs = [i[2] for i in self.jobs]
|
||||
|
||||
for proc in procs:
|
||||
proc.kill()
|
||||
|
||||
for proc in procs:
|
||||
proc.wait()
|
||||
|
||||
|
||||
class TestResult():
|
||||
def __init__(self, name, status, time):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue