test_suite.cc revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
1// Copyright (c) 2012 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
5#include "ui/compositor/test/test_suite.h"
6
7#include "base/command_line.h"
8#include "base/message_loop.h"
9#include "ui/base/ui_base_paths.h"
10#include "ui/compositor/compositor.h"
11#include "ui/compositor/compositor_switches.h"
12#include "ui/compositor/test/compositor_test_support.h"
13#include "ui/gfx/gfx_paths.h"
14#include "ui/gl/gl_implementation.h"
15
16#if defined(USE_X11)
17#include <X11/Xlib.h>
18#endif
19
20namespace ui {
21namespace test {
22
23CompositorTestSuite::CompositorTestSuite(int argc, char** argv)
24    : TestSuite(argc, argv) {}
25
26CompositorTestSuite::~CompositorTestSuite() {}
27
28void CompositorTestSuite::Initialize() {
29#if defined(USE_X11)
30  XInitThreads();
31#endif
32#if defined(OS_LINUX)
33  gfx::InitializeGLBindings(gfx::kGLImplementationOSMesaGL);
34#endif
35  base::TestSuite::Initialize();
36
37  gfx::RegisterPathProvider();
38
39  message_loop_.reset(new base::MessageLoop(base::MessageLoop::TYPE_UI));
40  CompositorTestSupport::Initialize();
41  Compositor::Initialize();
42}
43
44void CompositorTestSuite::Shutdown() {
45  Compositor::Terminate();
46  CompositorTestSupport::Terminate();
47  message_loop_.reset();
48
49  base::TestSuite::Shutdown();
50}
51
52}  // namespace test
53}  // namespace ui
54