Newer Older
1 2

4 5 6 7 8 9 10 11 12 13 14 15
The following commands will be useful for anyone writing patches:

    python setup.py test      : Run local unit test suite
    python setup.py pylint    : Run a pylint script against the codebase

Any patches shouldn't change the output of 'test' or 'pylint'. The
'pylint' requires pylint and python-pep8 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.

16 17
If 'python-coverage' is installed, you can run 'coverage -r' after
'python setup.py test' finished to see a code coverage report.
18 19

'test*' have a --debug option if you are hitting problems.
For more options, use 'python setup.py test --help'.
21 22 23 24

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
26 27 28 29 30

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.

31 32 33 34 35
Also, there's a few standalone specialty tests:

    python setup.py test_urls       : Test fetching media from distro URLs
    python setup.py test_initrd_inject: Test --initrd-inject

36 37 38 39
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.

40 41 42 43 44 45 46 47 48

  Submitting patches

Patches should be developed against a git checkout and _not_ a source
release. The git repo is at


For a web view, see:
50 51 52 53 54 55 56 57 58 59 60 61


Patches should be sent to the mailing list (see README for details). Using
git format-patch/send-email is preferred, but an attachment with
format-patch output is fine too.


For translations, please sign up for transifex.com and contribute to the
62 63 64
virt-manager project, see: