Comments (9)
If we could make tmt a library, that the runner could use, that would be the best
from tmt.
Thanks for the feedback. Good idea to separate listing info and executing tests. What about introducing a testset
subcommand which could cover metadata investigation but could be also combined with test execution? It could look like this:
List available testsets:
tmt testset --list
Include gathered details about individual test steps in the output (basically what the tool does now):
tmt testset --list --steps
or
tmt testset --list --verbose
Filter available test sets:
tmt testset --list --filter REGEXP
Use together with test execution (e.g. select only test sets relevant for pull requests):
tmt testset --filter ^/ci/test/pull-request
tmt prepare execute testset --filter ^/ci/test/pull-request
I think the test execution should be the primary use case for the command line so I'd suggest to make the syntax for that super-short (preferrably without the extra run
command).
tmt
tmt execute
tmt prepare execute
tmt provision prepare execute
What do you think?
from tmt.
Regarding the podman
dependency and containerized runner: Agreed to have the support from the start but I'd propose to enable super-minimal-dependencies as well, meaning for those use cases when you just want to execute tests on a prepared vm/localhost without fetching any container/distro images.
from tmt.
@psss in regards to the first comment, it would also solve the situation :)
In regards to second, this will mean that we will need to add additional rpm dependencies to tmt, like ansible (for how: ansible
), standard-test-roles (for how: sti
, once we use it). By using a container this can be avoided. But I get your idea. The only thing that bugs me is how to solve both use cases without implementing the same functionality in the runner and in tmt.
from tmt.
So we do not have a duplicate functionality. That would mean abstracting away the command run (in case of localhost it would run directly commands on localhost, in case of the runner remotly via ssh). What do you think @psss? Also it would make sense to speak about this with @happz if there is no issue moving this forward like this,
from tmt.
Maybe the problem with the various dependencies we could just simply solve by having the various backends as subpackages in the future (tmt, tmt-sti, tmt-beakerlib, etc.)
from tmt.
@psss and also ... so for interaction with the CI systems runs we will have another tool? that is what you are suggesting?
from tmt.
Yeah, I like very much the idea of a common library. The major functionality should be implemented in the python module, the command line interface should be very simple/basic/dumb. If there si need for extra requirements I would agree the subpackage approach could be a nice way. That would allow minimal installation of python3-tmt
for integration with CI, tmt
for simple command line with only basic test execution on localhost and additional plugins such as tmt-sti
or tmt-beakerlib
for more.
from tmt.
I believe we've covered raised questions in the comment above and in person. Closing. Feel free to reopen if anything essential still needs to be addressed.
from tmt.
Related Issues (20)
- Ansible package dependency for prepare, finish steps
- Ansible package dependency for prepare, finish steps
- Expose CLI invocation reset HOT 1
- Deprecation warning with docutils `frontend.OptionParser`
- `test.require` does not work with `context.distro` HOT 2
- Adjust on `provision.how` HOT 4
- Installing a local package does not work
- "Check first" and "Skip broken" flags are broken for installation of packages provided as files HOT 1
- Hard to debug `tmt plans ls` with remote plans HOT 1
- Ansible prepare step of imported plan does not work HOT 1
- 1.33 regression: `dist-git-source` behaves differently in different provisions HOT 5
- 1.33 regression: Ssh fails with tmt-reproducer.sh HOT 2
- RFE: `tmt test id` option to check for duplicate IDs HOT 5
- Enable `vcpu`s number for `virtual` provisioning step HOT 1
- Load `resource_files` from external project
- Require an explicit user confirmation that 'provision -h local' can be executed'
- Suggesting additional sources for test requirements HOT 2
- All `tmt try` to accept generic steps options from `tmt run` HOT 6
- Prepare step should allow the run to continue on missing test requirements HOT 1
- Allow custom failure patterns in dmesg in test plan
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.