Re: Compiled C modules are not found by test suite (Was: Help needed for python-biopython which splits up modules into two packages per Python version)
Hi Piotr,
On Sat, Mar 15, 2014 at 12:52:41PM +0100, Piotr Ożarowski wrote:
>
> pybuild takes care of "distutils cannot find files it build in previous
> step and has to build them again" problem. I just checked
> python-biopython and all .so files are in the right location
> (yey pybuild! :).
>
> The problem is package's root directory has higher priority on sys.path
> and your package has both Bio and BioSQL it there (instead of in src or lib
> directory, like other upstreams do... you know... "Python standards")
>
> anyway, that's one of the reasons I do this in pybuild:
>
> cd BUILD_DIRECTORY; run_tests
>
> this way files from you package's root directory are not taken into account.
Ahhh, thanks for the explanation.
> To fix your problem apply this change (not tested, because clean target
> is not doing the right thing and I'm too lazy to fix it):
Sorry for the broken clean target (which is only broken if the build
interrupts in the test itself.) I fixed this in SVN.
> - dh_auto_test -- --test --system=custom --test-args='env DIALIGN2_DIR=/usr/share/dialign EMBOSS_ROOT=/usr/lib/emboss PYTHONPATH={build_dir} {interpreter} setup.py test'
> + dh_auto_test -- --test --system=custom --test-args='env DIALIGN2_DIR=/usr/share/dialign EMBOSS_ROOT=/usr/lib/emboss; cd {build_dir}; {interpreter} setup.py test'
Unfortunately this does not work since
env <setvariables> ;
doese not "survive" the
cd {build_dir}
I tried
dh_auto_test -- --test --system=custom --test-args='cd {build_dir}; env DIALIGN2_DIR=/usr/share/dialign EMBOSS_ROOT=/usr/lib/emboss {interpreter} ../setup.py test'
instead but this fails as well. :-(
Any better idea?
Thanks for any help
Andreas.
--
http://fam-tille.de
Reply to: