-
Notifications
You must be signed in to change notification settings - Fork 9
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
Update to gtest 1.11 #21
Conversation
PiperOrigin-RevId: 334384310
…be_unintialized PiperOrigin-RevId: 334391149
Update comment to suggest using SetUpTestSuite and TearDownTestSuite. PiperOrigin-RevId: 334430329
Fix undefined pointer comparison PiperOrigin-RevId: 334436975
Update faq.md on underscore to mention `DISABLED_` prefix. PiperOrigin-RevId: 334507963
…k from A1, A2, ... to TArg1, TArg2,... to avoid clash with legacy header files
PiperOrigin-RevId: 335653055
PiperOrigin-RevId: 336087297
Make the code Python3 compliant. PiperOrigin-RevId: 336144198
Improve lookup of operator<< for user types Without this fix, trying to use this class with googletest struct Foo {}; template <typename OutputStream> OutputStream& operator<<(OutputStream& os, const Foo&) { os << "TemplatedStreamableInFoo"; return os; } results in an ambiguity error between the class' operator<< and the operator<< in gtest-printers.h removed in this CL. This fix also enables implicit conversions to happen, so that e.g. we will find the base class operator<< if a subclass has no operator<< of its own. PiperOrigin-RevId: 336261221
Add helper methos to internal FlatTuple. Refactor constructors. PiperOrigin-RevId: 336306681
Suggest using generic lambdas for composing macros. Long chains of macros hurt legibility; generic lambdas are an easy way to abbreviate them, but are not an obvious solution to casual users. Compare: EXPECT_THAT(f(), ElementsAre( Property(&MyClass::foo, Property(&OtherClass::bar, Contains("x"))), Property(&MyClass::foo, Property(&OtherClass::bar, Contains("y")))); to: EXPECT_THAT(f(), ElementsAre(HasFooBar("x"), HasFooBar("y"))); PiperOrigin-RevId: 336870137
Use absl::StrCat in MATCHER_P example for consistency with https://abseil.io/tips/3 PiperOrigin-RevId: 336878481
PiperOrigin-RevId: 336881266
Fixes AppVeyor by upgrading to Bazel 3.6.0 PiperOrigin-RevId: 336887434
Fix -Wmismatched-tags error with struct tuple_size vs class tuple_size PiperOrigin-RevId: 336930166
Prefer using over typedef. PiperOrigin-RevId: 337080404
Disable -Wmismatched-tags warning for struct/class tuple_size PiperOrigin-RevId: 337087493
Removing a semicolon that triggers a lint error in sample code. PiperOrigin-RevId: 337095451
Stop using master.zip to make the build reproducible PiperOrigin-RevId: 337102716
Disable warnings on code that intentionally tests a suboptimal syntax PiperOrigin-RevId: 337138442
Add ::testing::FieldsAre matcher for objects that support get<> and structured bindings. PiperOrigin-RevId: 337165285
…plate-args-AX-to-TArgX PiperOrigin-RevId: 337217118
Fixes build warnings from previous CL Add CMake to internal presubmit to prevent these PiperOrigin-RevId: 337325504
Fix some issues when running fuse_gmock_files. The module path should be updated before importing `fuse_gtest_files`, since the script may not run from the googletest repo root. We also need a non-frozen set in order to track progress. PiperOrigin-RevId: 337380466
Fix typo in the "Assertion Placement" section PiperOrigin-RevId: 337435223
Replace "definedin in" by "defined in" in files: - googletest/src/gtest.cc - googletest/test/googletest-output-test-golden-lin.txt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This updating is holding back MoveIt2 from using -Wpedantic
. I can confirm that this works and lets us finally enable that warning.
Unfortunately it is still causing CI to be yellow, and I haven't had time to go back and look at why. If you have some time to look at that and propose possible fixes, that would be helpful. |
https://ci.ros2.org/job/ci_linux/17846/gcc/new/source.3769323b-695d-4413-a06b-0a8173357ff9/#316 The error seems to be that there's some new code in v1.11 that triggers |
You are right, nowadays we are treating them as system headers, so this probably isn't a problem anymore. That said, this change is not compiling anymore locally for me. I had to upgrade a bunch of our packages to C++17 (which we honestly should have done a while ago). I'm slowly getting those PRs in, but this will take some time. Once we have those in, I'll rebase this and try CI again. |
Did this update accidentally start using C++17 features? The latest release only claims to require C++14. What specifically fails to compile for you? |
When I go to compile this PR against the rest of the ROS 2 core,
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few things:
- This needs a rebase or merge to take changes to the package manifest from
rolling
- The
CMakeLists.txt.upstream
should be updated within thegoogletest
andgooglemock
subdirectories - this appears to have been lost in the merge. - The version snapshot list in the package manifests immediately prior to the version number should be updated with the new google/googletest ref
I'm not sure why, but GitHub failed to back-link from the other PR. This is the bug fix in |
Signed-off-by: Chris Lalancette <clalancette@gmail.com>
I think I've now fixed all of the issues pointed out by @cottsay. With the other fixes that are in place, let's see how CI does now: |
All right, with ros2/rclcpp#2227 now merged, I'm going to mark this PR as ready for review and run another CI on it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed the diff and it aligns with my attempt to do the same.
Thanks!
CI is green, and this is approved, so merging. Note that I am going to create a merge commit here. |
This matches the version that is in Ubuntu 22.04, and it should fix some warnings when building with Clang.
Draft for now while I get some feedback on it.