solus-project / ypkg

Modern, declarative, structured build format
https://solus-project.com/
GNU General Public License v3.0
56 stars 20 forks source link

Python 2+3 version variable and test macros #63

Open kyrios123 opened 5 years ago

kyrios123 commented 5 years ago

Variable Macros (used in the below macros)

Actionable Macros (python unit tests) %python_test and %python3_test

If the PYTHONPATH environment variable is not set, the macro will do it The following cases are handled:

  1. The macro is called without parameters -> use default test function e.g.: %python_test -> python setup.py test

  2. The macro is called with a python script (.py) as parameter -> execute the script with the specified version of python e.g.: %python3_test selftest.py -v -> python3 selftest.py -v

  3. The macro is called with something else as parameter -> execute the command "as it is" e.g.: %python_test py.test -k 'not this_test' -> py.test -k 'not this_test'

The macros will look for the "standard" build directories py2build or py3build and be executed in the current directory if they can't find it, so they can also be used in packages build with autotools for example.

Signed-off-by: Pierre-Yves pyu@riseup.net