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.
Marek Marczykowski-Górecki
6bc5671491
|
8 years ago | |
---|---|---|
.. | ||
cppcheck | ||
dd_tests | 8 years ago | |
dracut_tests | 8 years ago | |
gettext_tests | 8 years ago | |
glade | 8 years ago | |
gui | 8 years ago | |
install | 8 years ago | |
kickstart_test | ||
lib | 8 years ago | |
logpicker_test | ||
mock | ||
pyanaconda_test | ||
pyanaconda_tests | 8 years ago | |
pylint | 8 years ago | |
regex | ||
regex_tests | 8 years ago | |
storage | 8 years ago | |
storage_test | ||
Makefile.am | 8 years ago | |
Makefile.in | ||
README.rst | 8 years ago | |
__init__.py | 8 years ago | |
nosetests.sh | 8 years ago | |
nosetests_root.sh | ||
run_gui_tests.sh | 8 years ago | |
testenv.sh | 8 years ago | |
usercustomize.py | 8 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!