-
Notifications
You must be signed in to change notification settings - Fork 28
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
Add directive select
to force selecting node
#223
Conversation
lukaszachy
commented
Feb 27, 2024
•
edited
Loading
edited
- implement the feature
- write the documentation
- extend the test coverage
Limiting tests in #225. Lets see |
e7d1464
to
543e52a
Compare
Hi, I would love some more descriptive name, instead of |
tmt can easily ignore directives with dashes simply by listing them in tmt sources, if needed, plus users may define their custom keys with underscores in their tests ( I suspect these directives don't even reach tmt, do they? They are consumed by fmf, applied and tmt gets the final materialized tree of data, correct? |
What about also having the opposite? I.e. marking a Lines 812 to 815 in 29190c7
More specifically, in LecrisUT/tmt-copr#2 I want /prefix:
framework: copr
test: custom-placeholder
/prefix/pkg1:
package: pkg1 Then there could be overrides defined in result: xfail The idea of adding a function to mark something as non-leaf is if we only have a duration: 10h In this case |
Correct. |
I see no problem - |
This is question. On first singht, I can imagine that TMT will interpret the value, but another is, that it is semantic of FMF, so that it should be materialized and TMT will do not see this key anyway. this_is_leaf/:
./:
mark_as_leaf: True
another_fmf_firective: something
test: shell.sh BTW, this disussion is closer to FMF/TMT config/profiles (#196) than we should allow :-), it allows you to configure/override default FMF behaviour, what do you think? From one perspective it is very simple PR, from another perspective overriding, redefining nodes or change some behaviour seems to me very close to profiles and configs, that's Why I would like to see something more generic, than just one attribute to change befaviour of FMF, but do it more extensible. |
tmt doesn't see this value, similar to merge suffixes (+, -, +<), all of this is processed by fmf. |
I beg do differ - for me this is just setting fmf directive. By overriding default fmf behavour I'd expect custom _merge_special, injection of directives not known to fmf or similar. |
Hm, I'll leave the |
Not sure what you mean here. It would have the same inheritance rules, i.e. anything within that file is marked as non-leaf. I was thinking of just adding a special case of Lines 573 to 579 in 29190c7
|
Could you please create a new issue, @LecrisUT ? What I have in mind is this:
Currently this produces leaf /, non-leaves /foo and /bar. Inheritance works in way that /bar is created based on 'main.fmf' and 'bar/main.fmf'. If foo.fmf is 'mark-non-leaf' - how it will ever become a leaf aka node usable by tmt? |
is-leaf
to force selecting nodemark-leaf
to force selecting node
mark-leaf
to force selecting nodemake-leaf
to force selecting node
You mean the opposite right? non-leaf
The idea is to support the inverse of grafting where the base is populated by
But I guess in both cases you could have breaking tmt lint due to incomplete data, so maybe it only needs to be on the |
Right you are, I flipped those two terms. |
make-leaf
to force selecting nodeselect
to force selecting node
PR rebased, in the end I went with 'select' as directive name as it made more sense in the docs. |
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.
Nicely done! Thanks.
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.
Cool!