pythonPackages.pyarrow: fix running tests on hydra

This replaces standard checkPhase using setup.py that uses pytest-runner
with an explicit call to pytest. One reason to do that is because
setup.py triggers another rebuild when asked to do "test". Another
reason is that there seems to be a conflict between possible imports for
pyarrow: `pwd`/pyarrow vs $out/pyarrow. By some unknown reason this
triggers an import error on hydra and ofborg, but not on my machine. The
solution here is to remove `pwd`/pyarrow, keep the tests and use direct
call to pytest (setup.py needs `pwd`/pyarrow). The added benefit is that
we are now testing what is installed in $out.
This commit is contained in:
Dmitry Kalinkin 2018-10-25 22:18:18 -04:00
parent 2337c7522a
commit 6ae3cb4d36
No known key found for this signature in database
GPG key ID: 5157B3EC8B2CA333

View file

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, python, isPy3k, fetchurl, arrow-cpp, cmake, cython, futures, JPype1, numpy, pandas, pytest, pytestrunner, pkgconfig, setuptools_scm, six }:
{ lib, buildPythonPackage, python, isPy3k, fetchurl, arrow-cpp, cmake, cython, futures, JPype1, numpy, pandas, pytest, pkgconfig, setuptools_scm, six }:
let
_arrow-cpp = arrow-cpp.override { inherit python; };
@ -13,7 +13,7 @@ buildPythonPackage rec {
nativeBuildInputs = [ cmake cython pkgconfig setuptools_scm ];
propagatedBuildInputs = [ numpy six ] ++ lib.optionals (!isPy3k) [ futures ];
checkInputs = [ pandas pytest pytestrunner JPype1 ];
checkInputs = [ pandas pytest JPype1 ];
PYARROW_BUILD_TYPE = "release";
PYARROW_CMAKE_OPTIONS = "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib";
@ -43,6 +43,14 @@ buildPythonPackage rec {
setupPyBuildFlags = ["--with-parquet" ];
checkPhase = ''
mv pyarrow/tests tests
rm -rf pyarrow
mkdir pyarrow
mv tests pyarrow/tests
pytest -v
'';
meta = with lib; {
description = "A cross-language development platform for in-memory data";
homepage = https://arrow.apache.org/;