def setUp(self): self.base_vmtests = [config_lib.VMTestConfig('base')] self.override_vmtests = [config_lib.VMTestConfig('override')] self.base_hwtests = [config_lib.HWTestConfig('base')] self.override_hwtests = [config_lib.HWTestConfig('override')] self.all_configs = MockSiteConfig() self.all_configs.Add( 'no_tests_without_override', vm_tests=[], ) self.all_configs.Add( 'no_tests_with_override', vm_tests=[], vm_tests_override=self.override_vmtests, hw_tests_override=self.override_hwtests, ) self.all_configs.Add( 'tests_without_override', vm_tests=self.base_vmtests, hw_tests=self.base_hwtests, ) self.all_configs.Add( 'tests_with_override', vm_tests=self.base_vmtests, vm_tests_override=self.override_vmtests, hw_tests=self.base_hwtests, hw_tests_override=self.override_hwtests, )
def MockSiteConfig(): """Create a SiteConfig object for convenient testing pleasure. Shared amoung a number of unittest files, so be careful if changing it. """ result = config_lib.SiteConfig() # Add a single, simple build config. result.Add( 'x86-generic-paladin', active_waterfall='chromiumos', boards=['x86-generic'], build_type='paladin', chrome_sdk=True, chrome_sdk_build_chrome=False, description='Commit Queue', doc='http://mock_url/', image_test=True, images=['base', 'test'], important=True, manifest_version=True, prebuilts='public', trybot_list=True, upload_standalone_images=False, vm_tests=[config_lib.VMTestConfig('smoke_suite')], ) return result
def testVmTestOverride(self): """Verify that vm_tests override for trybots pay heed to original config.""" mock_options = mock.Mock() old = self.all_configs['x86-mario-paladin'] new = config_lib.OverrideConfigForTrybot(old, mock_options) self.assertEquals(new['vm_tests'], [ config_lib.VMTestConfig(constants.SMOKE_SUITE_TEST_TYPE), config_lib.VMTestConfig(constants.SIMPLE_AU_TEST_TYPE), config_lib.VMTestConfig(constants.CROS_VM_TEST_TYPE)]) # Don't override vm tests for arm boards. old = self.all_configs['daisy-paladin'] new = config_lib.OverrideConfigForTrybot(old, mock_options) self.assertEquals(new['vm_tests'], old['vm_tests']) # Don't override vm tests for brillo boards. old = self.all_configs['storm-paladin'] new = config_lib.OverrideConfigForTrybot(old, mock_options) self.assertEquals(new['vm_tests'], old['vm_tests'])
def testGceTests(self): """Tests if GCE_VM_TEST_TYPE tests are run on GCE.""" self._run.config['vm_tests'] = [ config_lib.VMTestConfig(constants.GCE_VM_TEST_TYPE) ] gce_tarball = constants.TEST_IMAGE_GCE_TAR # pylint: disable=unused-argument def _MockRunTestSuite(buildroot, board, image_path, results_dir, test_type, *args, **kwargs): self.assertEndsWith(image_path, gce_tarball) self.assertEqual(test_type, constants.GCE_VM_TEST_TYPE) # pylint: enable=unused-argument commands.RunTestSuite.side_effect = _MockRunTestSuite self.RunStage() self.assertTrue(commands.RunTestSuite.called and commands.RunTestSuite.call_count == 1)
def testQuickTests(self): """Tests if quick unit and cros_au_test_harness tests are run correctly.""" self._run.config['vm_tests'] = [ config_lib.VMTestConfig(constants.SIMPLE_AU_TEST_TYPE) ] self.RunStage()
def testFullTests(self): """Tests if full unit and cros_au_test_harness tests are run correctly.""" self._run.config['vm_tests'] = [ config_lib.VMTestConfig(constants.FULL_AU_TEST_TYPE) ] self.RunStage()