Put cleanup steps in finally block so cleanup happens after halt on failure.
The device_status_check hangs because there are still processes launched by the buildbot script that are not cleaned up. E.g. https://chromegw.corp.google.com/i/clank/builders/manta-sharded-official-perf-clankium/builds/2359 This makes sure the post commands are executed after halt on failure. BUG=265578 Review URL: https://chromiumcodereview.appspot.com/21261006 git-svn-id: http://src.chromium.org/svn/trunk/src/build@215365 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This commit is contained in:
Родитель
1a1a93bb74
Коммит
a95cc35c5e
|
@ -306,34 +306,32 @@ def GenerateTestReport(options):
|
|||
os.remove(report)
|
||||
|
||||
|
||||
def GetPostTestStepCmds():
|
||||
return [
|
||||
('logcat_dump', LogcatDump),
|
||||
('test_report', GenerateTestReport)
|
||||
]
|
||||
|
||||
|
||||
def MainTestWrapper(options):
|
||||
# Spawn logcat monitor
|
||||
SpawnLogcatMonitor()
|
||||
try:
|
||||
# Spawn logcat monitor
|
||||
SpawnLogcatMonitor()
|
||||
|
||||
# Run all device setup steps
|
||||
for _, cmd in GetDeviceSetupStepCmds():
|
||||
cmd(options)
|
||||
# Run all device setup steps
|
||||
for _, cmd in GetDeviceSetupStepCmds():
|
||||
cmd(options)
|
||||
|
||||
if options.install:
|
||||
test_obj = INSTRUMENTATION_TESTS[options.install]
|
||||
InstallApk(options, test_obj, print_step=True)
|
||||
if options.install:
|
||||
test_obj = INSTRUMENTATION_TESTS[options.install]
|
||||
InstallApk(options, test_obj, print_step=True)
|
||||
|
||||
if options.test_filter:
|
||||
bb_utils.RunSteps(options.test_filter, GetTestStepCmds(), options)
|
||||
if options.test_filter:
|
||||
bb_utils.RunSteps(options.test_filter, GetTestStepCmds(), options)
|
||||
|
||||
if options.experimental:
|
||||
RunTestSuites(options, gtest_config.EXPERIMENTAL_TEST_SUITES)
|
||||
if options.experimental:
|
||||
RunTestSuites(options, gtest_config.EXPERIMENTAL_TEST_SUITES)
|
||||
|
||||
# Run all post test steps
|
||||
for _, cmd in GetPostTestStepCmds():
|
||||
cmd(options)
|
||||
finally:
|
||||
# Run all post test steps
|
||||
LogcatDump(options)
|
||||
GenerateTestReport(options)
|
||||
# KillHostHeartbeat() has logic to check if heartbeat process is running,
|
||||
# and kills only if it finds the process is running on the host.
|
||||
provision_devices.KillHostHeartbeat()
|
||||
|
||||
|
||||
def GetDeviceStepsOptParser():
|
||||
|
@ -377,7 +375,6 @@ def main(argv):
|
|||
setattr(options, 'target', options.factory_properties.get('target', 'Debug'))
|
||||
|
||||
MainTestWrapper(options)
|
||||
provision_devices.KillHostHeartbeat()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Загрузка…
Ссылка в новой задаче