• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 "base/bind.h"
6 #include "base/test/launcher/unit_test_launcher.h"
7 #include "base/test/test_suite.h"
8 #include "ui/gl/gl_surface.h"
9 
10 #if defined(USE_X11)
11 #include "ui/gfx/x/x11_connection.h"
12 #endif
13 
14 namespace mojo {
15 
16 class WindowManagerTestSuite : public base::TestSuite {
17  public:
WindowManagerTestSuite(int argc,char ** argv)18   WindowManagerTestSuite(int argc, char** argv) : TestSuite(argc, argv) {}
~WindowManagerTestSuite()19   virtual ~WindowManagerTestSuite() {}
20 
21  protected:
Initialize()22   virtual void Initialize() OVERRIDE {
23 #if defined(USE_X11)
24     // Each test ends up creating a new thread for the native viewport service.
25     // In other words we'll use X on different threads, so tell it that.
26     gfx::InitializeThreadedX11();
27 #endif
28     base::TestSuite::Initialize();
29     gfx::GLSurface::InitializeOneOffForTests();
30   }
31 
32  private:
33   DISALLOW_COPY_AND_ASSIGN(WindowManagerTestSuite);
34 };
35 
36 }  // namespace mojo
37 
main(int argc,char ** argv)38 int main(int argc, char** argv) {
39   mojo::WindowManagerTestSuite test_suite(argc, argv);
40 
41   return base::LaunchUnitTests(
42       argc, argv, base::Bind(&TestSuite::Run, base::Unretained(&test_suite)));
43 }
44