diff --git a/scripts/tests/chiptest/runner.py b/scripts/tests/chiptest/runner.py index aa17a09f4ea5c6..b6acca0bdc7999 100644 --- a/scripts/tests/chiptest/runner.py +++ b/scripts/tests/chiptest/runner.py @@ -101,8 +101,8 @@ def RunSubprocess(self, cmd, name, wait=True, dependencies=[]): for dependency in dependencies: if dependency.poll() is not None: s.kill() - raise Exception("Unexpected return %d for %r", - dependency.poll(), dependency) + raise Exception("Unexpected return %d for %r" % + (dependency.poll(), dependency)) code = s.wait() if code != 0: diff --git a/scripts/tests/chiptest/test_definition.py b/scripts/tests/chiptest/test_definition.py index 3266bc9f0eb7c4..d94478292dad68 100644 --- a/scripts/tests/chiptest/test_definition.py +++ b/scripts/tests/chiptest/test_definition.py @@ -41,7 +41,7 @@ def start(self, discriminator): self.process = None process, outpipe, errpipe = self.__startServer( self.runner, self.command, discriminator) - self.__waitForServerReady(outpipe) + self.__waitForServerReady(process, outpipe) self.__updateSetUpCode(outpipe) self.process = process self.stopped = False @@ -95,11 +95,15 @@ def __startServer(self, runner, command, discriminator): app_cmd = command + ['--discriminator', str(discriminator)] return runner.RunSubprocess(app_cmd, name='APP ', wait=False) - def __waitForServerReady(self, outpipe): + def __waitForServerReady(self, server_process, outpipe): logging.debug('Waiting for server to listen.') start_time = time.time() server_is_listening = outpipe.CapturedLogContains("Server Listening") while not server_is_listening: + if server_process.poll() is not None: + died_str = 'Server died during startup, returncode %d' % server_process.returncode + logging.error(died_str) + raise Exception(died_str) if time.time() - start_time > 10: raise Exception('Timeout for server listening') time.sleep(0.1) diff --git a/scripts/tests/run_test_suite.py b/scripts/tests/run_test_suite.py index f89514a48fa076..e72299a08589cc 100755 --- a/scripts/tests/run_test_suite.py +++ b/scripts/tests/run_test_suite.py @@ -212,6 +212,7 @@ def cmd_run(context, iterations, all_clusters_app, tv_app): test_end = time.time() logging.exception('%s - FAILED in %0.2f seconds' % (test.name, (test_end - test_start))) + apps_register.uninit() sys.exit(2) apps_register.uninit()