From 676d0444bf95d0ffba07973dcc7234e645acdb91 Mon Sep 17 00:00:00 2001 From: Joshua Cannon Date: Wed, 23 Oct 2019 14:46:46 -0500 Subject: Revert "Merge pull request #2498 from thejcannon:noexcept_spec" This reverts commit ba513d2c9525a7c986c115ed5d603f2cf17c6016, reversing changes made to a3ca5b9e0bf9abc3bc639684966085c4d3182578. --- googlemock/test/gmock-function-mocker_test.cc | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'googlemock/test/gmock-function-mocker_test.cc') diff --git a/googlemock/test/gmock-function-mocker_test.cc b/googlemock/test/gmock-function-mocker_test.cc index 55be70a8..90d6b5f1 100644 --- a/googlemock/test/gmock-function-mocker_test.cc +++ b/googlemock/test/gmock-function-mocker_test.cc @@ -42,6 +42,8 @@ #include #include +#include + #include "gmock/gmock.h" #include "gtest/gtest.h" @@ -663,5 +665,32 @@ TEST(MockMethodMockFunctionTest, MockMethodSizeOverhead) { EXPECT_EQ(sizeof(MockMethodSizes0), sizeof(MockMethodSizes4)); } +void hasTwoParams(int, int); +void MaybeThrows(); +void DoesntThrow() noexcept; +struct MockMethodNoexceptSpecifier { + MOCK_METHOD(void, func1, (), (noexcept)); + MOCK_METHOD(void, func2, (), (noexcept(true))); + MOCK_METHOD(void, func3, (), (noexcept(false))); + MOCK_METHOD(void, func4, (), (noexcept(noexcept(MaybeThrows())))); + MOCK_METHOD(void, func5, (), (noexcept(noexcept(DoesntThrow())))); + MOCK_METHOD(void, func6, (), (noexcept(noexcept(DoesntThrow())), const)); + MOCK_METHOD(void, func7, (), (const, noexcept(noexcept(DoesntThrow())))); + // Put commas in the noexcept expression + MOCK_METHOD(void, func8, (), (noexcept(noexcept(hasTwoParams(1, 2))), const)); +}; + +TEST(MockMethodMockFunctionTest, NoexceptSpecifierPreserved) { + EXPECT_TRUE(noexcept(std::declval().func1())); + EXPECT_TRUE(noexcept(std::declval().func2())); + EXPECT_FALSE(noexcept(std::declval().func3())); + EXPECT_FALSE(noexcept(std::declval().func4())); + EXPECT_TRUE(noexcept(std::declval().func5())); + EXPECT_TRUE(noexcept(std::declval().func6())); + EXPECT_TRUE(noexcept(std::declval().func7())); + EXPECT_EQ(noexcept(std::declval().func8()), + noexcept(hasTwoParams(1, 2))); +} + } // namespace gmock_function_mocker_test } // namespace testing -- cgit v1.2.3