blob: 287cec1780c4956faebf49e46f22de71ae482710 [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
import sys
import time
from gpu_tests import gpu_integration_test
from gpu_tests import gpu_test_expectations
from gpu_tests import path_util
data_path = os.path.join(
path_util.GetChromiumSrcDir(), 'content', 'test', 'data', 'gpu')
class NoopSleepIntegrationTest(gpu_integration_test.GpuIntegrationTest):
@classmethod
def Name(cls):
return 'noop_sleep'
@classmethod
def GenerateGpuTests(cls, options):
tests = (('DoNothing', 'empty.html'),)
for t in tests:
yield (t[0], t[1], ('_' + t[0]))
def RunActualGpuTest(self, test_path, *args):
test_name = args[0]
tab = self.tab
if not tab.browser.supports_tab_control:
self.fail('Browser must support tab control')
getattr(self, test_name)(test_path)
@classmethod
def _CreateExpectations(cls):
return gpu_test_expectations.GpuTestExpectations()
@classmethod
def SetUpProcess(cls):
super(NoopSleepIntegrationTest, cls).SetUpProcess()
cls.CustomizeBrowserArgs([])
cls.StartBrowser()
cls.SetStaticServerDirs([data_path])
def _Navigate(self, test_path):
url = self.UrlOfStaticFilePath(test_path)
tab = self.tab
tab.Navigate(url)
# The browser test runner synthesizes methods with the exact name
# given in GenerateGpuTests, so in order to hand-write our tests but
# also go through the _RunGpuTest trampoline, the test needs to be
# slightly differently named.
def _DoNothing(self, test_path):
self._Navigate(test_path)
time.sleep(180)
def load_tests(loader, tests, pattern):
del loader, tests, pattern # Unused.
return gpu_integration_test.LoadAllTestsInModule(sys.modules[__name__])