예제 #1
0
    def setup_webserver(cls, app, redis=StrictRedis, cassandra=CassandraContext):
        with URLFactoryTest.mock(), MockModelFactory.safari(), MockModelFactory.webkit():
            cassandra.drop_keyspace(keyspace=cls.KEYSPACE)
            model = MockModelFactory.create(redis=redis(), cassandra=cassandra(keyspace=cls.KEYSPACE, create_keyspace=True))
            model.ci_context.add_url_factory(BuildbotURLFactory(master='build.webkit.org', redis=model.redis))
            app.register_blueprint(APIRoutes(model))

            with model.upload_context:
                # Mock results are more complicated because we want to attach results to builders
                for configuration in [
                    Configuration(platform='Mac', version_name='Catalina', version='10.15.0', sdk='19A500', is_simulator=False, architecture='x86_64', style='Release', flavor='wk1'),
                    Configuration(platform='Mac', version_name='Catalina', version='10.15.0', sdk='19A500', is_simulator=False, architecture='x86_64', style='Release', flavor='wk2'),
                    Configuration(platform='Mac', version_name='Mojave', version='10.14.0', sdk='18A500', is_simulator=False, architecture='x86_64', style='Release', flavor='wk1'),
                    Configuration(platform='Mac', version_name='Mojave', version='10.14.0', sdk='18A500', is_simulator=False, architecture='x86_64', style='Release', flavor='wk2'),
                ]:
                    build_count = [1]

                    def callback(commits, model=model, configuration=configuration, count=build_count):
                        results = MockModelFactory.layout_test_results()
                        results['details'] = {
                            'buildbot-master': URLFactoryTest.BUILD_MASTER,
                            'builder-name': f'{configuration.version_name}-{configuration.style}-{configuration.flavor.upper()}-Tests',
                            'build-number': str(count[0]),
                            'buildbot-worker': {
                                'Mojave': 'bot1',
                                'Catalina': 'bot2',
                            }.get(configuration.version_name, None),
                        }
                        model.upload_context.upload_test_results(configuration, commits, suite='layout-tests', timestamp=time.time(), test_results=results)
                        count[0] += 1

                    MockModelFactory.iterate_all_commits(model, callback)
                    MockModelFactory.process_results(model, configuration)
예제 #2
0
 def init_database(self, redis=StrictRedis, cassandra=CassandraContext):
     with MockModelFactory.safari(), MockModelFactory.webkit():
         cassandra.drop_keyspace(keyspace=self.KEYSPACE)
         self.model = MockModelFactory.create(redis=redis(),
                                              cassandra=cassandra(
                                                  keyspace=self.KEYSPACE,
                                                  create_keyspace=True))
         MockModelFactory.add_mock_results(
             self.model,
             test_results=dict(
                 details=dict(link='dummy-link'),
                 run_stats=dict(tests_skipped=0),
                 results={
                     'fast': {
                         'encoding': {
                             'css-cached-bom.html':
                             dict(expected='PASS', actual='FAIL', time=1.2),
                             'css-charset-default.xhtml':
                             dict(expected='FAIL', actual='FAIL', time=1.2),
                             'css-charset.html':
                             dict(expected='FAIL', actual='PASS', time=1.2),
                             'css-link-charset.html':
                             dict(expected='PASS', actual='PASS', time=1.2),
                         }
                     }
                 },
             ))
         MockModelFactory.process_results(self.model)
예제 #3
0
 def init_database(self, redis=StrictRedis, cassandra=CassandraContext):
     cassandra.drop_keyspace(keyspace=self.KEYSPACE)
     self.model = MockModelFactory.create(redis=redis(),
                                          cassandra=cassandra(
                                              keyspace=self.KEYSPACE,
                                              create_keyspace=True))
     MockModelFactory.add_mock_results(self.model)
     MockModelFactory.process_results(self.model)
예제 #4
0
 def test_no_failures(self, redis=StrictRedis, cassandra=CassandraContext):
     cassandra.drop_keyspace(keyspace=self.KEYSPACE)
     self.model = MockModelFactory.create(redis=redis(), cassandra=cassandra(keyspace=self.KEYSPACE, create_keyspace=True))
     MockModelFactory.add_mock_results(self.model)
     MockModelFactory.process_results(self.model)
     results = self.model.failure_context.failures_by_commit(
         configurations=[Configuration(platform='Mac', style='Release', flavor='wk1')],
         suite='layout-tests', recent=True, collapsed=False, unexpected=False,
     )
     self.assertEqual(len(results), 0)
예제 #5
0
 def init_database(self,
                   redis=StrictRedis,
                   cassandra=CassandraContext,
                   test_results=None):
     with MockModelFactory.safari(), MockModelFactory.webkit():
         cassandra.drop_keyspace(keyspace=self.KEYSPACE)
         self.model = MockModelFactory.create(redis=redis(),
                                              cassandra=cassandra(
                                                  keyspace=self.KEYSPACE,
                                                  create_keyspace=True))
         MockModelFactory.add_mock_results(self.model,
                                           test_results=test_results)
         MockModelFactory.process_results(self.model)
예제 #6
0
    def setup_webserver(cls,
                        app,
                        redis=StrictRedis,
                        cassandra=CassandraContext):
        cassandra.drop_keyspace(keyspace=cls.KEYSPACE)
        model = MockModelFactory.create(redis=redis(),
                                        cassandra=cassandra(
                                            keyspace=cls.KEYSPACE,
                                            create_keyspace=True))
        app.register_blueprint(APIRoutes(model))

        MockModelFactory.add_mock_results(model)
        MockModelFactory.process_results(model)
    def setup_webserver(cls, app, redis=StrictRedis, cassandra=CassandraContext):
        cassandra.drop_keyspace(keyspace=cls.KEYSPACE)
        model = MockModelFactory.create(redis=redis(), cassandra=cassandra(keyspace=cls.KEYSPACE, create_keyspace=True))
        app.register_blueprint(APIRoutes(model))

        MockModelFactory.add_mock_results(model, test_results=dict(
            details=dict(link='dummy-link'),
            run_stats=dict(tests_skipped=0),
            results={
                'fast': {
                    'encoding': {
                        'css-cached-bom.html': dict(expected='PASS', actual='FAIL', time=1.2),
                        'css-charset-default.xhtml': dict(expected='FAIL', actual='FAIL', time=1.2),
                        'css-charset.html': dict(expected='FAIL', actual='PASS', time=1.2),
                        'css-link-charset.html': dict(expected='PASS', actual='PAS', time=1.2),
                    }
                }
            },
        ))
        MockModelFactory.process_results(model)