1# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import os
6import unittest
7
8from telemetry.page import page_set
9from telemetry.results import page_run
10from telemetry.value import failure
11from telemetry.value import scalar
12from telemetry.value import skip
13
14
15class PageRunTest(unittest.TestCase):
16  def setUp(self):
17    self.page_set = page_set.PageSet(file_path=os.path.dirname(__file__))
18    self.page_set.AddPageWithDefaultRunNavigate("http://www.bar.com/")
19
20  @property
21  def pages(self):
22    return self.page_set.pages
23
24  def testPageRunFailed(self):
25    run = page_run.PageRun(self.pages[0])
26    run.AddValue(failure.FailureValue.FromMessage(self.pages[0], 'test'))
27    self.assertFalse(run.ok)
28    self.assertTrue(run.failed)
29    self.assertFalse(run.skipped)
30
31    run = page_run.PageRun(self.pages[0])
32    run.AddValue(scalar.ScalarValue(self.pages[0], 'a', 's', 1))
33    run.AddValue(failure.FailureValue.FromMessage(self.pages[0], 'test'))
34    self.assertFalse(run.ok)
35    self.assertTrue(run.failed)
36    self.assertFalse(run.skipped)
37
38  def testPageRunSkipped(self):
39    run = page_run.PageRun(self.pages[0])
40    run.AddValue(failure.FailureValue.FromMessage(self.pages[0], 'test'))
41    run.AddValue(skip.SkipValue(self.pages[0], 'test'))
42    self.assertFalse(run.ok)
43    self.assertFalse(run.failed)
44    self.assertTrue(run.skipped)
45
46    run = page_run.PageRun(self.pages[0])
47    run.AddValue(scalar.ScalarValue(self.pages[0], 'a', 's', 1))
48    run.AddValue(skip.SkipValue(self.pages[0], 'test'))
49    self.assertFalse(run.ok)
50    self.assertFalse(run.failed)
51    self.assertTrue(run.skipped)
52
53  def testPageRunSucceeded(self):
54    run = page_run.PageRun(self.pages[0])
55    self.assertTrue(run.ok)
56    self.assertFalse(run.failed)
57    self.assertFalse(run.skipped)
58
59    run = page_run.PageRun(self.pages[0])
60    run.AddValue(scalar.ScalarValue(self.pages[0], 'a', 's', 1))
61    self.assertTrue(run.ok)
62    self.assertFalse(run.failed)
63    self.assertFalse(run.skipped)
64