chromium/tools/perf/core/benchmark_utils_unittest.py

# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import unittest

from core import benchmark_utils

from telemetry import page
from telemetry import story
from telemetry import benchmark as benchmark_module

class ThousandAndOneStoriesBenchmark(benchmark_module.Benchmark):
  def CreateStorySet(self, options):
    del options  # unused
    story_set = story.StorySet()
    for i in range(1001):
      story_set.AddStory(
          page.Page(
              url='file://does-not-exist.html', name='story-number-%i' % i,
              page_set=story_set))
    return story_set


class BenchmarkUtilsUnittest(unittest.TestCase):
  def testGetBenchmarkStoryNamesOrdering(self):
    story_names = benchmark_utils.GetBenchmarkStoryNames(
        ThousandAndOneStoriesBenchmark())
    self.assertEqual(story_names, ['story-number-%i' % i for i in range(1001)])