Conversation
Address flaky expression checker to be reworked.
…ture/1042_add_and_to_tags
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## develop #1250 +/- ##
===========================================
+ Coverage 94.78% 94.89% +0.11%
===========================================
Files 109 111 +2
Lines 5173 5286 +113
Branches 24 24
===========================================
+ Hits 4903 5016 +113
- Misses 262 263 +1
+ Partials 8 7 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
|
So seems like there is no hit in perf: First run took+000000000 00:01:26.587663000 Finished in 16.495174 seconds Second run took+000000000 00:01:17.189142000 Finished in 13.658072 seconds third run took+000000000 00:01:20.499584000 old Finished in 16.167675 seconds First run took+000000000 00:03:37.830094000 Finished in 13.127262 seconds Second run took+000000000 00:03:29.262099000 Finished in 10.98218 seconds Third run took+000000000 00:03:01.665203000 |
|
@jgebal I'm also considering to add keywords none() and any(). What you think? It will take an extra time to implement. |
|
I can review this PR after Wednesday. What is the idea behind any() and none()? |
|
Aye, no rush. As for keyword as per junit5 |
|
Got some small changes to do still. |
…ix ( Reverse Polish Notation). This allows us to more flexibility of using boolean expressions and not limited to flaky regex.
jgebal
left a comment
There was a problem hiding this comment.
I really like the code you wrote. It's realitvely easy to digest. The except rnp and infix/postfix logic is of course quite complex and hard to grasp without some reading.
I added quite few comments but they are mostly cosmetic/readability and maintainability oriented.
jgebal
left a comment
There was a problem hiding this comment.
Not a complete review yet, but few comments.
I'll need a bit more time to look through it all.
Sounds like a great idea. |
Let's get that in new PR. |
I have added into existing PR as the change was minimal. |
|
Kudos, SonarCloud Quality Gate passed! |
|
👏👏👏 |








Fixes #1042
Introduction of expressions for running tests with tags
Tag Expressions
Tag expressions are boolean expressions created by combining tags with the
!,&,|operators. Tag expressions can be grouped using(and)braces. Grouping tag expressions affects operator precedence.Two reserved keywords,
anyandnone, can be used when creating a tag expression to run tests.anykeyword represents tests and suites with any tagsnonekeyword represents tests and suites without tagsThese keywords may be combined with other expressions just like normal tags.
Note: When specifying
none, be aware that it will exclude any tests/suites/contexts contained within a tagged suite.If you are tagging your tests across multiple dimensions, tag expressions help you to select which tests to execute. When tagging by test type (e.g., micro, integration, end-to-end) and feature (e.g., product, catalog, shipping), the following tag expressions can be useful.
catalogandshippingtagsproduct, except the tests taggedend-to-endTaking the last expression above
(micro | integration) & (product | shipping)Excluding tests/suites by tags
It is possible to exclude parts of test suites with tags.
In order to do so, prefix the tag name to exclude with a
!(exclamation) sign when invoking the test run which is equivalent of-(dash) in legacy notation.Examples: