1// Copyright (c) 2013 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/compositor/test/test_suite.h" 9 10namespace { 11 12#if !defined(USE_AURA) 13class NoAtExitBaseTestSuite : public base::TestSuite { 14 public: 15 NoAtExitBaseTestSuite(int argc, char** argv) 16 : base::TestSuite(argc, argv, false) { 17 } 18}; 19 20int RunTestSuite(int argc, char** argv) { 21 return NoAtExitBaseTestSuite(argc, argv).Run(); 22} 23#endif // !defined(USE_AURA) 24 25} // namespace 26 27int main(int argc, char** argv) { 28#if defined(USE_AURA) 29 ui::test::CompositorTestSuite test_suite(argc, argv); 30 31 return base::LaunchUnitTests( 32 argc, argv, base::Bind(&ui::test::CompositorTestSuite::Run, 33 base::Unretained(&test_suite))); 34#else 35 36#if !defined(OS_ANDROID) 37 base::AtExitManager at_exit; 38#endif 39 return base::LaunchUnitTests(argc, 40 argv, 41 base::Bind(&RunTestSuite, argc, argv)); 42#endif 43} 44