• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 #include "mojo/embedder/test_embedder.h"
10 
11 #if defined(OS_ANDROID)
12 #include "base/android/jni_android.h"
13 #include "base/test/test_file_util.h"
14 #endif
15 
16 namespace {
17 
18 class NoAtExitBaseTestSuite : public base::TestSuite {
19  public:
NoAtExitBaseTestSuite(int argc,char ** argv)20   NoAtExitBaseTestSuite(int argc, char** argv)
21       : base::TestSuite(argc, argv, false) {
22   }
23 };
24 
RunTestSuite(int argc,char ** argv)25 int RunTestSuite(int argc, char** argv) {
26   return NoAtExitBaseTestSuite(argc, argv).Run();
27 }
28 
29 }  // namespace
30 
main(int argc,char ** argv)31 int main(int argc, char** argv) {
32   mojo::embedder::test::InitWithSimplePlatformSupport();
33 #if defined(OS_ANDROID)
34   JNIEnv* env = base::android::AttachCurrentThread();
35   base::RegisterContentUriTestUtils(env);
36 #else
37   base::AtExitManager at_exit;
38 #endif
39   return base::LaunchUnitTestsSerially(argc,
40                                        argv,
41                                        base::Bind(&RunTestSuite, argc, argv));
42 }
43