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