| Index: build/android/pylib/gtest/test_runner.py
|
| diff --git a/build/android/pylib/gtest/test_runner.py b/build/android/pylib/gtest/test_runner.py
|
| index 75892ee6e9c32bbb235a9dc0b1ab671aa43b2abd..56e7449c55fd07dd69a9a72ad3835f06292d06fd 100644
|
| --- a/build/android/pylib/gtest/test_runner.py
|
| +++ b/build/android/pylib/gtest/test_runner.py
|
| @@ -7,9 +7,11 @@ import os
|
| import re
|
|
|
| from pylib import pexpect
|
| +from pylib import ports
|
| from pylib.base import base_test_result
|
| from pylib.base import base_test_runner
|
| from pylib.device import device_errors
|
| +from pylib.local import local_test_server_spawner
|
| from pylib.perf import perf_control
|
|
|
|
|
| @@ -53,6 +55,13 @@ class TestRunner(base_test_runner.BaseTestRunner):
|
| if _TestSuiteRequiresHighPerfMode(self.test_package.suite_name):
|
| self._perf_controller = perf_control.PerfControl(self.device)
|
|
|
| + if _TestSuiteRequiresMockTestServer(self.test_package.suite_name):
|
| + self._servers = [
|
| + local_test_server_spawner.LocalTestServerSpawner(
|
| + ports.AllocateTestServerPort(), self.device, self.tool)]
|
| + else:
|
| + self._servers = []
|
| +
|
| #override
|
| def InstallTestPackage(self):
|
| self.test_package.Install(self.device)
|
| @@ -149,7 +158,8 @@ class TestRunner(base_test_runner.BaseTestRunner):
|
| test_results = self._ParseTestOutput(
|
| self.test_package.SpawnTestProcess(self.device))
|
| finally:
|
| - self.CleanupSpawningServerState()
|
| + for s in self._servers:
|
| + s.Reset()
|
| # Calculate unknown test results.
|
| all_tests = set(test.split(':'))
|
| all_tests_ran = set([t.GetName() for t in test_results.GetAll()])
|
| @@ -164,8 +174,8 @@ class TestRunner(base_test_runner.BaseTestRunner):
|
| def SetUp(self):
|
| """Sets up necessary test enviroment for the test suite."""
|
| super(TestRunner, self).SetUp()
|
| - if _TestSuiteRequiresMockTestServer(self.test_package.suite_name):
|
| - self.LaunchChromeTestServerSpawner()
|
| + for s in self._servers:
|
| + s.SetUp()
|
| if _TestSuiteRequiresHighPerfMode(self.test_package.suite_name):
|
| self._perf_controller.SetHighPerfMode()
|
| self.tool.SetupEnvironment()
|
| @@ -173,6 +183,8 @@ class TestRunner(base_test_runner.BaseTestRunner):
|
| #override
|
| def TearDown(self):
|
| """Cleans up the test enviroment for the test suite."""
|
| + for s in self._servers:
|
| + s.TearDown()
|
| if _TestSuiteRequiresHighPerfMode(self.test_package.suite_name):
|
| self._perf_controller.SetDefaultPerfMode()
|
| self.test_package.ClearApplicationState(self.device)
|
|
|