Index: chrome/test/gpu/gpu_feature_browsertest.cc |
diff --git a/chrome/test/gpu/gpu_feature_browsertest.cc b/chrome/test/gpu/gpu_feature_browsertest.cc |
index 3329150fd1e41478b2c6d8c09b1343c6185372d5..2cd003659447db130ff060c6d482db978e4fce92 100644 |
--- a/chrome/test/gpu/gpu_feature_browsertest.cc |
+++ b/chrome/test/gpu/gpu_feature_browsertest.cc |
@@ -18,6 +18,11 @@ |
namespace { |
+typedef uint32 GpuResultFlags; |
+#define EXPECT_NO_GPU_PROCESS GpuResultFlags(0) |
+#define EXPECT_GPU_PROCESS GpuResultFlags(1<<0) |
+#define EXPECT_GPU_SWAP_BUFFERS GpuResultFlags(1<<1) |
+ |
class GpuFeatureTest : public InProcessBrowserTest { |
public: |
GpuFeatureTest() {} |
@@ -36,9 +41,12 @@ class GpuFeatureTest : public InProcessBrowserTest { |
GpuDataManager::GetInstance()->SetBuiltInGpuBlacklist(blacklist); |
} |
- void RunTest(const FilePath& url, bool expect_gpu_process) { |
+ void RunTest(const FilePath& url, GpuResultFlags expectations) { |
using namespace trace_analyzer; |
+ bool expect_gpu_process = (expectations & EXPECT_GPU_PROCESS); |
+ bool expect_gpu_swap = (expectations & EXPECT_GPU_SWAP_BUFFERS); |
+ |
FilePath test_path; |
PathService::Get(chrome::DIR_TEST_DATA, &test_path); |
test_path = test_path.Append(FILE_PATH_LITERAL("gpu")); |
@@ -63,6 +71,10 @@ class GpuFeatureTest : public InProcessBrowserTest { |
scoped_ptr<TraceAnalyzer> analyzer(TraceAnalyzer::Create(json_events)); |
EXPECT_EQ(expect_gpu_process, analyzer->FindOneEvent( |
Query(EVENT_NAME) == Query::String("GpuProcessLaunched")) != NULL); |
+ if (expect_gpu_swap) { |
+ EXPECT_TRUE(analyzer->FindOneEvent( |
+ Query(EVENT_NAME) == Query::String("SwapBuffers")) != NULL); |
+ } |
Zhenyao Mo
2011/11/30 18:58:47
This should match the previous line EXPECT_EQ styl
jbates
2011/11/30 20:21:52
Done.
|
} |
}; |
@@ -70,9 +82,8 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, AcceleratedCompositingAllowed) { |
GpuFeatureFlags flags = GpuDataManager::GetInstance()->GetGpuFeatureFlags(); |
EXPECT_EQ(flags.flags(), 0u); |
- const bool expect_gpu_process = true; |
const FilePath url(FILE_PATH_LITERAL("feature_compositing.html")); |
- RunTest(url, expect_gpu_process); |
+ RunTest(url, EXPECT_GPU_PROCESS | EXPECT_GPU_SWAP_BUFFERS); |
} |
IN_PROC_BROWSER_TEST_F(GpuFeatureTest, AcceleratedCompositingBlocked) { |
@@ -95,24 +106,16 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, AcceleratedCompositingBlocked) { |
flags.flags(), |
static_cast<uint32>(GpuFeatureFlags::kGpuFeatureAcceleratedCompositing)); |
- const bool expect_gpu_process = false; |
const FilePath url(FILE_PATH_LITERAL("feature_compositing.html")); |
- RunTest(url, expect_gpu_process); |
+ RunTest(url, EXPECT_NO_GPU_PROCESS); |
} |
-#if defined(OS_LINUX) |
-// http://crbug.com/104142 |
-#define MAYBE_WebGLAllowed DISABLED_WebGLAllowed |
-#else |
-#define MAYBE_WebGLAllowed WebGLAllowed |
-#endif |
jbates
2011/11/30 02:24:35
Let's see if this works now...
|
-IN_PROC_BROWSER_TEST_F(GpuFeatureTest, MAYBE_WebGLAllowed) { |
+IN_PROC_BROWSER_TEST_F(GpuFeatureTest, FLAKY_WebGLAllowed) { |
GpuFeatureFlags flags = GpuDataManager::GetInstance()->GetGpuFeatureFlags(); |
EXPECT_EQ(flags.flags(), 0u); |
- const bool expect_gpu_process = true; |
const FilePath url(FILE_PATH_LITERAL("feature_webgl.html")); |
- RunTest(url, expect_gpu_process); |
+ RunTest(url, EXPECT_GPU_PROCESS | EXPECT_GPU_SWAP_BUFFERS); |
} |
IN_PROC_BROWSER_TEST_F(GpuFeatureTest, WebGLBlocked) { |
@@ -135,9 +138,8 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, WebGLBlocked) { |
flags.flags(), |
static_cast<uint32>(GpuFeatureFlags::kGpuFeatureWebgl)); |
- const bool expect_gpu_process = false; |
const FilePath url(FILE_PATH_LITERAL("feature_webgl.html")); |
- RunTest(url, expect_gpu_process); |
+ RunTest(url, EXPECT_NO_GPU_PROCESS); |
} |
#if defined(OS_LINUX) |
@@ -150,12 +152,13 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, Canvas2DAllowed) { |
#if defined(OS_MACOSX) |
// TODO(zmo): enabling Mac when skia backend is enabled. |
- const bool expect_gpu_process = false; |
+ const GpuResultFlags expectations = EXPECT_NO_GPU_PROCESS; |
#else |
- const bool expect_gpu_process = true; |
+ const GpuResultFlags expectations = EXPECT_GPU_PROCESS | |
+ EXPECT_GPU_SWAP_BUFFERS; |
#endif |
const FilePath url(FILE_PATH_LITERAL("feature_canvas2d.html")); |
- RunTest(url, expect_gpu_process); |
+ RunTest(url, expectations); |
} |
IN_PROC_BROWSER_TEST_F(GpuFeatureTest, Canvas2DBlocked) { |
@@ -178,9 +181,8 @@ IN_PROC_BROWSER_TEST_F(GpuFeatureTest, Canvas2DBlocked) { |
flags.flags(), |
static_cast<uint32>(GpuFeatureFlags::kGpuFeatureAccelerated2dCanvas)); |
- const bool expect_gpu_process = false; |
const FilePath url(FILE_PATH_LITERAL("feature_canvas2d.html")); |
- RunTest(url, expect_gpu_process); |
+ RunTest(url, EXPECT_NO_GPU_PROCESS); |
} |
} // namespace anonymous |