Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / ipc / run_all_unittests.cc
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
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   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 }