aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Vela <diegovela@google.com>2023-03-07 22:21:50 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-03-07 22:21:50 +0000
commit276e32ec333e05bff6dc7d20218a8d9152623222 (patch)
treecd1d5fb4e738cc8700bb37e4af4aa9ff2c8e528b
parentb946fde85bf757d272c2f2a805a1564e2fb58278 (diff)
parent42795cf170b92d3e9d7f9d8bbb70a24e097e11cc (diff)
downloadgoogletest-276e32ec333e05bff6dc7d20218a8d9152623222.tar.gz
Revert "Revert "Revert "Fix device death tests.""" am: 42795cf170ndk-r26dndk-r26cndk-r26bndk-r26-rc1ndk-r26-beta1ndk-r26android-u-beta-1-gplndk-r26-release
Original change: https://android-review.googlesource.com/c/platform/external/googletest/+/2475384 Change-Id: Iedbc9c064d071696329ae42e19bc0c112891bf90 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--googletest/include/gtest/internal/custom/gtest.h50
1 files changed, 4 insertions, 46 deletions
diff --git a/googletest/include/gtest/internal/custom/gtest.h b/googletest/include/gtest/internal/custom/gtest.h
index 3d855613..67ce67f1 100644
--- a/googletest/include/gtest/internal/custom/gtest.h
+++ b/googletest/include/gtest/internal/custom/gtest.h
@@ -35,21 +35,13 @@
#define GOOGLETEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_
#if GTEST_OS_LINUX_ANDROID
-#include <dlfcn.h>
-#include <unistd.h>
-
-#define GTEST_CUSTOM_TEMPDIR_FUNCTION_ GetAndroidTempDir
-#define GTEST_CUSTOM_INIT_GOOGLE_TEST_FUNCTION_(argc, argv) \
- internal::InitGoogleTestImpl(argc, argv); \
- SetAndroidTestLogger()
-
+# define GTEST_CUSTOM_TEMPDIR_FUNCTION_ GetAndroidTempDir
+# include <unistd.h>
static inline std::string GetAndroidTempDir() {
// Android doesn't have /tmp, and /sdcard is no longer accessible from
// an app context starting from Android O. On Android, /data/local/tmp
// is usually used as the temporary directory, so try that first...
- if (access("/data/local/tmp", R_OK | W_OK | X_OK) == 0) {
- return "/data/local/tmp/";
- }
+ if (access("/data/local/tmp", R_OK | W_OK | X_OK) == 0) return "/data/local/tmp/";
// Processes running in an app context can't write to /data/local/tmp,
// so fall back to the current directory...
@@ -62,40 +54,6 @@ static inline std::string GetAndroidTempDir() {
}
return result;
}
-
-static inline void SetAndroidTestLogger() {
- // By default, Android log messages are only written to the log buffer, where
- // GTest cannot see them. This breaks death tests, which need to check the
- // crash message to ensure that the process died for the expected reason.
- // To fix this, send log messages to both logd and stderr if we are in a death
- // test child process.
- struct LogMessage;
- using LoggerFunction = void (*)(const LogMessage*);
- using SetLoggerFunction = void (*)(LoggerFunction logger);
-
- static void* liblog = dlopen("liblog.so", RTLD_NOW);
- if (liblog == nullptr) {
- return;
- }
-
- static SetLoggerFunction set_logger = reinterpret_cast<SetLoggerFunction>(
- dlsym(liblog, "__android_log_set_logger"));
- static LoggerFunction logd_logger = reinterpret_cast<LoggerFunction>(
- dlsym(liblog, "__android_log_logd_logger"));
- static LoggerFunction stderr_logger = reinterpret_cast<LoggerFunction>(
- dlsym(liblog, "__android_log_stderr_logger"));
- if (set_logger == nullptr || logd_logger == nullptr ||
- stderr_logger == nullptr) {
- return;
- }
-
- set_logger([](const LogMessage* message) {
- logd_logger(message);
- if (::testing::internal::InDeathTestChild()) {
- stderr_logger(message);
- }
- });
-}
-#endif // GTEST_OS_LINUX_ANDROID
+#endif //GTEST_OS_LINUX_ANDROID
#endif // GOOGLETEST_INCLUDE_GTEST_INTERNAL_CUSTOM_GTEST_H_