summaryrefslogtreecommitdiffstats
path: root/testing/android/native_test_util.h
diff options
context:
space:
mode:
authornileshagrawal@chromium.org <nileshagrawal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-09 02:45:32 +0000
committernileshagrawal@chromium.org <nileshagrawal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-09 02:45:32 +0000
commit06078a2767fc196d8d89d0c469815796c51a6ffe (patch)
treefabafc1218e5527eea1fcc942512d23b80f530b4 /testing/android/native_test_util.h
parentc5e5790703b510ee8d0e97684324e59a862e159f (diff)
downloadchromium_src-06078a2767fc196d8d89d0c469815796c51a6ffe.zip
chromium_src-06078a2767fc196d8d89d0c469815796c51a6ffe.tar.gz
chromium_src-06078a2767fc196d8d89d0c469815796c51a6ffe.tar.bz2
Android: Refactor native test setup in a util class.
This is also needed by content_browsertests. Also redirecting stdout,stderr for content_browsertests to a fifo file to be read by the test runner scripts. BUG=138275 TBR=jam@chromium.org Review URL: https://chromiumcodereview.appspot.com/12213035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181587 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'testing/android/native_test_util.h')
-rw-r--r--testing/android/native_test_util.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/testing/android/native_test_util.h b/testing/android/native_test_util.h
new file mode 100644
index 0000000..4e40222
--- /dev/null
+++ b/testing/android/native_test_util.h
@@ -0,0 +1,41 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef TESTING_ANDROID_NATIVE_TEST_UTIL_
+#define TESTING_ANDROID_NATIVE_TEST_UTIL_
+
+#include <stdio.h>
+#include <string>
+#include <vector>
+
+// Helper methods for setting up environment for running gtest tests
+// inside an APK.
+namespace testing {
+namespace native_test_util {
+
+class ScopedMainEntryLogger {
+ public:
+ ScopedMainEntryLogger() {
+ printf(">>ScopedMainEntryLogger\n");
+ }
+
+ ~ScopedMainEntryLogger() {
+ printf("<<ScopedMainEntryLogger\n");
+ fflush(stdout);
+ fflush(stderr);
+ }
+};
+
+// Creates a fifo at the given |fifo_path|.
+void CreateFIFO(const char* fifo_path);
+// Redirects the |stream| to the file provided by |path|.
+void RedirectStream(FILE* stream, const char* path, const char* mode);
+void ParseArgsFromCommandLineFile(
+ const char* path, std::vector<std::string>* args);
+int ArgsToArgv(const std::vector<std::string>& args, std::vector<char*>* argv);
+
+} // namespace native_test_util
+} // namespace testing
+
+#endif // TESTING_ANDROID_NATIVE_TEST_UTIL_