Commit 1d89656c authored by Matthew Cary's avatar Matthew Cary Committed by Commit Bot

[perf] Make contrib/orderfile tests robust to benchmark changes.

Previously, the contrib/orderfile/ tests depended on system health
benchmark names. This meant the test broke any time the system health
benchmarks were changed. As we now believe the orderfile generation is
not sensitive to the exact partition of benchmark, the test is changed
to just do counting.

Bug: 878390
Change-Id: Idff912eaef63f4687ab1b3f3946160a57f57aa02
Reviewed-on: https://chromium-review.googlesource.com/1196889
Commit-Queue: Matthew Cary <mattcary@chromium.org>
Reviewed-by: default avatarUlan Degenbaev <ulan@chromium.org>
Reviewed-by: default avatarJuan Antonio Navarro Pérez <perezju@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587623}
parent c90469cc
...@@ -22,159 +22,40 @@ class Orderfile(unittest.TestCase): ...@@ -22,159 +22,40 @@ class Orderfile(unittest.TestCase):
self.maxDiff = None self.maxDiff = None
def testDefaults(self): def testDefaults(self):
training = [s.NAME for s in orderfile.OrderfileStorySet( training = set([s.NAME for s in orderfile.OrderfileStorySet(
orderfile.OrderfileStorySet.TRAINING).RunSetStories()] orderfile.OrderfileStorySet.TRAINING).RunSetStories()])
self.assertListEqual( self.assertEqual(orderfile.OrderfileStorySet.DEFAULT_TRAINING,
['background:social:facebook', len(training))
'load:media:soundcloud', testing = set([s.NAME for s in orderfile.OrderfileStorySet(
'load:news:wikipedia', orderfile.OrderfileStorySet.TESTING).RunSetStories()])
'browse:media:imgur', self.assertEqual(orderfile.OrderfileStorySet.DEFAULT_TESTING, len(testing))
'browse:tech:discourse_infinite_scroll', self.assertEqual(0, len(testing & training))
'browse:news:cricbuzz',
'load:games:lazors',
'load:tools:drive',
'load:search:google',
'load:tools:stackoverflow',
'load:news:washingtonpost',
'load:news:reddit',
'browse:shopping:avito',
'load:news:cnn',
'browse:news:qq',
'load:search:baidu',
'load:search:ebay',
'long_running:tools:gmail-foreground',
'load:media:imgur',
'background:news:nytimes',
'load:tools:dropbox',
'background:search:google',
'load:chrome:blank',
'browse:social:tumblr_infinite_scroll',
'load:news:qq',
'load:search:yandex',
'load:media:dailymotion',
'browse:tools:maps',
'load:games:bubbles',
'browse:shopping:amazon',
'browse:social:instagram',
'background:tools:gmail',
'load:media:youtube',
'load:media:facebook_photos',
'browse:media:facebook_photos',
'browse:social:facebook',
'browse:news:reddit',
'load:media:google_images',
'load:tools:weather',
'load:social:twitter',
'browse:news:cnn',
'browse:media:flickr_infinite_scroll',
'load:games:spychase',
'load:tools:docs',
'load:news:nytimes',
'browse:news:washingtonpost',
'browse:social:pinterest_infinite_scroll',
'load:news:irctc',
'browse:media:youtube',
'load:search:yahoo'], training)
testing = [s.NAME for s in orderfile.OrderfileStorySet(
orderfile.OrderfileStorySet.TESTING).RunSetStories()]
self.assertListEqual(
['browse:shopping:lazada',
'load:tools:gmail',
'browse:news:toi',
'browse:chrome:omnibox',
'browse:news:globo',
'browse:social:facebook_infinite_scroll',
'load:search:taobao',
'background:media:imgur'], testing)
def test25TrainingStories(self): def test25TrainingStories(self):
training = [s.NAME for s in orderfile.OrderfileStorySet( training = set([s.NAME for s in orderfile.OrderfileStorySet(
orderfile.OrderfileStorySet.TRAINING, num_training=25).RunSetStories()] orderfile.OrderfileStorySet.TRAINING, num_training=25).RunSetStories()])
self.assertListEqual( self.assertEqual(25, len(training))
['background:social:facebook', testing = set([s.NAME for s in orderfile.OrderfileStorySet(
'load:media:soundcloud',
'load:news:wikipedia',
'browse:media:imgur',
'browse:tech:discourse_infinite_scroll',
'browse:news:cricbuzz',
'load:games:lazors',
'load:tools:drive',
'load:search:google',
'load:tools:stackoverflow',
'load:news:washingtonpost',
'load:news:reddit',
'browse:shopping:avito',
'load:news:cnn',
'browse:news:qq',
'load:search:baidu',
'load:search:ebay',
'long_running:tools:gmail-foreground',
'load:media:imgur',
'background:news:nytimes',
'load:tools:dropbox',
'background:search:google',
'load:chrome:blank',
'browse:social:tumblr_infinite_scroll',
'load:news:qq'],
training)
def testTestingStories(self):
testing = [s.NAME for s in orderfile.OrderfileStorySet(
orderfile.OrderfileStorySet.TESTING, orderfile.OrderfileStorySet.TESTING,
num_training=25).RunSetStories()] num_training=25).RunSetStories()])
self.assertListEqual( self.assertEqual(orderfile.OrderfileStorySet.DEFAULT_TESTING, len(testing))
['load:search:yandex', self.assertEqual(0, len(testing & training))
'load:media:dailymotion',
'browse:tools:maps',
'load:games:bubbles',
'browse:shopping:amazon',
'browse:social:instagram',
'background:tools:gmail',
'load:media:youtube'],
testing)
def testTestingVariationStories(self): def testTestingVariationStories(self):
testing = [s.NAME for s in orderfile.OrderfileStorySet( training = set([s.NAME for s in orderfile.OrderfileStorySet(
orderfile.OrderfileStorySet.TESTING, num_training=25, orderfile.OrderfileStorySet.TRAINING, num_training=25,
num_variations=4, test_variation=0).RunSetStories()] num_variations=4, test_variation=0).RunSetStories()])
self.assertListEqual( testing = [set([s.NAME for s in orderfile.OrderfileStorySet(
['load:search:yandex',
'load:media:dailymotion',
'browse:tools:maps',
'load:games:bubbles',
'browse:shopping:amazon',
'browse:social:instagram',
'background:tools:gmail',
'load:media:youtube'],
testing)
testing = [s.NAME for s in orderfile.OrderfileStorySet(
orderfile.OrderfileStorySet.TESTING, num_training=25,
num_variations=4, test_variation=1).RunSetStories()]
self.assertListEqual(
['load:media:facebook_photos',
'browse:media:facebook_photos',
'browse:social:facebook',
'browse:news:reddit',
'load:media:google_images',
'load:tools:weather',
'load:social:twitter',
'browse:news:cnn'],
testing)
testing = [s.NAME for s in orderfile.OrderfileStorySet(
orderfile.OrderfileStorySet.TESTING, num_training=25, orderfile.OrderfileStorySet.TESTING, num_training=25,
num_variations=4, test_variation=3).RunSetStories()] num_variations=4, test_variation=i).RunSetStories()])
self.assertListEqual( for i in xrange(4)]
['load:search:yahoo', self.assertEqual(25, len(training))
'browse:shopping:lazada', for i in xrange(4):
'load:tools:gmail', self.assertEqual(orderfile.OrderfileStorySet.DEFAULT_TESTING,
'browse:news:toi', len(testing[i]))
'browse:chrome:omnibox', self.assertEqual(0, len(testing[i] & training))
'browse:news:globo', for j in xrange(i + 1, 4):
'browse:social:facebook_infinite_scroll', self.assertEqual(0, len(testing[i] & testing[j]))
'load:search:taobao'],
testing)
if __name__ == '__main__': if __name__ == '__main__':
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment