-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Make catch tags work with ctest labels #2696
Conversation
Codecov Report
@@ Coverage Diff @@
## devel #2696 +/- ##
==========================================
- Coverage 91.19% 91.11% -0.08%
==========================================
Files 192 192
Lines 7843 7852 +9
==========================================
+ Hits 7152 7154 +2
- Misses 691 698 +7 |
Thanks, but any approach that has to call the binary per test is unusable for the final product. Assuming 500 tests discovered (this is bit more than Catch2 has in the SelfTest binary, about half of what I've had in various work projects), and process creation overhead between 5 ms (no AV/no process creation filters) and 20 ms (various hooked processes), the tag retrieval will add between 2.5s and 10s overhead (before counting any time spent by Catch2 to actually retrieve the tests). The only usable approach for adding tags as labels in CTest is to use the output from ---edit--- I did some extra tests for the performance overhead numbers
|
Is #2690 superseding this one then? |
Yes |
Description
Developed independently of #1590 but with the same goal in mind. Extract the tags from each test and apply them as labels to the generated CTest tests.
This is achieved by adding a
--verbosity quiet
filter to the--list-tags
command line so that only the tags are output without any other information (similar to--verbosity quiet
for--list-tests
). The cmake script then creates a list out of these tags and sets them as labelsGitHub Issues
Closes #1590
This PR also achieves the same (or a similar) end results as #2690 (I failed to see this PR before I made this one). Since these two PRs achieve the same thing in a different way I will leave this PR open so that it trade offs to the two approaches can be discussed.