15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/at_exit.h" 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/bind.h" 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/test/launcher/unit_test_launcher.h" 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/test/test_suite.h" 903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "mojo/embedder/test_embedder.h" 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#if defined(OS_ANDROID) 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/android/jni_android.h" 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/test/test_file_util.h" 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace { 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class NoAtExitBaseTestSuite : public base::TestSuite { 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) public: 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) NoAtExitBaseTestSuite(int argc, char** argv) 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) : base::TestSuite(argc, argv, false) { 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) } 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}; 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)int RunTestSuite(int argc, char** argv) { 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return NoAtExitBaseTestSuite(argc, argv).Run(); 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} // namespace 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)int main(int argc, char** argv) { 3203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) mojo::embedder::test::InitWithSimplePlatformSupport(); 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#if defined(OS_ANDROID) 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) JNIEnv* env = base::android::AttachCurrentThread(); 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) base::RegisterContentUriTestUtils(env); 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#else 375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) base::AtExitManager at_exit; 385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif 395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return base::LaunchUnitTestsSerially(argc, 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) argv, 415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) base::Bind(&RunTestSuite, argc, argv)); 425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 43