Comments (2)
Seems to be more complicated:
clean
subcommands do accept--workdir-path
, and use it, see https://github.com/teemtee/tmt/blob/main/tmt/cli.py#L1861clean
subcommands seem to not useeffective_workdir_root
, https://github.com/teemtee/tmt/blob/main/tmt/utils.py#L254, i.e. they don't obey aTMT_WORKDIR_ROOT
envvarclean
command should definitely useeffective_workdir_root
instead oftmt.utils.WORKDIR_ROOT
effective_workdir_root
has no input for CLI option
I'd propose to:
-
update
effective_workdir_root
to accept one optional parameter, the value of CLI option. The CLI option should not have adefault
set - it should deliverNone
when not set, andeffective_workdir_root
should deliver the default value unless overridden. Something like this:def effective_workdir_root(workdir_root_option: Optional[str] = None) -> Path: if workdir_root_option: return Path(workdir_root_option) if 'TMT_WORKDIR_ROOT' in os.environ: return Path(os.environ['TMT_WORKDIR_ROOT']) return WORKDIR_ROOT
-
then we can switch all users of
tmt.utils.WORKDIR_ROOT
, like thatclean
command, to useeffective_workdir_root
. Code with access to CLI options -clean
,clean runs
, etc. - would add inworkdir_root
value, the rest wouldn't, everyone's happy and using one way to infer a workdir root. -
-clean
itself probably does not have to have its own--workdir-root
optioncontext.params['workdir_root'] = tmt.utils.effective_workdir_root(workdir_root_option=context.params.get('workdir_root') )
should do the trick, use option passed to the subcommand fromclean
command code.
Edit: clean
does deserve its own option, as it can be run on its own. Needs to go through effective_workdir_root
anyway, cannot use workdir_root
parameter directly.
from tmt.
from tmt.
Related Issues (20)
- plans imports do not propagate context into imported plans HOT 1
- RFE: set RSTRNT_TASKNAME based on TMT_TEST_NAME
- Make the result of an empty plan configurable HOT 6
- Accept whole words in tmt try interactive session HOT 4
- Add short help option
- Custom reports from streamed test result objects HOT 1
- Exception when running Ansible preparation from CLI HOT 2
- tmt doesn't cancel the provision process when users "ctrl-c" the "tmt run/try" command during provision process
- finish step will Not remove the guest if it's not provisioned successfully
- report: junit: resulting xml to include relevant test run information
- `tmt` doesn't fail on invalid YAML keys HOT 1
- tmt leapp upgrade failed if the case not in default-0 group
- CentOS 7 is EOL, find a replacement for its repositories HOT 2
- dist-git: Make sure to pick fmf root from extracted sources
- Doc: Move `Class overview` section somewhere more prominent HOT 2
- Fix Polarion export/import generating UUID to use library code from tmt.identifier
- RFE: allow test dependency packages to be installed on test phase and not on plan preparation HOT 8
- tmt run failed if no "keyname" is specified for artemis HOT 1
- Enabled/Disable Prepare step by adjusting environment variables HOT 3
- `tmt plans lint` does have hidden local cache in /home/user directory, which contents are not updated when the command is called
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tmt.