Merge branch 'master' of https://github.com/google/googletest
This commit is contained in:
commit
8fad86e757
2
.gitignore
vendored
2
.gitignore
vendored
@ -41,6 +41,8 @@ googletest/fused-src/
|
||||
|
||||
# macOS files
|
||||
.DS_Store
|
||||
googletest/.DS_Store
|
||||
googletest/xcode/.DS_Store
|
||||
|
||||
# Ignore cmake generated directories and files.
|
||||
CMakeFiles
|
||||
|
@ -34,7 +34,8 @@
|
||||
#
|
||||
|
||||
# TODO() - we can check if this is being sourced using $BASH_VERSION and $BASH_SOURCE[0] != ${0}.
|
||||
#
|
||||
|
||||
if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
|
||||
if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
|
||||
if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.9" CC="clang-3.9"; fi
|
||||
fi
|
||||
|
@ -352,7 +352,7 @@ function(install_project)
|
||||
get_target_property(t_pdb_name_debug ${t} COMPILE_PDB_NAME_DEBUG)
|
||||
get_target_property(t_pdb_output_directory ${t} PDB_OUTPUT_DIRECTORY)
|
||||
install(FILES
|
||||
"${t_pdb_output_directory}/\${CMAKE_INSTALL_CONFIG_NAME}/$<IF:$<CONFIG:Debug>,${t_pdb_name_debug},${t_pdb_name}>.pdb"
|
||||
"${t_pdb_output_directory}/\${CMAKE_INSTALL_CONFIG_NAME}/$<$<CONFIG:Debug>:${t_pdb_name_debug}>$<$<NOT:$<CONFIG:Debug>>:${t_pdb_name}>.pdb"
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
OPTIONAL)
|
||||
endforeach()
|
||||
|
@ -66,6 +66,8 @@
|
||||
# else
|
||||
# define GTEST_OS_WINDOWS_DESKTOP 1
|
||||
# endif // _WIN32_WCE
|
||||
#elif defined __OS2__
|
||||
# define GTEST_OS_OS2 1
|
||||
#elif defined __APPLE__
|
||||
# define GTEST_OS_MAC 1
|
||||
# if TARGET_OS_IPHONE
|
||||
|
@ -129,6 +129,7 @@
|
||||
// GTEST_OS_NACL - Google Native Client (NaCl)
|
||||
// GTEST_OS_NETBSD - NetBSD
|
||||
// GTEST_OS_OPENBSD - OpenBSD
|
||||
// GTEST_OS_OS2 - OS/2
|
||||
// GTEST_OS_QNX - QNX
|
||||
// GTEST_OS_SOLARIS - Sun Solaris
|
||||
// GTEST_OS_SYMBIAN - Symbian
|
||||
@ -681,7 +682,8 @@ typedef struct _RTL_CRITICAL_SECTION GTEST_CRITICAL_SECTION;
|
||||
|
||||
// Determines whether the system compiler uses UTF-16 for encoding wide strings.
|
||||
#define GTEST_WIDE_STRING_USES_UTF16_ \
|
||||
(GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_SYMBIAN || GTEST_OS_AIX)
|
||||
(GTEST_OS_WINDOWS || GTEST_OS_CYGWIN || GTEST_OS_SYMBIAN || \
|
||||
GTEST_OS_AIX || GTEST_OS_OS2)
|
||||
|
||||
// Determines whether test results can be streamed to a socket.
|
||||
#if GTEST_OS_LINUX
|
||||
|
@ -41,6 +41,9 @@
|
||||
# include <io.h>
|
||||
# include <sys/stat.h>
|
||||
# include <map> // Used in ThreadLocal.
|
||||
# ifdef _MSC_VER
|
||||
# include <crtdbg.h>
|
||||
# endif // _MSC_VER
|
||||
#else
|
||||
# include <unistd.h>
|
||||
#endif // GTEST_OS_WINDOWS
|
||||
|
@ -348,7 +348,7 @@ void PrintTo(const wchar_t* s, ostream* os) {
|
||||
*os << "NULL";
|
||||
} else {
|
||||
*os << ImplicitCast_<const void*>(s) << " pointing to ";
|
||||
PrintCharsAsStringTo(s, std::wcslen(s), os);
|
||||
PrintCharsAsStringTo(s, wcslen(s), os);
|
||||
}
|
||||
}
|
||||
#endif // wchar_t is native
|
||||
|
@ -445,7 +445,7 @@ static ::std::vector<std::string> g_argvs;
|
||||
FilePath GetCurrentExecutableName() {
|
||||
FilePath result;
|
||||
|
||||
#if GTEST_OS_WINDOWS
|
||||
#if GTEST_OS_WINDOWS || GTEST_OS_OS2
|
||||
result.Set(FilePath(GetArgvs()[0]).RemoveExtension("exe"));
|
||||
#else
|
||||
result.Set(FilePath(GetArgvs()[0]));
|
||||
|
@ -80,7 +80,7 @@ TEST(GetCurrentDirTest, ReturnsCurrentDir) {
|
||||
const FilePath cwd = FilePath::GetCurrentDir();
|
||||
posix::ChDir(original_dir.c_str());
|
||||
|
||||
# if GTEST_OS_WINDOWS
|
||||
# if GTEST_OS_WINDOWS || GTEST_OS_OS2
|
||||
|
||||
// Skips the ":".
|
||||
const char* const cwd_without_drive = strchr(cwd.c_str(), ':');
|
||||
|
@ -102,6 +102,12 @@ TEST(OutputFileHelpersTest, GetCurrentExecutableName) {
|
||||
_strcmpi("gtest-options-ex_test", exe_str.c_str()) == 0 ||
|
||||
_strcmpi("gtest_all_test", exe_str.c_str()) == 0 ||
|
||||
_strcmpi("gtest_dll_test", exe_str.c_str()) == 0;
|
||||
#elif GTEST_OS_OS2
|
||||
const bool success =
|
||||
strcasecmp("googletest-options-test", exe_str.c_str()) == 0 ||
|
||||
strcasecmp("gtest-options-ex_test", exe_str.c_str()) == 0 ||
|
||||
strcasecmp("gtest_all_test", exe_str.c_str()) == 0 ||
|
||||
strcasecmp("gtest_dll_test", exe_str.c_str()) == 0;
|
||||
#elif GTEST_OS_FUCHSIA
|
||||
const bool success = exe_str == "app";
|
||||
#else
|
||||
|
@ -67,43 +67,7 @@ using ::testing::internal::UnitTestOptions;
|
||||
// EXPECT_THAT() and the matchers know how to print tuples.
|
||||
template <typename T>
|
||||
::std::string PrintValue(const T& value) {
|
||||
::std::stringstream stream;
|
||||
stream << value;
|
||||
return stream.str();
|
||||
}
|
||||
|
||||
// These overloads allow printing tuples in our tests. We cannot
|
||||
// define an operator<< for tuples, as that definition needs to be in
|
||||
// the std namespace in order to be picked up by Google Test via
|
||||
// Argument-Dependent Lookup, yet defining anything in the std
|
||||
// namespace in non-STL code is undefined behavior.
|
||||
|
||||
template <typename T1, typename T2>
|
||||
::std::string PrintValue(const std::tuple<T1, T2>& value) {
|
||||
::std::stringstream stream;
|
||||
stream << "(" << std::get<0>(value) << ", " << std::get<1>(value) << ")";
|
||||
return stream.str();
|
||||
}
|
||||
|
||||
template <typename T1, typename T2, typename T3>
|
||||
::std::string PrintValue(const std::tuple<T1, T2, T3>& value) {
|
||||
::std::stringstream stream;
|
||||
stream << "(" << std::get<0>(value) << ", " << std::get<1>(value) << ", "
|
||||
<< std::get<2>(value) << ")";
|
||||
return stream.str();
|
||||
}
|
||||
|
||||
template <typename T1, typename T2, typename T3, typename T4, typename T5,
|
||||
typename T6, typename T7, typename T8, typename T9, typename T10>
|
||||
::std::string PrintValue(
|
||||
const std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>& value) {
|
||||
::std::stringstream stream;
|
||||
stream << "(" << std::get<0>(value) << ", " << std::get<1>(value) << ", "
|
||||
<< std::get<2>(value) << ", " << std::get<3>(value) << ", "
|
||||
<< std::get<4>(value) << ", " << std::get<5>(value) << ", "
|
||||
<< std::get<6>(value) << ", " << std::get<7>(value) << ", "
|
||||
<< std::get<8>(value) << ", " << std::get<9>(value) << ")";
|
||||
return stream.str();
|
||||
return testing::PrintToString(value);
|
||||
}
|
||||
|
||||
// Verifies that a sequence generated by the generator and accessed
|
||||
|
@ -36,6 +36,7 @@ import sys
|
||||
|
||||
IS_WINDOWS = os.name == 'nt'
|
||||
IS_CYGWIN = os.name == 'posix' and 'CYGWIN' in os.uname()[0]
|
||||
IS_OS2 = os.name == 'os2'
|
||||
|
||||
import atexit
|
||||
import shutil
|
||||
@ -164,7 +165,7 @@ def GetTestExecutablePath(executable_name, build_dir=None):
|
||||
|
||||
path = os.path.abspath(os.path.join(build_dir or GetBuildDir(),
|
||||
executable_name))
|
||||
if (IS_WINDOWS or IS_CYGWIN) and not path.endswith('.exe'):
|
||||
if (IS_WINDOWS or IS_CYGWIN or IS_OS2) and not path.endswith('.exe'):
|
||||
path += '.exe'
|
||||
|
||||
if not os.path.exists(path):
|
||||
|
Loading…
Reference in New Issue
Block a user