147d431f63a66505a645f282416659a9758a91f1cBrett Chabot// Copyright 2013 The Chromium Authors. All rights reserved. 247d431f63a66505a645f282416659a9758a91f1cBrett Chabot// Use of this source code is governed by a BSD-style license that can be 347d431f63a66505a645f282416659a9758a91f1cBrett Chabot// found in the LICENSE file. 447d431f63a66505a645f282416659a9758a91f1cBrett Chabot 547d431f63a66505a645f282416659a9758a91f1cBrett Chabot#include "base/at_exit.h" 647d431f63a66505a645f282416659a9758a91f1cBrett Chabot#include "base/bind.h" 747d431f63a66505a645f282416659a9758a91f1cBrett Chabot#include "base/test/launcher/unit_test_launcher.h" 847d431f63a66505a645f282416659a9758a91f1cBrett Chabot#include "base/test/test_suite.h" 947d431f63a66505a645f282416659a9758a91f1cBrett Chabot 1047d431f63a66505a645f282416659a9758a91f1cBrett Chabot#if defined(OS_ANDROID) 1147d431f63a66505a645f282416659a9758a91f1cBrett Chabot#include "base/android/jni_android.h" 1247d431f63a66505a645f282416659a9758a91f1cBrett Chabot#include "base/test/test_file_util.h" 1347d431f63a66505a645f282416659a9758a91f1cBrett Chabot#endif 1447d431f63a66505a645f282416659a9758a91f1cBrett Chabot 1547d431f63a66505a645f282416659a9758a91f1cBrett Chabotnamespace { 1647d431f63a66505a645f282416659a9758a91f1cBrett Chabot 1747d431f63a66505a645f282416659a9758a91f1cBrett Chabotclass NoAtExitBaseTestSuite : public base::TestSuite { 1847d431f63a66505a645f282416659a9758a91f1cBrett Chabot public: 1947d431f63a66505a645f282416659a9758a91f1cBrett Chabot NoAtExitBaseTestSuite(int argc, char** argv) 2047d431f63a66505a645f282416659a9758a91f1cBrett Chabot : base::TestSuite(argc, argv, false) { 2147d431f63a66505a645f282416659a9758a91f1cBrett Chabot } 2247d431f63a66505a645f282416659a9758a91f1cBrett Chabot}; 2347d431f63a66505a645f282416659a9758a91f1cBrett Chabot 2447d431f63a66505a645f282416659a9758a91f1cBrett Chabotint RunTestSuite(int argc, char** argv) { 2547d431f63a66505a645f282416659a9758a91f1cBrett Chabot return NoAtExitBaseTestSuite(argc, argv).Run(); 2647d431f63a66505a645f282416659a9758a91f1cBrett Chabot} 2747d431f63a66505a645f282416659a9758a91f1cBrett Chabot 2847d431f63a66505a645f282416659a9758a91f1cBrett Chabot} // namespace 2947d431f63a66505a645f282416659a9758a91f1cBrett Chabot 3047d431f63a66505a645f282416659a9758a91f1cBrett Chabotint main(int argc, char** argv) { 3147d431f63a66505a645f282416659a9758a91f1cBrett Chabot#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