Only run crashinfo collection when Autoserv exited due to some signal -- not just when it failed. Also make a minor fixup to some logging during process recovery.
Signed-off-by: Steve Howard <showard@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@3098 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/scheduler/monitor_db_unittest.py b/scheduler/monitor_db_unittest.py
index 342ab7d..1517207 100644
--- a/scheduler/monitor_db_unittest.py
+++ b/scheduler/monitor_db_unittest.py
@@ -1650,13 +1650,20 @@
self.god.check_playback()
- def _setup_gather_logs_expects(self, autoserv_success=False,
+ def _setup_gather_logs_expects(self, autoserv_killed=True,
hqe_aborted=False):
self.god.stub_class(monitor_db, 'PidfileRunMonitor')
self.god.stub_class(monitor_db, 'FinalReparseTask')
- self._setup_post_job_task_expects(autoserv_success, 'Gathering',
+ self._setup_post_job_task_expects(not autoserv_killed, 'Gathering',
hqe_aborted)
- if not autoserv_success or hqe_aborted:
+ if hqe_aborted:
+ exit_code = None
+ elif autoserv_killed:
+ exit_code = 271
+ else:
+ exit_code = 0
+ self.pidfile_monitor.exit_code.expect_call().and_return(exit_code)
+ if exit_code != 0:
self._setup_post_job_run_monitor('.collect_crashinfo_execute')
self._expect_copy_results(monitor=self.pidfile_monitor,
queue_entry=self.queue_entry)
@@ -1683,8 +1690,8 @@
def test_gather_logs_task_successful_autoserv(self):
- # When Autoserv exits successful, no collect_crashinfo stage runs
- self._setup_gather_logs_expects(autoserv_success=True)
+ # When Autoserv exits successfully, no collect_crashinfo stage runs
+ self._setup_gather_logs_expects(autoserv_killed=False)
self.job.reboot_after = models.RebootAfter.NEVER
self.host.set_status.expect_call('Ready')