[arch-dev-public] Unit tests for python packages

Baptiste Jonglez baptiste at bitsofnetworks.org
Wed Apr 18 13:04:54 UTC 2018


On 18-04-18, Levente Polyak wrote:
> On April 18, 2018 11:53:01 AM GMT+02:00, Baptiste Jonglez <baptiste at bitsofnetworks.org> wrote:
> >So far, the only working solution I found is playing with PYTHONPATH:
> >
> >    cd "$srcdir/$pkgname-$pkgver/tests"
> >    export PYTHONPATH="$srcdir/$pkgname-$pkgver/src"
> >    python -m unittest discover
> >
> 
> If you use a build function there shouldn't be any problems like 2to3
> while running tests, everything should be converted / build and
> generated for the use of tests.

I do use a build function: https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/python-pybtex

The problem is that this package is written in python2 and relies on 2to3.
If I just run the tests with python3 in the source directory, like this:

    cd "$srcdir/pybtex-$pkgver"
    export PYTHONPATH="$srcdir/pybtex-$pkgver"
    nosetests

it fails with lots of syntax errors, because the code is python2.

I tried to run the tests in the build directory, where 2to3 has been applied:

    cd "$srcdir/pybtex-$pkgver/build/lib"
    export PYTHONPATH="$srcdir/pybtex-$pkgver/build/lib"
    nosetests

It works better, but a lot of tests fail because they can't load some
stuff from the package: https://paste.aliens-lyon.fr/vam

The same tests with python2 work fine in the source dir, and fail in the
build/lib dir.  So there's something strange going on with the build dir.

> For certain upstream test setups there won't be much you can do other then PYTHONPATH but as mentioned with a build function it should always work.
> You can give python-pytest-runner a go, it does proper resolution while running "python setup.py test" but requires certain ways the whole test suites are wired.

It looks like this will only work for packages that use pytest?

Thanks,
Baptiste
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/arch-dev-public/attachments/20180418/5c908abd/attachment.asc>


More information about the arch-dev-public mailing list