Skip to content
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 use Googletest v1.10.0 (latest) #8

Merged
merged 449 commits into from
Oct 20, 2020
Merged

Update to use Googletest v1.10.0 (latest) #8

merged 449 commits into from
Oct 20, 2020

Conversation

audrow
Copy link

@audrow audrow commented Oct 1, 2020

I merged in the latest tag of googletest and updated the version number in the package.xml.

The following PRs are required for this PR:

SylvestreG and others added 30 commits April 26, 2019 13:48
Internal Change

PiperOrigin-RevId: 245788057
Clarify build system support - CMake and automake community supported

PiperOrigin-RevId: 245821927
Remove special case for protocol buffers. It is no longer needed.

PiperOrigin-RevId: 246550795
Print the test output on assertion failure.

PiperOrigin-RevId: 247283764
Otherwise the code won't compile if the '&' operater is overloaded and
return something that cannot be casted to void *.
Adding back section that was lost in merge
Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
windows msvc toolchain with werror and wconversion
will break if converting long to DWORD.
Cleanup, remove legacy build scripts, googletest only provides Bazel and CMake
PiperOrigin-RevId: 249660276
Clarify googler PR policy
Add a safety nullptr check to catch the case where the /tmp file used for capturing a stream cannot be created.

PiperOrigin-RevId: 250523012
Previously this was fused into the source file, but this prevents users of the
fused file from using those utilities directly.
@audrow
Copy link
Author

audrow commented Oct 1, 2020

@audrow
Copy link
Author

audrow commented Oct 1, 2020

Here is a new CI attempt:

  • Linux Build Status

@audrow
Copy link
Author

audrow commented Oct 2, 2020

Here is the full CI:

Build: --packages-above-and-dependencies gtest_vendor gmock_vendor
Test: --packages-above gtest_vendor gmock_vendor

  • Linux Build Status (From above, not rerun)
  • Linux-aarch64 Build Status
  • macOS Build Status (rerun)
  • Windows Build Status

Copy link

@clalancette clalancette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change (plus the fixes in the downstream packages) seem good to me. But I'd like to get an opinion from @wjwwood before we merge.

@audrow
Copy link
Author

audrow commented Oct 6, 2020

I think that I did something wrong in updating from googletest and it was hard to tell because the merged in commits were squashed. Now, this PR updates our ros2 branch to googletest's latest release (1.10.0).

I've chosen not to squash the commits, since it is what we seem to have done in the past, it makes things clearer, and it should make future updates easier.

One other note that might be useful in the future: instead of rebasing, I've chosen to merge these commits when updating from googletest. Rebasing would modify this repository's history (would require a forced push) and make it hard to go back to previous versions.

I'll rerun CI.

@audrow
Copy link
Author

audrow commented Oct 6, 2020

Below is CI. Note that I use --pytest-args -m scoobydo in testing to avoid running python tests, because several python tests fail on Windows and these python tests should be unrelated to googletest.

Build: --packages-above-and-dependencies gtest_vendor gmock_vendor
Test: --pytest-args -m scoobydo --packages-above gtest_vendor gmock_vendor

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

@audrow
Copy link
Author

audrow commented Oct 6, 2020

Using the last release of googletest didn't fix the warnings that we have seen (e.g., ros2/urdfdom#22 (comment)), so I am going to try using a more recent commit on master.

ros2/urdfdom#22 is failing on macOS because the wrong headers are being used (see ros2/urdfdom#23). A better example of 1.10.0 fixing warnings is in ros2/rcl_logging#54 (comment). Note that the most recent version of googletest that passed their CI had two warnings.

@audrow audrow changed the title Update to use Googletest v1.10.0 (latest) Update Googletest to latest commit that passes CI Oct 6, 2020
….10.0-2

Signed-off-by: Audrow Nash <audrow.nash@gmail.com>
Signed-off-by: Audrow Nash <audrow.nash@gmail.com>
@audrow audrow changed the title Update Googletest to latest commit that passes CI Update to use Googletest v1.10.0 (latest) Oct 8, 2020
@audrow
Copy link
Author

audrow commented Oct 16, 2020

Here's my latest run of Window's CI:
Build Status

It has two test failures that I see in nightly_win_rep here.

I'll rerun all of the CI's tonight and if we only see these failures, perhaps we can merge this and the associated PRs in.

@audrow
Copy link
Author

audrow commented Oct 16, 2020

Here's the new CI. Again, I see the windows failures in the nightly_win_rep in the last few days.

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

@clalancette
Copy link

Here's the new CI. Again, I see the windows failures in the nightly_win_rep in the last few days.

Yeah, I agree that those are flaky tests. So we can ignore those. The changes you have made in this repository also look good.

One thing I would like to see is a run of this on Windows Debug and on CentOS. Windows Debug, in particular, has caused a lot of problems in the past, so that would be a good one to see what happens. And while CentOS is not one of our Tier 1 platforms, we do generally try to keep it working, so let's see what happens there.

Finally, can you summarize the PRs that are required to get this in? I'd like to get that subset in first before we start enabling warnings elsewhere.

@audrow
Copy link
Author

audrow commented Oct 16, 2020

Here are two new CI runs:

  • Linux-CentOS Build Status
  • Windows (Debug) Build Status

@audrow
Copy link
Author

audrow commented Oct 16, 2020

The required PRs that should be merged in with this PR are

All of the recent CI runs have tested these PRs, too.

@clalancette
Copy link

The things that failed in Windows Debug and CentOS are the same that failed in the nightlies, so those are good. I'm happy with this PR, so I'll re-approve and then go look at the other 3 PRs.

@clalancette
Copy link

One other thing; once you merge this and the dependent PRs, please make sure to do a release of this package, rcl, rclcpp, and system_tests into Rolling. Otherwise all downstream PR jobs are going to start failing.

@hidmic
Copy link

hidmic commented Oct 20, 2020

Alright, everyone's happy with the patch, and so am I. Merging on @audrow 's behalf. Thanks!

@hidmic hidmic merged commit 0a38dbc into ament:ros2 Oct 20, 2020
@audrow audrow deleted the audrow/update-to-1.10.0 branch October 20, 2020 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.