Ejemplo n.º 1
0
 def test_line_run_remove_add_outdated(self):
   task12 = TestTask('12', [(1,)], [(2,)])
   task23 = TestTask('23', [(2,)], [(3,)])
   tracker = _tracker.Tracker().replaced(
     new_paths=[(1,), (2,), (3,)],
     new_tasks=[
         task12,
         task23
     ]
   )
   runner.run_tracker(tracker, [
       runner.Event(
           path_selector=lambda unused_tracker: [(1,)],
           path_regenerator=lambda unused_tracker, unused_paths: [],
       ),
       runner.Event(
           path_selector=lambda unused_tracker: [],
           path_regenerator=lambda unused_tracker, unused_paths: [(1,)],
           flags=runner.EventFlags(
               paths_state=runner.PathState.up_to_date
           )
       )
   ], outdated=True)
   self.assertEqual(1, task12.ran_count)
   self.assertEqual(1, task23.ran_count)
   self.assertLessEqual(task12.run_time, task23.run_time)
Ejemplo n.º 2
0
 def test_failure(self):
   tracker = _tracker.Tracker().replaced(
       new_paths=[(1,)],
       new_tasks=[
           FailingTestTask('', [], [(1,)], RuntimeError('foo'))
       ]
   )
   with self.assertRaises(runner.RunnerError):
     runner.run_tracker(tracker, [], outdated=True)
Ejemplo n.º 3
0
 def test_up_to_date_line_run_does_nothing(self):
   task12 = TestTask('12', [(1,)], [(2,)])
   task23 = TestTask('23', [(2,)], [(3,)])
   tracker = _tracker.Tracker().replaced(
     new_paths=[(1,), (2,), (3,)],
     new_tasks=[
         task12,
         task23
     ]
   )
   runner.run_tracker(tracker, [], outdated=False)
   self.assertEqual(0, task12.ran_count)
   self.assertEqual(0, task23.ran_count)
Ejemplo n.º 4
0
 def test_failure_keep_going(self):
   task2 = TestTask('2', [], [(2,)])
   task23 = TestTask('23', [(2,)], [(3,)])
   tracker = _tracker.Tracker().replaced(
       new_paths=[(1,), (2,), (3,)],
       new_tasks=[
           FailingTestTask('', [], [(1,)], RuntimeError('foo')),
           task2,
           task23
       ]
   )
   with self.assertRaises(runner.RunnerError):
     runner.run_tracker(tracker, [], keep_going=True, outdated=True)
   self.assertEqual(1, task2.ran_count)
   self.assertEqual(1, task23.ran_count)
Ejemplo n.º 5
0
 def test_line_run_initializing_task(self):
   task0 = TestTask('0', [], [(1,)])
   task12 = TestTask('12', [(1,)], [(2,)])
   task23 = TestTask('23', [(2,)], [(3,)])
   tracker = _tracker.Tracker().replaced(
     new_paths=[(1,), (2,), (3,)],
     new_tasks=[
         task0,
         task12,
         task23
     ]
   )
   runner.run_tracker(tracker, [], outdated=True)
   self.assertEqual(1, task0.ran_count)
   self.assertEqual(1, task12.ran_count)
   self.assertEqual(1, task23.ran_count)
   self.assertLessEqual(task0.run_time, task12.run_time)
   self.assertLessEqual(task12.run_time, task23.run_time)
Ejemplo n.º 6
0
 def test_callbacks_not_of_right_type(self):
   with self.assertRaises(TypeError):
     runner.run_tracker(_tracker.Tracker(), [], callbacks='asdf')
Ejemplo n.º 7
0
 def test_not_a_tracker(self):
   with self.assertRaises(TypeError):
     runner.run_tracker('42', [])