Created attachment 312681 [details, diff] ebuild patch # sudo USE_PYTHON="2.5 2.6 2.7 2.7-pypy-1.8 3.1 3.2" USE=doc ebuild logilab-common-0.58.0.ebuild clean install merge >>> Original instance of package unmerged safely. * Compilation and optimization of Python modules for CPython 2.5 [ ok ] * Compilation and optimization of Python modules for CPython 2.6 [ ok ] * Compilation and optimization of Python modules for CPython 2.7 [ ok ] * Compilation and optimization of Python modules for PyPy 1.8 (Python 2.7) [ ok ] * Compilation and optimization of Python modules for CPython 3.1 [ ok ] * Compilation and optimization of Python modules for CPython 3.2 [ ok ] Tests are ruined. docs sitting seemingly previously missed.
All tests pass with CPython 2.6 and 2.7. Failures with Python 3 are not caused by any absolute paths. No need to add such junk in src_test().
Created attachment 312925 [details, diff] revised ebuild patch Tonight they work. Reduced in place of expanding. archtester logilab-common # USE_PYTHON="2.6 2.7 3.1" ebuild logilab-common-0.58.0.ebuild clean test ******************************************************************************* Ran 414 test cases in 11.38s (0.36s CPU), 1 skipped All 23 modules OK * Testing of dev-python/logilab-common-0.58.0 with CPython 3.1 skipped
No need to skip tests with Python 3. Their failures cause only a warning, not die().
1 more layer to go then it seems. mb someone else could do a test
Created attachment 313037 [details, diff] revised ebuild patch Point 1. Python3 does fail some tests despite "Their failures cause only a warning, not die()." ------------------------------------------------------------------- From progress' own with PYTHON_TESTS_FAILURES_TOLERANT_ABIS unset. archtester logilab-common # PYTHON_ABIS=3.2 ebuild logilab-common-0.58.0-r1000.ebuild clean test Ran 318 test cases in 11.39s (0.38s CPU), 15 errors, 2 failures, 22 skipped 16 modules OK (7 failed) * ERROR: dev-python/logilab-common-0.58.0-r1000 failed (test phase): --------------------------------------------------------------------- Back to gx86 and point 2; PYTHONPATH= warrants re-inclusion. "${tpath}${EPREFIX}/usr/bin/pytest" -v || return 1works fine for python2. For python3 the above yields; Ran 318 test cases in 11.35s (0.34s CPU), 17 errors, 2 failures, 22 skipped 15 modules OK (8 failed) && PYTHONPATH=.:/logilab/common/test "${tpath}${EPREFIX}/usr/bin/pytest" -v || return 1 yields Ran 318 test cases in 11.40s (0.38s CPU), 15 errors, 2 failures, 22 skipped 16 modules OK (7 failed) so for python3 the addition of PYTHONPATH= assists in 1 test importing something it doesn't without it set. This == result of logilab-common-0.58.0-r1000.ebuild. Also use of "$(PYTHON)" appears to be quite superfluous since ${EPREFIX}/usr/bin/pytest has the shebang #!/usr/bin/python3.2 -u ----------------------------------------------------------------- archtester logilab-common # USE_PYTHON=2.7 ebuild logilab-common-0.58.0.ebuild clean test yields ******************************************************************************* Ran 414 test cases in 11.38s (0.35s CPU), 1 skipped All 23 modules OK
(In reply to comment #5) PYTHON_TESTS_FAILURES_TOLERANT_ABIS is to change calls to die() to calls to ewarn().
logilab-common # eix logilab-common [I] dev-python/logilab-common Available versions: 0.55.2 (~)0.57.1 (~)0.57.2 (~)0.58.1 {{test}}