From Fedora Project Wiki

< CI

(Create the page with initial Python example)
 
(Migrated to the new Fedora docs site)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
On this page you can find some inspiration from real-life examples of tests already enabled in the Fedora CI.
Moved to: https://docs.fedoraproject.org/en-US/ci/examples/
 
= Python =
 
There are multiple versions of Python programming language available in Fedora and a number of related subpackages. As all of them should be tested (including their various combinatios) we [https://fedoraproject.org/wiki/CI/Share_Test_Code share] test coverage for them in the `tests` namespace:
 
* https://src.fedoraproject.org/tests/python
 
Once the test is avaible in the share test repository it can be easily linked from supported Python versions:
 
* [https://src.fedoraproject.org/rpms/python2/blob/master/f/tests/tests.yml python2] [https://src.fedoraproject.org/rpms/python26/blob/master/f/tests/tests.yml python26]
* [https://src.fedoraproject.org/rpms/python3/blob/master/f/tests/tests.yml python3] [https://src.fedoraproject.org/rpms/python34/blob/master/f/tests/tests.yml python34] [https://src.fedoraproject.org/rpms/python35/blob/master/f/tests/tests.yml python35] [https://src.fedoraproject.org/rpms/python36/blob/master/f/tests/tests.yml python36]
 
We test additional Python implementations as well:
 
* [https://src.fedoraproject.org/rpms/pypy/blob/master/f/tests/tests.yml pypy] [https://src.fedoraproject.org/rpms/pypy3/blob/master/f/tests/tests.yml pypy3]
* [https://src.fedoraproject.org/rpms/jython/blob/master/f/tests/tests.yml jython]
 
Plus we ensure that essential Python tools such as `setuptools`, `virtualenv` or `pip` correctly work with all supported versions:
 
* [https://src.fedoraproject.org/rpms/python-pip/blob/master/f/tests/tests.yml python-pip]
* [https://src.fedoraproject.org/rpms/python-wheel/blob/master/f/tests/tests.yml python-wheel]
* [https://src.fedoraproject.org/rpms/python-setuptools/blob/master/f/tests/tests.yml python-setuptools]
* [https://src.fedoraproject.org/rpms/python-virtualenv/blob/master/f/tests/tests.yml python-virtualenv]
 
Note that for the last set of examples we run the same test several times with modified environment. For example:
 
    - smoke36:
        dir: python/smoke
        run: VERSION=3.6 ./venv.sh
    - smoke37:
        dir: python/smoke
        run: VERSION=3.7 ./venv.sh
    - smoke26:
        dir: python/smoke
        run: VERSION=2.6 METHOD=virtualenv TOX=false ./venv.sh
    - smoke27:
        dir: python/smoke
        run: VERSION=2.7 METHOD=virtualenv ./venv.sh
    - smoke34_virtualenv:
        dir: python/smoke
        run: VERSION=3.4 METHOD=virtualenv ./venv.sh
 
In this way we create several virtual test cases from a single test code which prevents duplication and minimizes future maintenance.

Latest revision as of 15:53, 18 March 2019