def test_macro_expansion(self): converter = TestConfigurationConverter(self._all_test_configurations, MOCK_MACROS) configs_to_match = set([ TestConfiguration('vista', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), ]) self.assertEqual(converter.to_config_set(set(['win', 'release'])), configs_to_match) configs_to_match = set([ TestConfiguration('vista', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), TestConfiguration('linux32', 'x86', 'release'), TestConfiguration('trusty', 'x86_64', 'release'), ]) self.assertEqual( converter.to_config_set( set(['win', 'linux32', 'trusty', 'release'])), configs_to_match) configs_to_match = set([ TestConfiguration('vista', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), TestConfiguration('snowleopard', 'x86', 'release'), ]) self.assertEqual( converter.to_config_set(set(['win', 'mac', 'release'])), configs_to_match)
def test_keys(self): config = TestConfiguration('win7', 'x86', 'release') result_config_keys = [] for category in config.keys(): result_config_keys.append(category) self.assertEqual(set(['version', 'architecture', 'build_type']), set(result_config_keys))
def _generate_all_test_configurations(self): configurations = [] for port_name in self._allowed_port_names(): for build_type in self.ALL_BUILD_TYPES: for architecture in self.ARCHITECTURES: configurations.append(TestConfiguration(version=self._strip_port_name_prefix(port_name), architecture=architecture, build_type=build_type)) return configurations
def test_values(self): config = TestConfiguration('win7', 'x86', 'release') result_config_values = [] for value in config.values(): result_config_values.append(value) self.assertEqual(set(['win7', 'x86', 'release']), set(result_config_values))
def _generate_all_test_configurations(self): return [ TestConfiguration(version=self._version, architecture='x86', build_type=build_type) for build_type in self.ALL_BUILD_TYPES ]
def _generate_all_test_configurations(self): configurations = [] for version in self._allowed_versions(): for build_type in self.ALL_BUILD_TYPES: for architecture in self.ARCHITECTURES: version_name = VersionNameMap.map(self.host.platform).to_name(version, platform=self.port_name.split('-')[0]) configurations.append(TestConfiguration(version=version_name, architecture=architecture, build_type=build_type)) return configurations
def _generate_all_test_configurations(self): configurations = [] for build_type in self.ALL_BUILD_TYPES: configurations.append( TestConfiguration(version=self.version_name(), architecture='x86', build_type=build_type)) return configurations
def _generate_all_test_configurations(self): configurations = [] allowed_port_names = self.VERSION_FALLBACK_ORDER + [self.operating_system() + "-future"] for port_name in allowed_port_names: for build_type in self.ALL_BUILD_TYPES: for architecture in self.ARCHITECTURES: configurations.append(TestConfiguration(version=self._strip_port_name_prefix(port_name), architecture=architecture, build_type=build_type)) return configurations
def _generate_all_test_configurations(self): """Returns a sequence of the TestConfigurations the port supports.""" # By default, we assume we want to test every graphics type in # every configuration on every system. test_configurations = [] for version, architecture in self.ALL_SYSTEMS: for build_type in self.ALL_BUILD_TYPES: for graphics_type in self.ALL_GRAPHICS_TYPES: test_configurations.append( TestConfiguration(version, architecture, build_type, graphics_type)) if version in self.CORE_GRAPHICS_VERSIONS: for graphics_type in self.CORE_GRAPHICS_TYPES: test_configurations.append( TestConfiguration(version, architecture, build_type, graphics_type)) return test_configurations
def make_mock_all_test_configurations_set(): all_test_configurations = set() for version, architecture in (('snowleopard', 'x86'), ('win7', 'x86'), ('vista', 'x86'), ('precise', 'x86_64'), ('trusty', 'x86_64')): for build_type in ('debug', 'release'): all_test_configurations.add( TestConfiguration(version, architecture, build_type)) return all_test_configurations
def _generate_all_test_configurations(self): configurations = [] for build_type in self.ALL_BUILD_TYPES: configurations.append( TestConfiguration(version=self._version, architecture='x86', build_type=build_type, graphics_type='cpu')) return configurations
def _generate_all_test_configurations(self): configurations = [] for build_type in self.ALL_BUILD_TYPES: for architecture in self.ARCHITECTURES: configurations.append( TestConfiguration(version=self._version, architecture=architecture, build_type=build_type)) return configurations
def test_items(self): config = TestConfiguration('win7', 'x86', 'release') result_config_dict = {} for category, specifier in config.items(): result_config_dict[category] = specifier self.assertEqual( { 'version': 'win7', 'architecture': 'x86', 'build_type': 'release' }, result_config_dict)
def all_test_configurations(self): """Returns a sequence of the TestConfigurations the port supports.""" # By default, we assume we want to test every graphics type in # every configuration on every system. test_configurations = [] for version, architecture in self._all_systems(): for build_type in self._all_build_types(): test_configurations.append(TestConfiguration( version=version, architecture=architecture, build_type=build_type)) return test_configurations
def _generate_all_test_configurations(self): configurations = [] for port_name in self.VERSION_FALLBACK_ORDER: if '-' in port_name: version = self._strip_port_name_prefix(port_name) else: # The version for the "base" port is currently defined as "future" # since TestConfiguration doesn't allow None as a valid version. version = self.FUTURE_VERSION for build_type in self.ALL_BUILD_TYPES: # But at some later point we may need to make these configurable by the MacPort and WinPort subclasses. configurations.append(TestConfiguration(version=version, architecture='x86', build_type=build_type)) return configurations
def _generate_all_test_configurations(self): configurations = [] for port_name in self.VERSION_FALLBACK_ORDER: if '-' in port_name: version = self._strip_port_name_prefix(port_name) else: # The version for the "base" port is currently defined as "future" # since TestConfiguration doesn't allow None as a valid version. version = self.FUTURE_VERSION for build_type in self.ALL_BUILD_TYPES: for architecture in self.ARCHITECTURES: configurations.append(TestConfiguration(version=version, architecture=architecture, build_type=build_type)) return configurations
def _generate_all_test_configurations(self): configurations = [] for port_name in self.VERSION_FALLBACK_ORDER: if '-' in port_name: version = self._strip_port_name_prefix(port_name) else: # The version for the "base" port is currently defined as "future" # since TestConfiguration doesn't allow None as a valid version. version = self.FUTURE_VERSION for build_type in self.ALL_BUILD_TYPES: # Win and Mac ports both happen to only exist on x86 architectures and always use cpu graphics (gpu graphics is a chromium-only hack). # But at some later point we may need to make these configurable by the MacPort and WinPort subclasses. configurations.append(TestConfiguration(version=version, architecture='x86', build_type=build_type, graphics_type='cpu')) return configurations
def test_hash(self): config_dict = {} config_dict[TestConfiguration('win7', 'x86', 'release')] = True self.assertIn(TestConfiguration('win7', 'x86', 'release'), config_dict) self.assertTrue(config_dict[TestConfiguration('win7', 'x86', 'release')]) def query_unknown_key(): return config_dict[TestConfiguration('win7', 'x86', 'debug')] self.assertRaises(KeyError, query_unknown_key) self.assertIn(TestConfiguration('win7', 'x86', 'release'), config_dict) self.assertNotIn(TestConfiguration('win7', 'x86', 'debug'), config_dict) configs_list = [ TestConfiguration('win7', 'x86', 'release'), TestConfiguration('win7', 'x86', 'debug'), TestConfiguration('win7', 'x86', 'debug') ] self.assertEqual(len(configs_list), 3) self.assertEqual(len(set(configs_list)), 2)
def test_to_config_set(self): converter = TestConfigurationConverter(self._all_test_configurations) self.assertEqual(converter.to_config_set(set()), self._all_test_configurations) self.assertEqual(converter.to_config_set(set(['foo'])), set()) self.assertEqual(converter.to_config_set(set(['win7', 'foo'])), set()) errors = [] self.assertEqual(converter.to_config_set(set(['win7', 'foo']), errors), set()) self.assertEqual(errors, ["Unrecognized specifier 'foo'"]) self.assertEqual(converter.to_config_set(set(['win7', 'x86_64'])), set()) configs_to_match = set([ TestConfiguration('win7', 'x86', 'release'), ]) self.assertEqual(converter.to_config_set(set(['win7', 'release'])), configs_to_match) configs_to_match = set([ TestConfiguration('snowleopard', 'x86', 'release'), TestConfiguration('vista', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), TestConfiguration('precise', 'x86_64', 'release'), TestConfiguration('trusty', 'x86_64', 'release'), ]) self.assertEqual(converter.to_config_set(set(['release'])), configs_to_match) configs_to_match = set([ TestConfiguration('precise', 'x86_64', 'release'), TestConfiguration('precise', 'x86_64', 'debug'), TestConfiguration('trusty', 'x86_64', 'release'), TestConfiguration('trusty', 'x86_64', 'debug'), ]) self.assertEqual(converter.to_config_set(set(['x86_64'])), configs_to_match) configs_to_match = set([ TestConfiguration('trusty', 'x86_64', 'release'), TestConfiguration('trusty', 'x86_64', 'debug'), TestConfiguration('precise', 'x86_64', 'release'), TestConfiguration('precise', 'x86_64', 'debug'), TestConfiguration('snowleopard', 'x86', 'release'), TestConfiguration('snowleopard', 'x86', 'debug'), ]) self.assertEqual( converter.to_config_set(set(['trusty', 'precise', 'snowleopard'])), configs_to_match) configs_to_match = set([ TestConfiguration('snowleopard', 'x86', 'release'), TestConfiguration('snowleopard', 'x86', 'debug'), ]) self.assertEqual(converter.to_config_set(set(['snowleopard', 'x86'])), configs_to_match) configs_to_match = set([ TestConfiguration('trusty', 'x86_64', 'release'), TestConfiguration('snowleopard', 'x86', 'release'), ]) self.assertEqual( converter.to_config_set(set(['trusty', 'snowleopard', 'release'])), configs_to_match)
def test_all_test_configurations(self): """Validate the complete set of configurations this port knows about.""" port = self.make_port() self.assertEquals( set(port.all_test_configurations()), set([ TestConfiguration('icecreamsandwich', 'x86', 'debug'), TestConfiguration('icecreamsandwich', 'x86', 'release'), TestConfiguration('snowleopard', 'x86', 'debug'), TestConfiguration('snowleopard', 'x86', 'release'), TestConfiguration('lion', 'x86', 'debug'), TestConfiguration('lion', 'x86', 'release'), TestConfiguration('xp', 'x86', 'debug'), TestConfiguration('xp', 'x86', 'release'), TestConfiguration('win7', 'x86', 'debug'), TestConfiguration('win7', 'x86', 'release'), TestConfiguration('lucid', 'x86', 'debug'), TestConfiguration('lucid', 'x86', 'release'), TestConfiguration('lucid', 'x86_64', 'debug'), TestConfiguration('lucid', 'x86_64', 'release'), ]))
def test_to_specifier_lists(self): converter = TestConfigurationConverter(self._all_test_configurations, MOCK_MACROS) self.assertEqual( converter.to_specifiers_list(set(self._all_test_configurations)), [[]]) self.assertEqual(converter.to_specifiers_list(set()), []) configs_to_match = set([ TestConfiguration('win7', 'x86', 'release'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['release', 'win7'])]) configs_to_match = set([ TestConfiguration('win7', 'x86', 'release'), TestConfiguration('win7', 'x86', 'debug'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['win7'])]) configs_to_match = set([ TestConfiguration('precise', 'x86_64', 'debug'), TestConfiguration('trusty', 'x86_64', 'debug'), TestConfiguration('win7', 'x86', 'release'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['release', 'win7']), set(['debug', 'linux'])]) configs_to_match = set([ TestConfiguration('win7', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), TestConfiguration('trusty', 'x86_64', 'debug'), TestConfiguration('precise', 'x86_64', 'debug'), TestConfiguration('trusty', 'x86_64', 'debug'), TestConfiguration('precise', 'x86_64', 'debug'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['release', 'win7']), set(['debug', 'linux'])]) configs_to_match = set([ TestConfiguration('win7', 'x86', 'release'), TestConfiguration('snowleopard', 'x86', 'release'), TestConfiguration('vista', 'x86', 'release'), TestConfiguration('precise', 'x86_64', 'release'), TestConfiguration('trusty', 'x86_64', 'release'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['release'])]) configs_to_match = set([ TestConfiguration('win7', 'x86', 'release'), TestConfiguration('snowleopard', 'x86', 'release'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['win7', 'mac', 'release'])]) configs_to_match = set([ TestConfiguration('snowleopard', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), TestConfiguration('win7', 'x86', 'debug'), TestConfiguration('trusty', 'x86_64', 'release'), ]) self.assertEqual( converter.to_specifiers_list(configs_to_match), [set(['win7']), set(['release', 'mac', 'trusty'])])
def query_unknown_key(): return config_dict[TestConfiguration('win7', 'x86', 'debug')]
import argparse import sys from webkitpy.common.host import Host from webkitpy.common.net.git_cl import GitCL from webkitpy.common.path_finder import PathFinder from webkitpy.layout_tests.models.test_configuration import TestConfiguration from webkitpy.layout_tests.models.test_configuration import TestConfigurationConverter from webkitpy.layout_tests.models.test_expectations import TestExpectationLine from webkitpy.layout_tests.models.test_expectations import TestExpectations from webkitpy.layout_tests.models.test_expectations import TestExpectationsModel # TODO(skobes): use webkitpy/config/builders.json instead of hardcoding these. BUILDER_CONFIGS = { 'linux_chromium_rel_ng': TestConfiguration('Linux', '', 'release'), 'mac_chromium_rel_ng': TestConfiguration('Mac', '', 'release'), 'win7_chromium_rel_ng': TestConfiguration('Win', '', 'release') } BUILDER_MASTERS = { 'linux_chromium_rel_ng': 'tryserver.chromium.linux', 'mac_chromium_rel_ng': 'tryserver.chromium.mac', 'win7_chromium_rel_ng': 'tryserver.chromium.win' } FLAG_FILE = 'additional-driver-flag.setting' class TryFlag(object): def __init__(self, argv, host, git_cl): self._args = parse_args(argv) self._host = host
def test_converter_macro_collapsing(self): converter = TestConfigurationConverter(self._all_test_configurations, MOCK_MACROS) configs_to_match = set([ TestConfiguration('vista', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['win', 'release'])]) configs_to_match = set([ TestConfiguration('vista', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), TestConfiguration('precise', 'x86_64', 'release'), TestConfiguration('trusty', 'x86_64', 'release'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['win', 'linux', 'release'])]) configs_to_match = set([ TestConfiguration('vista', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), TestConfiguration('snowleopard', 'x86', 'release'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['win', 'mac', 'release'])]) configs_to_match = set([ TestConfiguration('vista', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), TestConfiguration('snowleopard', 'x86', 'release'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['win', 'mac', 'release'])]) configs_to_match = set([ TestConfiguration('vista', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release'), ]) self.assertEqual(converter.to_specifiers_list(configs_to_match), [set(['win', 'release'])])
def test_repr(self): config = TestConfiguration('win7', 'x86', 'release') self.assertEqual( "TestConfig(version='win7', architecture='x86', build_type='release')", repr(config))
def test_eq(self): self.assertEqual(TestConfiguration('win7', 'x86', 'release'), TestConfiguration('win7', 'x86', 'release')) self.assertNotEquals(TestConfiguration('win7', 'x86', 'release'), TestConfiguration('win7', 'x86', 'debug'))
def test_str(self): config = TestConfiguration('win7', 'x86', 'release') self.assertEqual('<win7, x86, release>', str(config))
def test_all_test_configurations(self): """Validate the complete set of configurations this port knows about.""" port = chromium.ChromiumPort(MockHost()) self.assertEquals( set(port.all_test_configurations()), set([ TestConfiguration('leopard', 'x86', 'debug', 'cpu'), TestConfiguration('leopard', 'x86', 'debug', 'gpu'), TestConfiguration('leopard', 'x86', 'debug', 'cpu-cg'), TestConfiguration('leopard', 'x86', 'debug', 'gpu-cg'), TestConfiguration('leopard', 'x86', 'release', 'cpu'), TestConfiguration('leopard', 'x86', 'release', 'gpu'), TestConfiguration('leopard', 'x86', 'release', 'cpu-cg'), TestConfiguration('leopard', 'x86', 'release', 'gpu-cg'), TestConfiguration('snowleopard', 'x86', 'debug', 'cpu'), TestConfiguration('snowleopard', 'x86', 'debug', 'gpu'), TestConfiguration('snowleopard', 'x86', 'debug', 'cpu-cg'), TestConfiguration('snowleopard', 'x86', 'debug', 'gpu-cg'), TestConfiguration('snowleopard', 'x86', 'release', 'cpu'), TestConfiguration('snowleopard', 'x86', 'release', 'gpu'), TestConfiguration('snowleopard', 'x86', 'release', 'cpu-cg'), TestConfiguration('snowleopard', 'x86', 'release', 'gpu-cg'), TestConfiguration('lion', 'x86', 'debug', 'cpu'), TestConfiguration('lion', 'x86', 'debug', 'gpu'), TestConfiguration('lion', 'x86', 'debug', 'cpu-cg'), TestConfiguration('lion', 'x86', 'debug', 'gpu-cg'), TestConfiguration('lion', 'x86', 'release', 'cpu'), TestConfiguration('lion', 'x86', 'release', 'gpu'), TestConfiguration('lion', 'x86', 'release', 'cpu-cg'), TestConfiguration('lion', 'x86', 'release', 'gpu-cg'), TestConfiguration('xp', 'x86', 'debug', 'cpu'), TestConfiguration('xp', 'x86', 'debug', 'gpu'), TestConfiguration('xp', 'x86', 'release', 'cpu'), TestConfiguration('xp', 'x86', 'release', 'gpu'), TestConfiguration('vista', 'x86', 'debug', 'cpu'), TestConfiguration('vista', 'x86', 'debug', 'gpu'), TestConfiguration('vista', 'x86', 'release', 'cpu'), TestConfiguration('vista', 'x86', 'release', 'gpu'), TestConfiguration('win7', 'x86', 'debug', 'cpu'), TestConfiguration('win7', 'x86', 'debug', 'gpu'), TestConfiguration('win7', 'x86', 'release', 'cpu'), TestConfiguration('win7', 'x86', 'release', 'gpu'), TestConfiguration('lucid', 'x86', 'debug', 'cpu'), TestConfiguration('lucid', 'x86', 'debug', 'gpu'), TestConfiguration('lucid', 'x86', 'release', 'cpu'), TestConfiguration('lucid', 'x86', 'release', 'gpu'), TestConfiguration('lucid', 'x86_64', 'debug', 'cpu'), TestConfiguration('lucid', 'x86_64', 'debug', 'gpu'), TestConfiguration('lucid', 'x86_64', 'release', 'cpu'), TestConfiguration('lucid', 'x86_64', 'release', 'gpu'), ]))