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 14namespace mojo { 15 16class WindowManagerTestSuite : public base::TestSuite { 17 public: 18 WindowManagerTestSuite(int argc, char** argv) : TestSuite(argc, argv) {} 19 virtual ~WindowManagerTestSuite() {} 20 21 protected: 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 38int 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