1// Copyright 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/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 15namespace { 16 17class NoAtExitBaseTestSuite : public base::TestSuite { 18 public: 19 NoAtExitBaseTestSuite(int argc, char** argv) 20 : base::TestSuite(argc, argv, false) { 21 } 22}; 23 24int RunTestSuite(int argc, char** argv) { 25 return NoAtExitBaseTestSuite(argc, argv).Run(); 26} 27 28} // namespace 29 30int main(int argc, char** argv) { 31#if defined(OS_ANDROID) 32 JNIEnv* env = base::android::AttachCurrentThread(); 33 base::RegisterContentUriTestUtils(env); 34#else 35 base::AtExitManager at_exit; 36#endif 37 return base::LaunchUnitTestsSerially(argc, 38 argv, 39 base::Bind(&RunTestSuite, argc, argv)); 40} 41