Home | History | Annotate | Download | only in test
      1 // Copyright (c) 2012 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/at_exit.h"
      6 #include "base/bind.h"
      7 #include "base/test/launcher/unit_test_launcher.h"
      8 #include "base/test/test_suite.h"
      9 
     10 #if defined(OS_ANDROID)
     11 #include "base/android/jni_android.h"
     12 #include "base/test/test_file_util.h"
     13 #endif
     14 
     15 namespace {
     16 
     17 class NoAtExitBaseTestSuite : public base::TestSuite {
     18  public:
     19   NoAtExitBaseTestSuite(int argc, char** argv)
     20       : base::TestSuite(argc, argv, false) {
     21   }
     22 };
     23 
     24 int RunTestSuite(int argc, char** argv) {
     25   return NoAtExitBaseTestSuite(argc, argv).Run();
     26 }
     27 
     28 }  // namespace
     29 
     30 int main(int argc, char** argv) {
     31 #if defined(OS_ANDROID)
     32   JNIEnv* env = base::android::AttachCurrentThread();
     33   file_util::RegisterContentUriTestUtils(env);
     34 #else
     35   base::AtExitManager at_exit;
     36 #endif
     37   return base::LaunchUnitTests(argc,
     38                                argv,
     39                                base::Bind(&RunTestSuite, argc, argv));
     40 }
     41