GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — Feature/1042 add `and` to tags by lwasylow · Pull Request #1250 · utPLSQL/utPLSQL Conversation
|
| Operator | Meaning |
|---|---|
| ! | not |
| & | and |
| | | or |
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.
| Tag Expression | Selection |
|---|---|
| product | all tests for product |
| catalog | shipping | all tests for catalog plus all tests for shipping |
| catalog & shipping | all tests that are tagged with both catalog and shipping tags |
| product & !end-to-end | all tests tagged product, except the tests tagged end-to-end |
| (micro | integration) & (product | shipping) | all micro or integration tests for product or shipping |
Taking the last expression above (micro | integration) & (product | shipping)
| --%tags | included in run |
|---|---|
| micro | no |
| integration | no |
| micro | no |
| product | no |
| shipping | no |
| micro | no |
| micro, integration | no |
| product, shipping | no |
| micro, product | yes |
| micro, shipping | yes |
| integration, product | yes |
| integration, shipping | yes |
| integration, micro, shipping | yes |
| integration, micro, product | yes |
| integration, shipping ,product | yes |
| micro, shipping ,product | yes |
| integration, micro, shipping ,product | yes |
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:
select * from table(ut.run(a_tags => '(api|fast)&!complex'));
select * from table(ut.run(a_tags => '(api|fast)&!complex&!test1'));
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Address flaky expression checker to be reworked.
…ture/1042_add_and_to_tags
There was an error while loading. Please reload this page.
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. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Unit Test Results 1 files 2 suites 5m 24s ⏱️ Results for commit 46ffe73. ♻️ This comment has been updated with latest results. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
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 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@jgebal I'm also considering to add keywords none() and any(). What you think? It will take an extra time to implement. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I can review this PR after Wednesday. What is the idea behind any() and none()? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Aye, no rush. As for keyword as per junit5 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Got some small changes to do still. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…ix ( Reverse Polish Notation). This allows us to more flexibility of using boolean expressions and not limited to flaky regex.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
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.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Not a complete review yet, but few comments.
I'll need a bit more time to look through it all.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Sounds like a great idea. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Let's get that in new PR. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I have added into existing PR as the change was minimal. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Kudos, SonarCloud Quality Gate passed! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
👏👏👏 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
Support "AND" logic to tags for the tests runner
There was an error while loading. Please reload this page.