Title: [113356] trunk
Revision
113356
Author
rn...@webkit.org
Date
2012-04-05 12:32:27 -0700 (Thu, 05 Apr 2012)

Log Message

perf-o-matic should include unit in runs JSON responses
https://bugs.webkit.org/show_bug.cgi?id=83294

Reviewed by Tony Chang.

This is a follow up to r112829. Report the unit in /api/test/runs so that the frontend can show it.
Fixed a bug in Test.update_or_insert that it didn't store the unit when it first created the Test object.

Also increment perf-o-matic's version to 18.

* Websites/webkit-perf.appspot.com/app.yaml: Incremented the version.
* Websites/webkit-perf.appspot.com/models.py:
(Test.update_or_insert.execute): Store unit when creating a test.
(Runs.to_json): Include unit.
* Websites/webkit-perf.appspot.com/models_unittest.py: Added tests.
(TestModelTests.test_update_or_insert_with_unit):
(RunsTest.test_to_json_without_results):
(RunsTest.test_to_json_with_results):
(RunsTest.test_to_json_with_unit):

Modified Paths

Diff

Modified: trunk/ChangeLog (113355 => 113356)


--- trunk/ChangeLog	2012-04-05 19:30:13 UTC (rev 113355)
+++ trunk/ChangeLog	2012-04-05 19:32:27 UTC (rev 113356)
@@ -1,3 +1,25 @@
+2012-04-05  Ryosuke Niwa  <rn...@webkit.org>
+
+        perf-o-matic should include unit in runs JSON responses
+        https://bugs.webkit.org/show_bug.cgi?id=83294
+
+        Reviewed by Tony Chang.
+
+        This is a follow up to r112829. Report the unit in /api/test/runs so that the frontend can show it.
+        Fixed a bug in Test.update_or_insert that it didn't store the unit when it first created the Test object.
+
+        Also increment perf-o-matic's version to 18.
+
+        * Websites/webkit-perf.appspot.com/app.yaml: Incremented the version.
+        * Websites/webkit-perf.appspot.com/models.py:
+        (Test.update_or_insert.execute): Store unit when creating a test.
+        (Runs.to_json): Include unit.
+        * Websites/webkit-perf.appspot.com/models_unittest.py: Added tests.
+        (TestModelTests.test_update_or_insert_with_unit):
+        (RunsTest.test_to_json_without_results):
+        (RunsTest.test_to_json_with_results):
+        (RunsTest.test_to_json_with_unit):
+
 2012-03-14  Antonio Gomes  <ago...@rim.com>
 
         Extend HitTestResult to support not "discarding" shadow content in favor of its DOM ancestor

Modified: trunk/Websites/webkit-perf.appspot.com/app.yaml (113355 => 113356)


--- trunk/Websites/webkit-perf.appspot.com/app.yaml	2012-04-05 19:30:13 UTC (rev 113355)
+++ trunk/Websites/webkit-perf.appspot.com/app.yaml	2012-04-05 19:32:27 UTC (rev 113356)
@@ -1,5 +1,5 @@
 application: webkit-perf
-version: 17
+version: 18
 runtime: python27
 api_version: 1
 threadsafe: false

Modified: trunk/Websites/webkit-perf.appspot.com/models.py (113355 => 113356)


--- trunk/Websites/webkit-perf.appspot.com/models.py	2012-04-05 19:30:13 UTC (rev 113355)
+++ trunk/Websites/webkit-perf.appspot.com/models.py	2012-04-05 19:32:27 UTC (rev 113356)
@@ -167,7 +167,7 @@
                 existing_test[0] = test
                 return None
 
-            test = Test(id=id, name=test_name, key_name=test_name, branches=[branch.key()], platforms=[platform.key()])
+            test = Test(id=id, name=test_name, key_name=test_name, unit=unit, branches=[branch.key()], platforms=[platform.key()])
             test.put()
             return test
 
@@ -448,8 +448,9 @@
 
     def to_json(self):
         # date_range is never used by common.js.
-        return '{"test_runs": [%s], "averages": {%s}, "min": %s, "max": %s, "date_range": null, "stat": "ok"}' % (self.json_runs,
-            self.json_averages, str(self.json_min) if self.json_min else 'null', str(self.json_max) if self.json_max else 'null')
+        return '{"test_runs": [%s], "averages": {%s}, "min": %s, "max": %s, "unit": %s, "date_range": null, "stat": "ok"}' % (self.json_runs,
+            self.json_averages, str(self.json_min) if self.json_min else 'null', str(self.json_max) if self.json_max else 'null',
+            '"%s"' % self.test.unit if self.test.unit else 'null')
 
     def chart_params(self, display_days, now=datetime.now().replace(hour=12, minute=0, second=0, microsecond=0)):
         chart_data_x = []

Modified: trunk/Websites/webkit-perf.appspot.com/models_unittest.py (113355 => 113356)


--- trunk/Websites/webkit-perf.appspot.com/models_unittest.py	2012-04-05 19:30:13 UTC (rev 113355)
+++ trunk/Websites/webkit-perf.appspot.com/models_unittest.py	2012-04-05 19:32:27 UTC (rev 113356)
@@ -268,6 +268,13 @@
         self.assertEqual(test.unit, None)
         self.assertOnlyInstance(test)
 
+    def test_update_or_insert_with_unit(self):
+        branch = Branch.create_if_possible('some-branch', 'Some Branch')
+        platform = Platform.create_if_possible('some-platform', 'Some Platform')
+        test = Test.update_or_insert('some-test', branch, platform, 'runs/s')
+        self.assertOnlyInstance(test)
+        self.assertEqualUnorderedList(test.unit, 'runs/s')
+
     def test_update_or_insert_to_update(self):
         branch = Branch.create_if_possible('some-branch', 'Some Branch')
         platform = Platform.create_if_possible('some-platform', 'Some Platform')
@@ -660,6 +667,7 @@
             'averages': {},
             'min': None,
             'max': None,
+            'unit': None,
             'date_range': None,
             'stat': 'ok'})
 
@@ -671,10 +679,11 @@
         builds, results = self._create_results(some_branch, some_platform, some_builder, 'some-test', [50.0, 51.0, 52.0, 49.0, 48.0])
 
         value = json.loads(Runs.update_or_insert(some_branch, some_platform, some_test).to_json())
-        self.assertEqualUnorderedList(value.keys(), ['test_runs', 'averages', 'min', 'max', 'date_range', 'stat'])
+        self.assertEqualUnorderedList(value.keys(), ['test_runs', 'averages', 'min', 'max', 'unit', 'date_range', 'stat'])
         self.assertEqual(value['stat'], 'ok')
         self.assertEqual(value['min'], 48.0)
         self.assertEqual(value['max'], 52.0)
+        self.assertEqual(value['unit'], None)
         self.assertEqual(value['date_range'], None)  # date_range is never given
 
         self.assertEqual(len(value['test_runs']), len(results))
@@ -688,6 +697,16 @@
             self.assertEqual(run[6], some_builder.key().id())
             self.assertEqual(run[7], None)  # Statistics
 
+    def test_to_json_with_unit(self):
+        some_branch = Branch.create_if_possible('some-branch', 'Some Branch')
+        some_platform = Platform.create_if_possible('some-platform', 'Some Platform')
+        some_builder = Builder.get(Builder.create('some-builder', 'Some Builder'))
+        some_test = Test.update_or_insert('some-test', some_branch, some_platform, 'runs/s')
+        builds, results = self._create_results(some_branch, some_platform, some_builder, 'some-test', [50.0, 51.0, 52.0, 49.0, 48.0])
+
+        value = json.loads(Runs.update_or_insert(some_branch, some_platform, some_test).to_json())
+        self.assertEqual(value['unit'], 'runs/s')
+
     def _assert_entry(self, entry, build, result, value, statistics=None, supplementary_revisions=None):
         entry = entry[:]
         entry[2] = None  # timestamp
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to