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

Revert "Hide all gtest symbols in cudftestutil (#16546)" #16644

Merged

Conversation

robertmaynard
Copy link
Contributor

Description

This reverts commit ac42bc8.

We need to revert #16546 as it broke the gtest builds for cudf. Therefore gtests that actually fail wouldn't properly report an error but silently continue and report as passed.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@robertmaynard robertmaynard added bug Something isn't working 3 - Ready for Review Ready for review by team ! - Hotfix Hotfix is a bug that affects the majority of users for which there is no reasonable workaround non-breaking Non-breaking change labels Aug 22, 2024
@robertmaynard robertmaynard requested a review from a team as a code owner August 22, 2024 20:39
@github-actions github-actions bot added libcudf Affects libcudf (C++/CUDA) code. CMake CMake build issue labels Aug 22, 2024
@vyasr
Copy link
Contributor

vyasr commented Aug 22, 2024

/merge

@rapids-bot rapids-bot bot merged commit 83f68c9 into rapidsai:branch-24.10 Aug 22, 2024
81 checks passed
@robertmaynard robertmaynard deleted the bug/tests_never_fail branch August 23, 2024 01:13
@robertmaynard
Copy link
Contributor Author

Summary of the problems that packaging cudftestutil has on libcudf:

  • If we use a shared GTest it enforces our conda package to a pinned gtest causing nightmares for all our conda users
  • We can't use a shared GTest + private symbols since that is impossible ( we can't call the symbols )
  • If we use a static GTest + public symbols we are bound to the GTest version via symbol ABI, causing runtime nightmares for the subset of conda users that leverage cudftestutil
  • If we use a static GTest + private symbols none of the cudftestutil 'checkers' actually work ( e.g. why this revert PR exists )

@kkraus14
Copy link
Collaborator

  • If we use a shared GTest it enforces our conda package to a pinned gtest causing nightmares for all our conda users

Outside of conda recipe / packaging semantics which can be loosened, why does this enforce a pinned gtest version?

@robertmaynard
Copy link
Contributor Author

  • If we use a shared GTest it enforces our conda package to a pinned gtest causing nightmares for all our conda users

Outside of conda recipe / packaging semantics which can be loosened, why does this enforce a pinned gtest version?

To be clear I mean pinned to the same major.minor value. The GTest releases offer no ABI stability between minor releases. So if we build against GTest 1.10 and the users has 1.15 we should expect undefined behavior to occur.

@vyasr
Copy link
Contributor

vyasr commented Aug 26, 2024

Proposal to convert cudftestutil into a header-only library is in #16658

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - Ready for Review Ready for review by team ! - Hotfix Hotfix is a bug that affects the majority of users for which there is no reasonable workaround bug Something isn't working CMake CMake build issue libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants