Exemplo n.º 1
0
 def test_timed_out_env_removed_from_envs_list(self):
     suite_time = 10
     suites = [
         self._new_test_suite('suite1',
                              requires=['env1'],
                              run_for=suite_time),
         self._new_test_suite('suite2',
                              requires=['env1'],
                              run_for=suite_time),
         self._new_test_suite('suite3',
                              handler_configuration='config1',
                              run_for=suite_time)
     ]
     handler_configurations = {
         'config1': {
             'env': 'env1_id',
             'tags': ['env1']
         }
     }
     scheduler = SuitesScheduler(suites,
                                 handler_configurations,
                                 suite_timeout=1)
     scheduler.run()
     self.assertIsNone(suites[1].started)
     self.assertIsNone(suites[2].started)
     self.assertEqual(2, len(scheduler.skipped_suites))
Exemplo n.º 2
0
 def test_suites_running_in_parallel(self):
     suites = [
         self._new_test_suite('suite1', requires=['env1'], run_for=10),
         self._new_test_suite('suite2',
                              handler_configuration='config1',
                              run_for=1),
         self._new_test_suite('suite3', requires=['env2'], run_for=5)
     ]
     handler_configurations = {
         'config1': {
             'env': 'env1_id',
             'tags': ['env1']
         },
         'config2': {
             'env': 'env2_id',
             'tags': ['env2']
         }
     }
     scheduler = SuitesScheduler(suites, handler_configurations)
     scheduler.run()
     self.assertEqual('config1', suites[0].handler_configuration)
     self.assertEqual('config1', suites[1].handler_configuration)
     self.assertEqual('config2', suites[2].handler_configuration)
     self.assertFalse(suites[0].is_running)
     self.assertFalse(suites[1].is_running)
     self.assertFalse(suites[2].is_running)
     self.assertTrue(suites[1].started > suites[0].terminated)
     self.assertTrue(suites[2].started < suites[0].terminated)
 def test_run_suite(self):
     test_suites = [
         self._new_test_suite('suite1', ['env1'])
     ]
     handler_configurations = {
         'config1': {'env': 'env1_id', 'tags': ['env1']}
     }
     scheduler = SuitesScheduler(test_suites, handler_configurations)
     scheduler.run()
     self.assertFalse(test_suites[0].is_running)
Exemplo n.º 4
0
 def test_run_suite(self):
     test_suites = [self._new_test_suite('suite1', ['env1'])]
     handler_configurations = {
         'config1': {
             'env': 'env1_id',
             'tags': ['env1']
         }
     }
     scheduler = SuitesScheduler(test_suites, handler_configurations)
     scheduler.run()
     self.assertFalse(test_suites[0].is_running)
 def test_failed_suite(self):
     suites = [
         self._new_test_suite('suite1', requires=['env1'])
     ]
     suites[0].failed = True
     handler_configurations = {
         'config1': {'env': 'env1_id', 'tags': ['env1']}
     }
     scheduler = SuitesScheduler(
             suites,
             handler_configurations,
             suite_timeout=1)
     scheduler.run()
     self.assertEqual(scheduler.failed_suites, suites)
 def test_run_two_suites(self):
     test_suites = [
         self._new_test_suite('suite1', ['env1']),
         self._new_test_suite('suite2', ['env1'])
     ]
     handler_configurations = {
         'config1': {'env': 'env1_id', 'tags': ['env1']}
     }
     scheduler = SuitesScheduler(
         test_suites,
         handler_configurations)
     scheduler.run()
     self.assertFalse(test_suites[0].is_running)
     self.assertFalse(test_suites[1].is_running)
     self.assertTrue(test_suites[1].started > test_suites[0].terminated)
Exemplo n.º 7
0
 def test_run_two_suites(self):
     test_suites = [
         self._new_test_suite('suite1', ['env1']),
         self._new_test_suite('suite2', ['env1'])
     ]
     handler_configurations = {
         'config1': {
             'env': 'env1_id',
             'tags': ['env1']
         }
     }
     scheduler = SuitesScheduler(test_suites, handler_configurations)
     scheduler.run()
     self.assertFalse(test_suites[0].is_running)
     self.assertFalse(test_suites[1].is_running)
     self.assertTrue(test_suites[1].started > test_suites[0].terminated)
 def test_handler_configuration_and_tags_matching(self):
     test_suites = [
         self._new_test_suite('suite1', requires=['env1']),
         self._new_test_suite('suite2', handler_configuration='config1'),
         self._new_test_suite('suite3', requires=['env1'])
     ]
     handler_configurations = {
         'config1': {'env': 'env1_id', 'tags': ['env1']}
     }
     scheduler = SuitesScheduler(
         test_suites,
         handler_configurations)
     scheduler.run()
     self.assertFalse(test_suites[0].is_running)
     self.assertFalse(test_suites[1].is_running)
     self.assertFalse(test_suites[2].is_running)
     self.assertTrue(test_suites[1].started > test_suites[0].terminated)
     self.assertTrue(test_suites[2].started > test_suites[1].terminated)
Exemplo n.º 9
0
 def test_handler_configuration_and_tags_matching(self):
     test_suites = [
         self._new_test_suite('suite1', requires=['env1']),
         self._new_test_suite('suite2', handler_configuration='config1'),
         self._new_test_suite('suite3', requires=['env1'])
     ]
     handler_configurations = {
         'config1': {
             'env': 'env1_id',
             'tags': ['env1']
         }
     }
     scheduler = SuitesScheduler(test_suites, handler_configurations)
     scheduler.run()
     self.assertFalse(test_suites[0].is_running)
     self.assertFalse(test_suites[1].is_running)
     self.assertFalse(test_suites[2].is_running)
     self.assertTrue(test_suites[1].started > test_suites[0].terminated)
     self.assertTrue(test_suites[2].started > test_suites[1].terminated)
Exemplo n.º 10
0
 def test_configuration_specific_prioritization(self):
     suites = [
         self._new_test_suite('suite1', requires=['env2']),
         self._new_test_suite('suite2',
                              handler_configuration='config1'),
         self._new_test_suite('suite3',
                              handler_configuration='config2')
     ]
     handler_configurations = {
         'config1': {'env': 'env1_id', 'tags': ['env1']},
         'config2': {'env': 'env2_id', 'tags': ['env2']}
     }
     scheduler = SuitesScheduler(
         suites,
         handler_configurations,
         optimize=True)
     scheduler.run()
     self.assertTrue(suites[0].started > suites[1].started)
     self.assertTrue(suites[0].started > suites[2].started)
     self.assertTrue(suites[2].terminated < suites[0].started)
Exemplo n.º 11
0
 def test_timed_out_suite(self):
     suite_time = 10
     suites = [
         self._new_test_suite('suite1',
                              requires=['env1'],
                              run_for=suite_time)
     ]
     handler_configurations = {
         'config1': {'env': 'env1_id', 'tags': ['env1']}
     }
     scheduler = SuitesScheduler(
         suites,
         handler_configurations,
         suite_timeout=1)
     start = time.time()
     scheduler.run()
     delta = time.time() - start
     self.assertTrue(
         delta < suite_time,
         msg='Scheduler running time should be less than {0} seconds but '
             'was {1} seconds.'.format(suite_time, delta))
     self.assertTrue(suites[0].timed_out)
Exemplo n.º 12
0
 def test_configuration_specific_prioritization(self):
     suites = [
         self._new_test_suite('suite1', requires=['env2']),
         self._new_test_suite('suite2', handler_configuration='config1'),
         self._new_test_suite('suite3', handler_configuration='config2')
     ]
     handler_configurations = {
         'config1': {
             'env': 'env1_id',
             'tags': ['env1']
         },
         'config2': {
             'env': 'env2_id',
             'tags': ['env2']
         }
     }
     scheduler = SuitesScheduler(suites,
                                 handler_configurations,
                                 optimize=True)
     scheduler.run()
     self.assertTrue(suites[0].started > suites[1].started)
     self.assertTrue(suites[0].started > suites[2].started)
     self.assertTrue(suites[2].terminated < suites[0].started)
Exemplo n.º 13
0
 def test_timed_out_env_removed_from_envs_list(self):
     suite_time = 10
     suites = [
         self._new_test_suite('suite1',
                              requires=['env1'],
                              run_for=suite_time),
         self._new_test_suite('suite2',
                              requires=['env1'],
                              run_for=suite_time),
         self._new_test_suite('suite3',
                              handler_configuration='config1',
                              run_for=suite_time)
     ]
     handler_configurations = {
         'config1': {'env': 'env1_id', 'tags': ['env1']}
     }
     scheduler = SuitesScheduler(
         suites,
         handler_configurations,
         suite_timeout=1)
     scheduler.run()
     self.assertIsNone(suites[1].started)
     self.assertIsNone(suites[2].started)
     self.assertEqual(2, len(scheduler.skipped_suites))
Exemplo n.º 14
0
 def test_suites_running_in_parallel(self):
     suites = [
         self._new_test_suite('suite1', requires=['env1'], run_for=10),
         self._new_test_suite('suite2',
                              handler_configuration='config1',
                              run_for=1),
         self._new_test_suite('suite3', requires=['env2'], run_for=5)
     ]
     handler_configurations = {
         'config1': {'env': 'env1_id', 'tags': ['env1']},
         'config2': {'env': 'env2_id', 'tags': ['env2']}
     }
     scheduler = SuitesScheduler(
         suites,
         handler_configurations)
     scheduler.run()
     self.assertEqual('config1', suites[0].handler_configuration)
     self.assertEqual('config1', suites[1].handler_configuration)
     self.assertEqual('config2', suites[2].handler_configuration)
     self.assertFalse(suites[0].is_running)
     self.assertFalse(suites[1].is_running)
     self.assertFalse(suites[2].is_running)
     self.assertTrue(suites[1].started > suites[0].terminated)
     self.assertTrue(suites[2].started < suites[0].terminated)
Exemplo n.º 15
0
 def test_timed_out_suite(self):
     suite_time = 10
     suites = [
         self._new_test_suite('suite1',
                              requires=['env1'],
                              run_for=suite_time)
     ]
     handler_configurations = {
         'config1': {
             'env': 'env1_id',
             'tags': ['env1']
         }
     }
     scheduler = SuitesScheduler(suites,
                                 handler_configurations,
                                 suite_timeout=1)
     start = time.time()
     scheduler.run()
     delta = time.time() - start
     self.assertTrue(
         delta < suite_time,
         msg='Scheduler running time should be less than {0} seconds but '
         'was {1} seconds.'.format(suite_time, delta))
     self.assertTrue(suites[0].timed_out)