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 10 namespace { 11 12 #if !defined(USE_AURA) 13 class NoAtExitBaseTestSuite : public base::TestSuite { 14 public: 15 NoAtExitBaseTestSuite(int argc, char** argv) 16 : base::TestSuite(argc, argv, false) { 17 } 18 }; 19 20 int RunTestSuite(int argc, char** argv) { 21 return NoAtExitBaseTestSuite(argc, argv).Run(); 22 } 23 #endif // !defined(USE_AURA) 24 25 } // namespace 26 27 int 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