From 3c5e5b507f64e644bfc3c0fd38a646dc9a280201 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Fri, 26 Apr 2013 11:17:03 -0700 Subject: [PATCH] Fix config test interaction with report_times. In a config test, the scheduler is created without a config object. Handle that case gracefully in the pipeline constructor. Add a test that runs the configtest. Change-Id: Id59b3194aff7b5347fa04fe1cc29b1069d2a3f7f Reviewed-on: https://review.openstack.org/27585 Reviewed-by: Clark Boylan Approved: James E. Blair Tested-by: Jenkins --- tests/test_scheduler.py | 5 +++++ zuul/scheduler.py | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/test_scheduler.py b/tests/test_scheduler.py index 557809998b..37526f4ac5 100644 --- a/tests/test_scheduler.py +++ b/tests/test_scheduler.py @@ -2071,3 +2071,8 @@ class testScheduler(unittest.TestCase): assert B.data['status'] == 'MERGED' assert B.reported == 2 self.assertEmptyQueues() + + def test_test_config(self): + "Test that we can test the config" + sched = zuul.scheduler.Scheduler() + sched.testConfig(CONFIG.get('zuul', 'layout_config')) diff --git a/zuul/scheduler.py b/zuul/scheduler.py index 7abb803642..0904f37422 100644 --- a/zuul/scheduler.py +++ b/zuul/scheduler.py @@ -45,6 +45,7 @@ class Scheduler(threading.Thread): self._stopped = False self.launcher = None self.trigger = None + self.config = None self.trigger_event_queue = Queue.Queue() self.result_event_queue = Queue.Queue() @@ -508,7 +509,8 @@ class BasePipelineManager(object): self.success_action = {} self.failure_action = {} self.start_action = {} - if self.sched.config.has_option('zuul', 'report_times'): + if self.sched.config and self.sched.config.has_option( + 'zuul', 'report_times'): self.report_times = self.sched.config.getboolean( 'zuul', 'report_times') else: