• [gentoo-dev] [PATCH 0/5] python-utils-r1.eclass: epytest improvements

    From =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?@21:1/5 to All on Mon Jun 23 20:50:01 2025
    Hi,

    A quick batch of patches for epytest & distutils_enable_tests:

    1. Enable --force-short-summary with new enough pytest. This
    effectively reverts recent upstream changes that made "short summary"
    very long, including multi-line exception messages. They are also
    included in tracebacks, so we don't really need them in "short
    summary".

    2. Create "junit .xml" for test results. This is meant to enable
    machine processing in the future. Particularly, gpyutils git
    has a tool that produces EPYTEST_DESELECT lines from these .xml
    files for your convenience. We can also use them to QA for obsolete
    deselects.

    3. A killer feature: EPYTEST_PLUGINS variable along with
    EPYTEST_PLUGIN_AUTOLOAD. The rough idea is that we're transitioning
    towards ebuilds explicitly specifying which plugins they need (when
    possible), with distutils_enable_tests adding dependencies
    and epytest only enabling the plugins we need. This is both a major
    performance gain (loading dozens of plugins is slow) and stability
    improvement (random plugins often break tests).

    --
    Best regards,
    Michał Górny


    Michał Górny (5):
    python-utils-r1.eclass: epytest, pass --force-short-summary
    python-utils-r1.eclass: epytest, create junit xml
    python-utils-r1.eclass: Introduce EPYTEST_PLUGINS
    distutils-r1.eclass: Add dependencies for EPYTEST_PLUGINS
    dev-python/asgiref: Use EPYTEST_PLUGINS

    dev-python/asgiref/asgiref-3.8.1.ebuild | 7 +-
    eclass/distutils-r1.eclass | 14 +++
    eclass/python-utils-r1.eclass | 155 +++++++++++++++++++++++-
    3 files changed, 169 insertions(+), 7 deletions(-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)