Title: [255883] trunk/Tools
Revision
255883
Author
[email protected]
Date
2020-02-05 17:13:47 -0800 (Wed, 05 Feb 2020)

Log Message

resulsdbpy: Fix unit tests
https://bugs.webkit.org/show_bug.cgi?id=207304

Reviewed by Aakash Jain.

* resultsdbpy/resultsdbpy/model/configuration_context_unittest.py:
(ConfigurationContextTest.test_partition_by_configuration): Add branch to testing table.
(ConfigurationContextTest.test_partition_by_partial_configuration): Ditto.
* resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
(FailureContextTest.test_failures): Sort test failures by uuid for a predictable order in testing.
(FailureContextTest.test_unexpected_failures): Ditto.
* resultsdbpy/resultsdbpy/model/mock_model_factory.py:
(MockModelFactory.iterate_all_commits): Do not batch requests since this function has no way
of knowing how expensive the callback may be.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (255882 => 255883)


--- trunk/Tools/ChangeLog	2020-02-06 01:08:45 UTC (rev 255882)
+++ trunk/Tools/ChangeLog	2020-02-06 01:13:47 UTC (rev 255883)
@@ -1,3 +1,20 @@
+2020-02-05  Jonathan Bedard  <[email protected]>
+
+        resulsdbpy: Fix unit tests
+        https://bugs.webkit.org/show_bug.cgi?id=207304
+
+        Reviewed by Aakash Jain.
+
+        * resultsdbpy/resultsdbpy/model/configuration_context_unittest.py:
+        (ConfigurationContextTest.test_partition_by_configuration): Add branch to testing table.
+        (ConfigurationContextTest.test_partition_by_partial_configuration): Ditto.
+        * resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
+        (FailureContextTest.test_failures): Sort test failures by uuid for a predictable order in testing.
+        (FailureContextTest.test_unexpected_failures): Ditto.
+        * resultsdbpy/resultsdbpy/model/mock_model_factory.py:
+        (MockModelFactory.iterate_all_commits): Do not batch requests since this function has no way
+        of knowing how expensive the callback may be.
+
 2020-02-05  Chris Dumez  <[email protected]>
 
         Unreviewed, another build fix after r255846

Modified: trunk/Tools/resultsdbpy/resultsdbpy/model/configuration_context_unittest.py (255882 => 255883)


--- trunk/Tools/resultsdbpy/resultsdbpy/model/configuration_context_unittest.py	2020-02-06 01:08:45 UTC (rev 255882)
+++ trunk/Tools/resultsdbpy/resultsdbpy/model/configuration_context_unittest.py	2020-02-06 01:13:47 UTC (rev 255883)
@@ -205,6 +205,7 @@
 
         class ExampleModel(ClusteredByConfiguration):
             __table_name__ = 'example_table'
+            branch = columns.Text(partition_key=True, required=True)
             index = columns.Integer(primary_key=True, required=True)
             sdk = columns.Text(primary_key=True, required=True)
             json = columns.Text()
@@ -213,7 +214,7 @@
             self.database.cassandra.create_table(ExampleModel)
             for configuration in self.CONFIGURATIONS:
                 for i in range(5):
-                    self.database.insert_row_with_configuration(ExampleModel.__table_name__, configuration, index=i, sdk=configuration.sdk, json=configuration.to_json())
+                    self.database.insert_row_with_configuration(ExampleModel.__table_name__, configuration, branch=CommitContext.DEFAULT_BRANCH_KEY, index=i, sdk=configuration.sdk, json=configuration.to_json())
 
             for configuration in self.CONFIGURATIONS:
                 result = self.database.select_from_table_with_configurations(ExampleModel.__table_name__, [configuration], index=2).get(configuration, [])
@@ -227,6 +228,7 @@
 
         class ExampleModel(ClusteredByConfiguration):
             __table_name__ = 'example_table'
+            branch = columns.Text(partition_key=True, required=True)
             index = columns.Integer(primary_key=True, required=True)
             json = columns.Text()
 
@@ -234,7 +236,7 @@
             self.database.cassandra.create_table(ExampleModel)
             for configuration in self.CONFIGURATIONS:
                 for i in range(5):
-                    self.database.insert_row_with_configuration(ExampleModel.__table_name__, configuration, index=i, json=configuration.to_json())
+                    self.database.insert_row_with_configuration(ExampleModel.__table_name__, configuration, branch=CommitContext.DEFAULT_BRANCH_KEY, index=i, json=configuration.to_json())
 
             configuration_to_search_for = Configuration(model='iPhone Xs')
             results = self.database.select_from_table_with_configurations(ExampleModel.__table_name__, [configuration_to_search_for], index=4)

Modified: trunk/Tools/resultsdbpy/resultsdbpy/model/failure_context_unittest.py (255882 => 255883)


--- trunk/Tools/resultsdbpy/resultsdbpy/model/failure_context_unittest.py	2020-02-06 01:08:45 UTC (rev 255882)
+++ trunk/Tools/resultsdbpy/resultsdbpy/model/failure_context_unittest.py	2020-02-06 01:13:47 UTC (rev 255883)
@@ -87,7 +87,7 @@
 
         self.assertEqual(len(results), 1)
         self.assertEqual(len(list(results.values())[0]), 5)
-        self.assertEqual(list(results.values())[0][0], {
+        self.assertEqual(sorted(list(results.values())[0], key=lambda value: value['uuid'])[0], {
             'fast/encoding/css-cached-bom.html': 'FAIL',
             'fast/encoding/css-charset-default.xhtml': 'FAIL',
             'start_time': list(results.values())[0][0]['start_time'],
@@ -104,7 +104,7 @@
 
         self.assertEqual(len(results), 1)
         self.assertEqual(len(list(results.values())[0]), 5)
-        self.assertEqual(list(results.values())[0][0], {
+        self.assertEqual(sorted(list(results.values())[0], key=lambda value: value['uuid'])[0], {
             'fast/encoding/css-cached-bom.html': 'FAIL',
             'start_time': list(results.values())[0][0]['start_time'],
             'uuid': 153802947900

Modified: trunk/Tools/resultsdbpy/resultsdbpy/model/mock_model_factory.py (255882 => 255883)


--- trunk/Tools/resultsdbpy/resultsdbpy/model/mock_model_factory.py	2020-02-06 01:08:45 UTC (rev 255882)
+++ trunk/Tools/resultsdbpy/resultsdbpy/model/mock_model_factory.py	2020-02-06 01:13:47 UTC (rev 255883)
@@ -110,31 +110,31 @@
         for branch in branches:
             commit_index = {repo: 0 for repo in repos}
             commits_for_repo = {repo: sorted(model.commit_context.find_commits_in_range(repo, branch)) for repo in repos}
-            with model.upload_context.cassandra.batch_query_context():
+
+            for repo in repos:
+                while max([commits_for_repo[r][commit_index[r]] for r in repos]) > commits_for_repo[repo][commit_index[repo]]:
+                    if commit_index[repo] + 1 >= len(commits_for_repo[repo]):
+                        break
+                    commit_index[repo] += 1
+
+            while True:
+                commits = []
                 for repo in repos:
-                    while max([commits_for_repo[r][commit_index[r]] for r in repos]) > commits_for_repo[repo][commit_index[repo]]:
-                        if commit_index[repo] + 1 >= len(commits_for_repo[repo]):
-                            break
-                        commit_index[repo] += 1
+                    commits.append(commits_for_repo[repo][commit_index[repo]])
+                callback(commits)
 
-                while True:
-                    commits = []
-                    for repo in repos:
-                        commits.append(commits_for_repo[repo][commit_index[repo]])
-                    callback(commits)
-
-                    youngest_next_repo = None
-                    for repo in repos:
-                        if commit_index[repo] + 1 >= len(commits_for_repo[repo]):
-                            continue
-                        if not youngest_next_repo:
-                            youngest_next_repo = repo
-                            continue
-                        if commits_for_repo[youngest_next_repo][commit_index[youngest_next_repo] + 1] > commits_for_repo[repo][commit_index[repo] + 1]:
-                            youngest_next_repo = repo
+                youngest_next_repo = None
+                for repo in repos:
+                    if commit_index[repo] + 1 >= len(commits_for_repo[repo]):
+                        continue
                     if not youngest_next_repo:
-                        break
-                    commit_index[youngest_next_repo] += 1
+                        youngest_next_repo = repo
+                        continue
+                    if commits_for_repo[youngest_next_repo][commit_index[youngest_next_repo] + 1] > commits_for_repo[repo][commit_index[repo] + 1]:
+                        youngest_next_repo = repo
+                if not youngest_next_repo:
+                    break
+                commit_index[youngest_next_repo] += 1
 
     @classmethod
     def add_mock_results(cls, model, configuration=Configuration(), suite='layout-tests', test_results=None):
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to