Home | History | Annotate | Download | only in test
      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