mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
mavsdk_tests: don't stall on timeout
This commit is contained in:
parent
477092fa24
commit
0edc2aa334
@ -415,10 +415,21 @@ class Tester:
|
||||
self.verbose)
|
||||
self.active_runners.append(mavsdk_tests_runner)
|
||||
|
||||
abort = False
|
||||
for runner in self.active_runners:
|
||||
runner.set_log_filename(
|
||||
self.determine_logfile_path(log_dir, runner.name))
|
||||
runner.start()
|
||||
try:
|
||||
runner.start()
|
||||
except TimeoutError:
|
||||
abort = True
|
||||
print("A timeout happened for runner: {}"
|
||||
.format(runner.name))
|
||||
break
|
||||
|
||||
if abort:
|
||||
self.stop_runners()
|
||||
sys.exit(1)
|
||||
|
||||
def stop_runners(self) -> None:
|
||||
for runner in self.active_runners:
|
||||
|
||||
@ -8,7 +8,7 @@ import subprocess
|
||||
import threading
|
||||
import pathlib
|
||||
import errno
|
||||
from typing import Dict, List, TextIO, Optional
|
||||
from typing import Any, Dict, List, TextIO, Optional
|
||||
|
||||
|
||||
class Runner:
|
||||
@ -32,6 +32,7 @@ class Runner:
|
||||
self.log_dir = log_dir
|
||||
self.log_filename = ""
|
||||
self.wait_until_complete = False
|
||||
self.stop_thread: Any[threading.Event] = None
|
||||
|
||||
def set_log_filename(self, log_filename: str) -> None:
|
||||
self.log_filename = log_filename
|
||||
@ -97,6 +98,9 @@ class Runner:
|
||||
def stop(self) -> int:
|
||||
atexit.unregister(self.stop)
|
||||
|
||||
if not self.stop_thread:
|
||||
return 0
|
||||
|
||||
self.stop_thread.set()
|
||||
|
||||
returncode = self.process.poll()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user