You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qubes-installer-qubes-os/anaconda/tests
Marek Marczykowski-Górecki 6bc5671491
anaconda: update to 25.20.9-1
7 years ago
..
cppcheck anaconda: update to 21.48.21-1 8 years ago
dd_tests anaconda: update to 25.20.9-1 7 years ago
dracut_tests anaconda: update to 25.20.9-1 7 years ago
gettext_tests anaconda: update to 25.20.9-1 7 years ago
glade anaconda: update to 25.20.9-1 7 years ago
gui anaconda: update to 25.20.9-1 7 years ago
install anaconda: update to 25.20.9-1 7 years ago
kickstart_test Update anaconda to 20.25.16 10 years ago
lib anaconda: update to 25.20.9-1 7 years ago
logpicker_test Update anaconda to 20.25.16 10 years ago
mock Update anaconda to 20.25.16 10 years ago
pyanaconda_test Update anaconda to 20.25.16 10 years ago
pyanaconda_tests anaconda: update to 25.20.9-1 7 years ago
pylint anaconda: update to 25.20.9-1 7 years ago
regex Update anaconda to 20.25.16 10 years ago
regex_tests anaconda: update to 25.20.9-1 7 years ago
storage anaconda: update to 25.20.9-1 7 years ago
storage_test Update anaconda to 20.25.16 10 years ago
Makefile.am anaconda: update to 25.20.9-1 7 years ago
Makefile.in anaconda: import unmodified 18.37.11 version from fc18 12 years ago
README.rst anaconda: update to 25.20.9-1 7 years ago
__init__.py anaconda: update to 25.20.9-1 7 years ago
nosetests.sh anaconda: update to 25.20.9-1 7 years ago
nosetests_root.sh anaconda: Update to 23.19.10 8 years ago
run_gui_tests.sh anaconda: update to 25.20.9-1 7 years ago
testenv.sh anaconda: update to 25.20.9-1 7 years ago
usercustomize.py anaconda: update to 25.20.9-1 7 years ago

README.rst

Testing Anaconda
================

Before testing Anaconda you need to install all required dependencies,
prepare the environment and build the sources::

    make -f Makefile.am install-test-requires
    ./autogen.sh
    ./configure
    make

Executing the tests can be done with::

    make check

To run a single test do::

    make TESTS=install/run_install_test.sh check

See `tests/Makefile.am` for possible values. Alternatively you can try::

    make ci

This has the advantage of producing Python test coverage for all tests.
In case the *ci* target fails there is also a *coverage-report* target
which can be used to combine the multiple `.coverage` files into one and
produce a human readable report.

.. NOTE::

    When using the `ci' target you need to use a regular user account which
    is a member of the `mock' group. You can update your account by running
    the command::

        # usermod -a -G mock <username>

    Your regular user account also needs to execute `sudo' because some tests
    require root privileges!

Test Suite Architecture
------------------------

Anaconda has a complex test suite structure where each top-level directory
represents a different class of tests. They are

- *cppcheck/* - static C/C++ code analysis using the *cppcheck* tool;
- *dd_tests/* - Python unit tests for driver disk utilities (utils/dd);
- *dracut_tests/* - Python unit tests for the dracut hooks used to configure the
  installation environment and load Anaconda;
- *gettext/* - sanity tests of files used for translation; Written in Python and
  Bash;
- *glade/* - sanity tests for .glade files. Written in Python;
- *gui/* - specialized test suite for the graphical interface of anaconda. This
  is written in Python and uses the `dogtail <https://fedorahosted.org/dogtail/>`_
  accessibility module. All tests are executed using ./anaconda.py from the local
  directory;
- *install/* - basic RPM sanity test. Checks if anaconda.rpm can be installed in
  a temporary directory without failing dependencies or other RPM issues;
- *lib/* - helper modules used during testing;
- *pyanaconda_tests/* - unit tests for the :mod:`pyanaconda` module;
- *pylint/* - checks the validity of Python source code using the *pocketlint*
  tool;
- *regex_tests/* - Python unit tests for regular expressions defined in
  :mod:`pyanaconda.regexes`;
- *storage/* - test cases used to verify partitioning scenarios for success or
  expected failures. The scenarios are described using kickstart snippets.
  Written in Python with a custom test case framework based on
  `blivet <https://github.com/rhinstaller/blivet>`_;



.. NOTE::

    All Python unit tests inherit from the standard :class:`unittest.TestCase`
    class unless specified otherwise!

    Some tests require root privileges and will be skipped if running as regular
    user!