Esempio n. 1
0
    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))
Esempio n. 3
0
 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))
Esempio n. 5
0
 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
     ]
Esempio n. 6
0
 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
Esempio n. 7
0
 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
Esempio n. 8
0
 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
Esempio n. 9
0
 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
Esempio n. 11
0
 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
Esempio n. 12
0
 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)
Esempio n. 14
0
 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
Esempio n. 15
0
    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
Esempio n. 16
0
    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
Esempio n. 17
0
    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)
Esempio n. 20
0
 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')]
Esempio n. 23
0
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))
Esempio n. 28
0
 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'),
         ]))