After the initial hint  describing the very first steps with
tmt let's have a look at the available test execution options.
The following user story was at the very beginning of tmt:
As a tester or developer, I want to easily run tests
in my preferred environment.
Do you want to safely run tests without breaking your laptop? Use
the default provision method 'virtual' which will execute tests
under a virtual machine using libvirt with the help of testcloud:
Would you like to execute tests a bit faster and don't need the
full virtualization support? Run them in a container using podman:
tmt run --all provision --how container
Do you have an already prepared box where everything's ready for
testing and you often ssh to it to experiment safely?
tmt run --all provision --how connect --guest my.test.box
Do you know exactly what the tests are doing and feel safe to
quickly run them directly on your localhost?
tmt run -a provision -h local
Note that some provision methods require additional dependencies.
Installing them is easy as well:
sudo dnf install -y tmt-provision-container
sudo dnf install -y tmt-provision-virtual
See the tmt guide  and examples  for some more inspiration.
Happy testing! :-)
I was torn whether to share this here or not. I don't want to be the one who
always complains about things, but at the end I've decided that without honest
feedback, there cannot be progress (and I've realized I already am that guy).
Please don't take this feedback personally, I know that building things is hard.
I don't criticize people, but the tools.
Almost 2 years ago, we've decided to be the early adopters of gating in Fedora
with the python-virtualenv package:
Gating has proved more problematic than useful. It almost never works reliably,
the problems are impossible to decipher and/or debug. Too often we had to ask
for a CI-expert human intervention or straight out waive the results.
The humans we've contacted were always very friendly, helpful and they were able
to solve our issues. However, human-operated CIs unfortunately don't scale very
At first, we assumed the issues will get ironed out with time, but there seem to
be no visible progress.
Moreover, the gating caught 0 issues, because we already test our changes via
I'm not sure if others have similar experience, or if we just got unlucky :(
After a very bumpy ride, we've now removed the (quite incomprehensible) gating
config, because frankly, it just gets in the way:
We will continue to run the CI in pull requests (which isn't perfect either but
at least we have redundancy and we see visible progress there over time) and to
run tests in %check (which works perfectly, but has many unfortunate limitations).
Let me be 100% clear: The situation wrt CI is complex and brings many
interesting challenges, but if I compare it with the dark ages before that, I
would not trade. Thank you everybody for making Fedora a better place to