diff --git a/test/mavsdk_tests/mavsdk_test_runner.py b/test/mavsdk_tests/mavsdk_test_runner.py index e091802254..09655dcd8d 100755 --- a/test/mavsdk_tests/mavsdk_test_runner.py +++ b/test/mavsdk_tests/mavsdk_test_runner.py @@ -457,20 +457,10 @@ class Tester: runner.set_log_filename( self.determine_logfile_path(log_dir, runner.name)) - runner.start() - - if runner.has_started_ok(): - continue - - else: + if not self.try_to_run_several_times(runner): abort = True - print("A timeout happened for runner: {}" - .format(runner.name)) break - runner.stop - time.sleep(1) - if abort: print("Could not start runner: {}".format(runner.name)) self.collect_runner_output() @@ -478,6 +468,19 @@ class Tester: self.stop_runners() sys.exit(1) + def try_to_run_several_times(self, runner: ph.Runner) -> bool: + for _ in range(3): + runner.start() + + if runner.has_started_ok(): + return True + + else: + runner.stop() + time.sleep(1) + + return False + def stop_runners(self) -> None: for runner in self.active_runners: runner.stop()