|
|
|
|
@@ -385,7 +385,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
|
|
|
|
|
// On Android, <regex.h> is only available starting with Gingerbread.
|
|
|
|
|
#define GTEST_HAS_POSIX_RE (__ANDROID_API__ >= 9)
|
|
|
|
|
#else
|
|
|
|
|
#define GTEST_HAS_POSIX_RE (!GTEST_OS_WINDOWS && !GTEST_OS_XTENSA)
|
|
|
|
|
#define GTEST_HAS_POSIX_RE \
|
|
|
|
|
!(GTEST_OS_WINDOWS || GTEST_OS_XTENSA || GTEST_OS_QURT)
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
@@ -457,7 +458,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
|
|
|
|
|
// no support for it at least as recent as Froyo (2.2).
|
|
|
|
|
#define GTEST_HAS_STD_WSTRING \
|
|
|
|
|
(!(GTEST_OS_LINUX_ANDROID || GTEST_OS_CYGWIN || GTEST_OS_SOLARIS || \
|
|
|
|
|
GTEST_OS_HAIKU || GTEST_OS_ESP32 || GTEST_OS_ESP8266 || GTEST_OS_XTENSA))
|
|
|
|
|
GTEST_OS_HAIKU || GTEST_OS_ESP32 || GTEST_OS_ESP8266 || \
|
|
|
|
|
GTEST_OS_XTENSA || GTEST_OS_QURT))
|
|
|
|
|
|
|
|
|
|
#endif // GTEST_HAS_STD_WSTRING
|
|
|
|
|
|
|
|
|
|
@@ -578,9 +580,9 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
|
|
|
|
|
// output correctness and to implement death tests.
|
|
|
|
|
#ifndef GTEST_HAS_STREAM_REDIRECTION
|
|
|
|
|
// By default, we assume that stream redirection is supported on all
|
|
|
|
|
// platforms except known mobile ones.
|
|
|
|
|
// platforms except known mobile / embedded ones.
|
|
|
|
|
#if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_WINDOWS_PHONE || \
|
|
|
|
|
GTEST_OS_WINDOWS_RT || GTEST_OS_ESP8266 || GTEST_OS_XTENSA
|
|
|
|
|
GTEST_OS_WINDOWS_RT || GTEST_OS_ESP8266 || GTEST_OS_XTENSA || GTEST_OS_QURT
|
|
|
|
|
#define GTEST_HAS_STREAM_REDIRECTION 0
|
|
|
|
|
#else
|
|
|
|
|
#define GTEST_HAS_STREAM_REDIRECTION 1
|
|
|
|
|
@@ -2019,7 +2021,12 @@ inline int StrCaseCmp(const char* s1, const char* s2) {
|
|
|
|
|
return strcasecmp(s1, s2);
|
|
|
|
|
}
|
|
|
|
|
inline char* StrDup(const char* src) { return strdup(src); }
|
|
|
|
|
#if GTEST_OS_QURT
|
|
|
|
|
// QuRT doesn't support any directory functions, including rmdir
|
|
|
|
|
inline int RmDir(const char* dir GTEST_ATTRIBUTE_UNUSED_) { return 0; }
|
|
|
|
|
#else
|
|
|
|
|
inline int RmDir(const char* dir) { return rmdir(dir); }
|
|
|
|
|
#endif
|
|
|
|
|
inline bool IsDir(const StatStruct& st) { return S_ISDIR(st.st_mode); }
|
|
|
|
|
|
|
|
|
|
#endif // GTEST_OS_WINDOWS
|
|
|
|
|
@@ -2044,7 +2051,8 @@ GTEST_DISABLE_MSC_DEPRECATED_PUSH_()
|
|
|
|
|
// defined there.
|
|
|
|
|
|
|
|
|
|
#if !GTEST_OS_WINDOWS_MOBILE && !GTEST_OS_WINDOWS_PHONE && \
|
|
|
|
|
!GTEST_OS_WINDOWS_RT && !GTEST_OS_ESP8266 && !GTEST_OS_XTENSA
|
|
|
|
|
!GTEST_OS_WINDOWS_RT && !GTEST_OS_ESP8266 && !GTEST_OS_XTENSA && \
|
|
|
|
|
!GTEST_OS_QURT
|
|
|
|
|
inline int ChDir(const char* dir) { return chdir(dir); }
|
|
|
|
|
#endif
|
|
|
|
|
inline FILE* FOpen(const char* path, const char* mode) {
|
|
|
|
|
@@ -2058,14 +2066,14 @@ inline FILE* FOpen(const char* path, const char* mode) {
|
|
|
|
|
return fopen(path, mode);
|
|
|
|
|
#endif // GTEST_OS_WINDOWS && !GTEST_OS_WINDOWS_MINGW
|
|
|
|
|
}
|
|
|
|
|
#if !GTEST_OS_WINDOWS_MOBILE
|
|
|
|
|
#if !GTEST_OS_WINDOWS_MOBILE && !GTEST_OS_QURT
|
|
|
|
|
inline FILE* FReopen(const char* path, const char* mode, FILE* stream) {
|
|
|
|
|
return freopen(path, mode, stream);
|
|
|
|
|
}
|
|
|
|
|
inline FILE* FDOpen(int fd, const char* mode) { return fdopen(fd, mode); }
|
|
|
|
|
#endif
|
|
|
|
|
inline int FClose(FILE* fp) { return fclose(fp); }
|
|
|
|
|
#if !GTEST_OS_WINDOWS_MOBILE
|
|
|
|
|
#if !GTEST_OS_WINDOWS_MOBILE && !GTEST_OS_QURT
|
|
|
|
|
inline int Read(int fd, void* buf, unsigned int count) {
|
|
|
|
|
return static_cast<int>(read(fd, buf, count));
|
|
|
|
|
}
|
|
|
|
|
@@ -2077,7 +2085,8 @@ inline const char* StrError(int errnum) { return strerror(errnum); }
|
|
|
|
|
#endif
|
|
|
|
|
inline const char* GetEnv(const char* name) {
|
|
|
|
|
#if GTEST_OS_WINDOWS_MOBILE || GTEST_OS_WINDOWS_PHONE || \
|
|
|
|
|
GTEST_OS_WINDOWS_RT || GTEST_OS_ESP8266 || GTEST_OS_XTENSA
|
|
|
|
|
GTEST_OS_WINDOWS_RT || GTEST_OS_ESP8266 || GTEST_OS_XTENSA || \
|
|
|
|
|
GTEST_OS_QURT
|
|
|
|
|
// We are on an embedded platform, which has no environment variables.
|
|
|
|
|
static_cast<void>(name); // To prevent 'unused argument' warning.
|
|
|
|
|
return nullptr;
|
|
|
|
|
|