Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Unified Diff: tools/telemetry/telemetry/core/tab_unittest.py

Issue 23694031: Fix race conditions in window snapshot code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed Nit Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_widget.cc ('k') | tools/telemetry/unittest_data/screenshot_sync.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/core/tab_unittest.py
diff --git a/tools/telemetry/telemetry/core/tab_unittest.py b/tools/telemetry/telemetry/core/tab_unittest.py
index 3bc3089104cdbb171d09cea3fb34bfa45b53e596..b47cd44433bcd672371b4d860a152f16b5d2568d 100644
--- a/tools/telemetry/telemetry/core/tab_unittest.py
+++ b/tools/telemetry/telemetry/core/tab_unittest.py
@@ -3,12 +3,10 @@
# found in the LICENSE file.
import logging
-import time
from telemetry.core import util
from telemetry.core import exceptions
from telemetry.unittest import tab_test_case
-from telemetry.unittest import DisabledTest
def _IsDocumentVisible(tab):
@@ -57,7 +55,6 @@ class GpuTabTest(tab_test_case.TabTestCase):
self._extra_browser_args = ['--enable-gpu-benchmarking']
super(GpuTabTest, self).setUp()
- @DisabledTest
def testScreenshot(self):
if not self._tab.screenshot_supported:
logging.warning('Browser does not support screenshots, skipping test.')
@@ -69,8 +66,6 @@ class GpuTabTest(tab_test_case.TabTestCase):
self._tab.WaitForDocumentReadyStateToBeComplete()
pixel_ratio = self._tab.EvaluateJavaScript('window.devicePixelRatio || 1')
- # TODO(bajones): Sleep for a bit to counter BUG 260878.
- time.sleep(0.5)
screenshot = self._tab.Screenshot(5)
assert screenshot
screenshot.GetPixelColor(0 * pixel_ratio, 0 * pixel_ratio).AssertIsRGB(
@@ -79,3 +74,22 @@ class GpuTabTest(tab_test_case.TabTestCase):
0, 255, 0, tolerance=2)
screenshot.GetPixelColor(32 * pixel_ratio, 32 * pixel_ratio).AssertIsRGB(
255, 255, 255, tolerance=2)
+
+ def testScreenshotSync(self):
+ if not self._tab.screenshot_supported:
+ logging.warning('Browser does not support screenshots, skipping test.')
+ return
+
+ self._browser.SetHTTPServerDirectories(util.GetUnittestDataDir())
+ self._tab.Navigate(
+ self._browser.http_server.UrlOf('screenshot_sync.html'))
+ self._tab.WaitForDocumentReadyStateToBeComplete()
+
+ def IsTestComplete():
+ return self._tab.EvaluateJavaScript('window.__testComplete')
+ util.WaitFor(IsTestComplete, 120)
+
+ message = self._tab.EvaluateJavaScript('window.__testMessage')
+ if message:
+ logging.error(message)
+ assert self._tab.EvaluateJavaScript('window.__testSuccess')
« no previous file with comments | « content/renderer/render_widget.cc ('k') | tools/telemetry/unittest_data/screenshot_sync.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698