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