-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Adds rapidcheck gtest/catch integrations #7394
Adds rapidcheck gtest/catch integrations #7394
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Excuse the mess, not my finest moment |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
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.
The component names do not match the official ones 😕
https://github.com/emil-e/rapidcheck/search?q=rapidcheckConfig
- core --> rapidcheck
- the frameworks should be prefixed with
rapidcheck_
Also why are there no require statements? I would expect "enable_catch" to include catch..
https://github.com/emil-e/rapidcheck/blob/fc616114a95a3198514f8b4ec9e354865fd6ecfc/extras/catch/include/rapidcheck/catch.h#L6
Would fail to compile without it
recipes/rapidcheck/all/conanfile.py
Outdated
"enable_catch": [True, False], | ||
"enable_gmock": [True, False], | ||
"enable_gtest": [True, False], | ||
"enable_boost": [True, False], | ||
"enable_boost_test": [True, False] |
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.
Could this be one option?
"enable_catch": [True, False], | |
"enable_gmock": [True, False], | |
"enable_gtest": [True, False], | |
"enable_boost": [True, False], | |
"enable_boost_test": [True, False] | |
"enable_framework": [False, "catch", "gmock", "gtest", "boost", "boost_test"], |
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.
No I don't think so as you can enable multiple integrations at the same time.
Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
Requires: I see, catch and gmock are handled differently from the rest. F.e. gtest requires the consumer to link gtest, include gtest header and then include rapidcheck header which makes sense to not require gtest. Different for catch. Will check it out. Names: I think the official targets are not namespaced correct? This is why the aliases with the correct names are added without a namespace. Core is just the name of the component, it cannot be the same name as the package I think. The resulting target is still named rapidcheck::rapidcheck (and aliased to rapidcheck) |
This comment has been minimized.
This comment has been minimized.
Please have a look. I left out boost for now. I think it is not very nice to link gtest/catch to the core lib, but I would like to keep the gtest and such integration libs INTERFACE libraries to not change the code around too much. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I absolutely agree, its completely customer facing. I am not sure why you added patches since that was not required in the first place 🤔 The CMake aliases are perfect, my previous note was about the Conan ones... when you go to use them in a downstream conanfile the sames are not very distinctive (they are the names of other projects) without the prefix that upstream uses |
Please have a look if this addresses your concerns:
|
This comment has been minimized.
This comment has been minimized.
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.
Amazing work!
@prince-chrismc Good catch! thanks for reviewing! |
Co-authored-by: Uilian Ries <uilianries@gmail.com>
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.
LGTM
Specify library name and version: rapidcheck
Rapidcheck provides integration with multiple unit test frameworks. This enables those integrations within the conan package
conan-center hook activated.