aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJerry Turcios <jerryturcios08@gmail.com>2018-10-24 23:18:50 -0400
committerJerry Turcios <jerryturcios08@gmail.com>2018-10-24 23:18:50 -0400
commit299d098daa16533a11cd9070d170d3d95c0793f5 (patch)
treeb7f5433fce3803d121c9963dc69bcdeec4d35f7c
parent2801b238078750da1cb5e1f8519a3caa749df753 (diff)
parent8ec8ce1c8a51076950bfa7a7886d95f4c8aed11b (diff)
downloadgoogletest-299d098daa16533a11cd9070d170d3d95c0793f5.tar.gz
googletest-299d098daa16533a11cd9070d170d3d95c0793f5.tar.bz2
googletest-299d098daa16533a11cd9070d170d3d95c0793f5.zip
Merge branch 'master' of https://github.com/google/googletest
-rw-r--r--CMakeLists.txt9
-rw-r--r--googletest/README.md12
-rw-r--r--googletest/src/gtest.cc10
-rw-r--r--googletest/test/gtest_skip_test.cc17
4 files changed, 37 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 572dac00..be14229e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,12 @@
cmake_minimum_required(VERSION 2.8.8)
-add_definitions(-std=c++11)
+
+if (CMAKE_VERSION VERSION_LESS "3.1")
+ add_definitions(-std=c++11)
+else()
+ set(CMAKE_CXX_STANDARD 11)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ set(CMAKE_CXX_EXTENSIONS OFF)
+endif()
if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
diff --git a/googletest/README.md b/googletest/README.md
index 133f6859..626fd7b0 100644
--- a/googletest/README.md
+++ b/googletest/README.md
@@ -124,8 +124,8 @@ include(ExternalProject)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG master
- SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src"
- BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-build"
+ SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src"
+ BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
@@ -140,13 +140,13 @@ Existing build's `CMakeLists.txt`:
configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
RESULT_VARIABLE result
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download )
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} --build .
RESULT_VARIABLE result
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download )
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "Build step for googletest failed: ${result}")
endif()
@@ -157,8 +157,8 @@ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
# Add googletest directly to our build. This defines
# the gtest and gtest_main targets.
-add_subdirectory(${CMAKE_BINARY_DIR}/googletest-src
- ${CMAKE_BINARY_DIR}/googletest-build
+add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+ ${CMAKE_CURRENT_BINARY_DIR}/googletest-build
EXCLUDE_FROM_ALL)
# The gtest/gtest_main targets carry header search path
diff --git a/googletest/src/gtest.cc b/googletest/src/gtest.cc
index 4a9c3817..332b3e9b 100644
--- a/googletest/src/gtest.cc
+++ b/googletest/src/gtest.cc
@@ -2520,8 +2520,9 @@ void Test::Run() {
internal::UnitTestImpl* const impl = internal::GetUnitTestImpl();
impl->os_stack_trace_getter()->UponLeavingGTest();
internal::HandleExceptionsInMethodIfSupported(this, &Test::SetUp, "SetUp()");
- // We will run the test only if SetUp() was successful.
- if (!HasFatalFailure()) {
+ // We will run the test only if SetUp() was successful and didn't call
+ // GTEST_SKIP().
+ if (!HasFatalFailure() && !IsSkipped()) {
impl->os_stack_trace_getter()->UponLeavingGTest();
internal::HandleExceptionsInMethodIfSupported(
this, &Test::TestBody, "the test body");
@@ -2698,9 +2699,10 @@ void TestInfo::Run() {
factory_, &internal::TestFactoryBase::CreateTest,
"the test fixture's constructor");
- // Runs the test if the constructor didn't generate a fatal failure.
+ // Runs the test if the constructor didn't generate a fatal failure or invoke
+ // GTEST_SKIP().
// Note that the object will not be null
- if (!Test::HasFatalFailure()) {
+ if (!Test::HasFatalFailure() && !Test::IsSkipped()) {
// This doesn't throw as all user code that can throw are wrapped into
// exception handling code.
test->Run();
diff --git a/googletest/test/gtest_skip_test.cc b/googletest/test/gtest_skip_test.cc
index ee810933..717e105e 100644
--- a/googletest/test/gtest_skip_test.cc
+++ b/googletest/test/gtest_skip_test.cc
@@ -32,7 +32,24 @@
#include "gtest/gtest.h"
+using ::testing::Test;
+
TEST(SkipTest, DoesSkip) {
GTEST_SKIP();
EXPECT_EQ(0, 1);
}
+
+class Fixture : public Test {
+ protected:
+ void SetUp() override {
+ GTEST_SKIP() << "skipping all tests for this fixture";
+ }
+};
+
+TEST_F(Fixture, SkipsOneTest) {
+ EXPECT_EQ(5, 7);
+}
+
+TEST_F(Fixture, SkipsAnotherTest) {
+ EXPECT_EQ(99, 100);
+}