Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / page / page_measurement_unittest_base.py
index 5a6021e..7b76a2b 100644 (file)
@@ -7,25 +7,34 @@ import unittest
 from telemetry.core import util
 from telemetry.page import page_runner
 from telemetry.page import page as page_module
-from telemetry.page import page_set
+from telemetry.page import page_set as page_set_module
+from telemetry.page import page_test
 from telemetry.page import test_expectations
+# pylint: disable=W0401,W0614
+from telemetry.page.actions.all_page_actions import *
 from telemetry.unittest import options_for_unittests
 
+
+class BasicTestPage(page_module.Page):
+  def __init__(self, url, page_set, base_dir):
+    super(BasicTestPage, self).__init__(url, page_set, base_dir)
+
+  def RunSmoothness(self, action_runner):
+    action_runner.RunAction(ScrollAction())
+
 class PageMeasurementUnitTestBase(unittest.TestCase):
   """unittest.TestCase-derived class to help in the construction of unit tests
   for a measurement."""
 
   def CreatePageSetFromFileInUnittestDataDir(self, test_filename):
-    return self.CreatePageSet('file://' + test_filename)
+    ps = self.CreateEmptyPageSet()
+    page = BasicTestPage('file://' + test_filename, ps, base_dir=ps.base_dir)
+    ps.AddPage(page)
+    return ps
 
-  def CreatePageSet(self, test_filename):
+  def CreateEmptyPageSet(self):
     base_dir = util.GetUnittestDataDir()
-    ps = page_set.PageSet(file_path=base_dir)
-    page = page_module.Page(test_filename, ps, base_dir=base_dir)
-    setattr(page, 'RunSmoothness', {'action': 'scroll'})
-    setattr(page, 'RunRepaint',
-            { "action": "repaint_continuously", "seconds": 2 })
-    ps.pages.append(page)
+    ps = page_set_module.PageSet(file_path=base_dir)
     return ps
 
   def RunMeasurement(self, measurement, ps,
@@ -80,6 +89,9 @@ class PageMeasurementUnitTestBase(unittest.TestCase):
         return measurement_class.TabForPage(self, page, browser)
 
     measurement = BuggyMeasurement()
-    self.RunMeasurement(measurement, ps, options=options)
+    try:
+      self.RunMeasurement(measurement, ps, options=options)
+    except page_test.TestNotSupportedOnPlatformFailure:
+      pass
     if start_tracing_called[0]:
       self.assertTrue(stop_tracing_called[0])