2.5 KiB
HACKING
The following commands will be useful for anyone writing patches:
./setup.py test # Run local unit test suite
./setup.py pylint # Run a pylint script against the codebase
./setup.py codespell # Run a codespell script against the codebase
Any patches shouldn't change the output of 'test', 'pylint' or 'codespell'. The
'pylint' requires pylint
and
pycodestyle
to be installed. The
'codespell' requires
codespell
to be installed.
Our pylint script uses a blacklist rather than a whitelist approach, so it could throw some false positives or useless messages. If you think your patch exposes one of these, bring it up on the mailing list.
'test*' have a --debug
option if you are hitting problems.
For more options, use ./setup.py test --help
.
One useful way to manually test virt-manager's UI is using libvirt's unit test driver. From the source directory, Launch virt-manager like:
virt-manager --connect test://$PWD/tests/testdriver.xml
This testdriver has many fake XML definitions that can be used to see each bit of virt-manager's UI. It also enables testing the various wizards without having to alter your host virt config.
Also, there's a few standalone specialty tests:
./setup.py test_urls # Test fetching media from distro URLs
./setup.py test_initrd_inject # Test --initrd-inject
We use glade-3 for building virt-manager's UI.
It is recommended you have a fairly recent version of glade-3
. If a small UI
change seems to rewrite the entire glade file, you likely have a too old
(or too new :) glade version.
Submitting patches
Patches should be developed against a git checkout and not a source release(see git repository).
Patches should be sent to the mailing list.
Using git format-patch/send-email is preferred, but an attachment with format-patch output is fine too.
Small patches are acceptable via github pull-request, but anything non-trivial should be sent to the mailing list.
Translations
Translations are handled at fedora.zanata.org
. Please register for a Fedora
account and request access to a translation team, as described at
Translate on Zanata.
And contribute to virt-manager at Zanata.