3. Blueprint¶
The modern landscapes of information infrastructures are commonly designed and organized as stacks of heterogeneous runtime environments with common frameworks. These contain frequently various heterogeneous components which has to be tested as integrated applications. The setuptestx supports a common call interface for the major implementations and releases of Python on various operating systems and their variants of distributions.
The setuptestx is hereby the low-level part, while the more complex test envitonment is provided by epyunit [EPYUNIT].
The current provided extensions are:
Test automation for the unittest of multiple combined source packages:
python setup.py testx # supports the major implementations: # CPython, IPython, PyPY : Python2.7, and Python3.5+ # IronPython, Jython : Python2.7 # # OS see Tested Platforms
Based on mostly defaults it is for example a simple task to use different installed Python implementations and releases by using the –implementation option or the short form -i:
CPython - see Howto CPython:
python setup.py testx --print-vinfo -i python python setup.py testx --print-vinfo -i python3 python setup.py testx --print-vinfo -i python3.5 python setup.py testx --print-vinfo -i python2
IPython - see Howto IPython:
python setup.py testx --print-vinfo -i ipython python setup.py testx --print-vinfo -i ipython2 python setup.py testx --print-vinfo -i ipython3
IronPython - see Howto IronPython:
Jython:
python setup.py testx --print-vinfo -i jython
PyPy - see Howto PyPy:
python setup.py testx --print-vinfo -i pypy python setup.py testx --print-vinfo -i pypy2 python setup.py testx --print-vinfo -i pypy3
The setuptestx supports hereby basic subprocess calls by os.system(), thus supports the modification of the called environment by shell inheritance. For example in case of the bash:
PATH=/opt/pypy/pypy3.5-5.10.1/bin/:$PATH python setup.py testx --print-vinfo -i pypy
For more advanced options refer to a never release of the epyunit [EPYUNIT].