There are two ways to install and use MTF: to set up it locally or alternatively on a virtual machine via the Vagrant tool.
Vagrant is a tool to aid developers in quickly deploying development environments. There is a Vagrantfile in the meta-test-family git repository on GitHub that can automatically deploy a virtual machine on your host with a MTF environment configured.
The MTF tool has been made available for use of two providers:
libvirt (for Linux host only) and
virtualbox (for MAC OS, Windows and Linux hosts), where
libvirt is a default one. See more about Vagrant providers here.
This document assumes that you are running a recent version of Fedora although these steps should be roughly the same on other distributions, just be aware that package managers and names can differ if you are not using Fedora as your host. Consult Vagrant installation documentation to set up Vagrant for a different platform and adjuest the steps of this document accordingly.
Before you start using Vagrant-libvirt, please make sure your libvirt and qemu installation is working correctly and you are able to create qemu or kvm type virtual machines with virsh or virt-manager.
- Install Vagrant. Ensure that
vagrant-libvirtis among pulled dependencies.
# install Vagrant $ sudo dnf -y install vagrant
# start libvirtd service $ sudo systemctl start libvirtd
After preparing the libvirt prerequisites using the instructions above:
- You are now prepared to check out the MTF code into your preferred location.
# cd to your prefered location $ cd $HOME/ # Season to taste. $ git clone https://github.com/fedora-modularity/meta-test-family.git
- Next, enter into the
# cd in meta-test-family $ cd meta-test-family
- The MTF tool provides a configuration Vagrantfile that you can use to configure the Vagrant environment as given or open the Vagrantfile in your favorite editor and modify it to better fit your development preferences. This step is entirely optional as the default Vagrantfile should work for most users.
# vim Vagrantfile $ vim Vagrantfile
- If you’ve happy with the Vagrantfile, you can begin provisioning your Vagrant environment. Finish by running
vagrant reloadto reboot machine after provisioning and apply the latest kernel updates.
# Provision the Vagrant environment: $ sudo vagrant up --provider=libvirt # or just `sudo vagrant up` as libvirt is a default one # Alternatively, set the TARGET envvar to test another target defined in examples/testing-module/Makefile $ sudo TARGET=check-pure-docker vagrant up # The above will run for a while while it provisions your development environment. $ sudo vagrant reload # Reboot the machine at the end to apply kernel updates, etc.
- Once you have followed the steps above, you should have a running deployed MTF development machine. Log into your Vagrant environment:
# ssh into the Vagrant environment $ sudo vagrant ssh
MTF installer pulls its latest dependencies:
MTF supports Gherkin-based testing in Python. To write tests in a natural language style, backed up by Python code, install the BBD tool behave . Execute the following command to install behave with pip:
# install behave $ sudo pip install behave
You may also wish to follow the GitHub MTF repo if you have a GitHub account. This stores the source code and the issue tracker for sharing bugs and feature ideas. The repository should be forked into your personal GitHub account where all work will be done. Any changes should be submitted through the pull request process. Please see Contributing Guidelines for more information.