-
Notifications
You must be signed in to change notification settings - Fork 10.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gmock_matchers_test.cc doesn’t build with RTTI off #610
Comments
If it’s desirable to disable the WhenDynamicCastToTest tests in gmock-matchers_test.cc, that can be achieved with #612. |
done. thanks! |
dneto0
added a commit
to dneto0/SPIRV-Tools
that referenced
this issue
Dec 1, 2015
The tests now use mocked methods. This requires runtime type information for those test classes. google/googletest#610 This has been fixed recently upstream in googletest. Until we pick up that fix, add -frtti for the the test executable only.
dneto0
added a commit
to dneto0/shaderc
that referenced
this issue
Dec 1, 2015
We recommend something newer than googletest 1.7.0 because we want to pick up a fix for an RTTI issue related to mocking google/googletest#610 That's fixed on the googletest master branch after 2015-11-10.
dneto0
added a commit
to dneto0/shaderc
that referenced
this issue
Dec 1, 2015
We recommend something newer than googletest 1.7.0 because we want to pick up a fix for an RTTI issue related to mocking google/googletest#610 That's fixed on the googletest master branch after 2015-11-10.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When RTTI is disabled (-fno-rtti) gmock_matchers_test.cc fails to build, even though GTEST_HAS_RTTI is 0:
In file included from …/googlemock/test/gmock-matchers_test.cc:36:
…/googlemock/include/gmock/gmock-matchers.h:2153:13: error: cannot use dynamic_cast with -fno-rtti
To to = dynamic_cast(from);
^
[…long snip…]
…/googlemock/test/gmock-matchers_test.cc:3188:3: note: in instantiation of function template specialization 'testing::internal::PredicateFormatterFromMatcher<testing::PolymorphicMatcher<testing::internal::WhenDynamicCastToMatcher<testing::gmock_matchers_test::Derived *> > >::operator()<testing::gmock_matchers_test::Base >' requested here
EXPECT_THAT(as_base_ptr, WhenDynamicCastTo<Derived>(Not(IsNull())));
^
This is repeated several more times for other uses of WhenDynamicCastTo<>.
I’m in favor of leaving WhenDynamicCastTo<> broken when RTTI is off, or disabling it entirely by wrapping it in #if GTEST_HAS_RTTI in gmock-matchers.h. In either case, all of the WhenDynamicCastToTest tests in gmock-matchers_test.cc should be disabled when GTEST_HAS_RTTI is 0.
Since WhenDynamicCastToTest.Describe already considers GTEST_HAS_RTTI, albeit in a way that can’t possibly work or pass, I’m not sure what was intended here.
The text was updated successfully, but these errors were encountered: