pythonPackages.thumbor: run tests

This commit is contained in:
Jaakko Luttinen 2018-10-27 16:17:52 +03:00 committed by Maximilian Bosch
parent cfaf696a7b
commit 336f11c3b1
No known key found for this signature in database
GPG key ID: 091DBF4D1FC46B8E

View file

@ -1,6 +1,8 @@
{ buildPythonPackage, tornado, pycrypto, pycurl, pytz
, pillow, derpconf, python_magic, pexif, libthumbor, opencv, webcolors
, piexif, futures, statsd, thumborPexif, fetchPypi, isPy3k, lib
{ buildPythonPackage, python, tornado, pycrypto, pycurl, pytz
, pillow, derpconf, python_magic, libthumbor, webcolors
, piexif, futures, statsd, thumborPexif, fetchFromGitHub, isPy3k, lib
, mock, raven, nose, yanc, remotecv, pyssim, cairosvg1, preggy, opencv3
, pkgs, coreutils
}:
buildPythonPackage rec {
@ -9,16 +11,38 @@ buildPythonPackage rec {
disabled = isPy3k; # see https://github.com/thumbor/thumbor/issues/1004
src = fetchPypi {
inherit pname version;
sha256 = "1icfnzwzi5lvnh576n7v3r819jaw15ph9ja2w3fwg5z9qs40xvl8";
# Tests aren't included in PyPI tarball so use GitHub instead
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "1ys5ymwbvgh2ir85g9nyrzzf8vgi16j6pzzi53b0rgjx0kwlmnxg";
};
postPatch = ''
substituteInPlace "setup.py" \
--replace '"argparse",' "" ${lib.optionalString isPy3k ''--replace '"futures",' ""''}
substituteInPlace "tests/test_utils.py" \
--replace "/bin/ls" "${coreutils}/bin/ls"
substituteInPlace "tests/detectors/test_face_detector.py" \
--replace "./thumbor" "$out/lib/${python.libPrefix}/site-packages/thumbor"
substituteInPlace "tests/detectors/test_glasses_detector.py" \
--replace "./thumbor" "$out/lib/${python.libPrefix}/site-packages/thumbor"
'';
checkInputs = [
nose
pyssim
preggy
mock
yanc
remotecv
cairosvg1
raven
pkgs.redis
pkgs.glibcLocales
];
propagatedBuildInputs = [
tornado
pycrypto
@ -27,18 +51,26 @@ buildPythonPackage rec {
pillow
derpconf
python_magic
pexif
libthumbor
opencv
opencv3
webcolors
piexif
statsd
pkgs.exiftool
pkgs.libjpeg
pkgs.ffmpeg
pkgs.gifsicle
] ++ lib.optionals (!isPy3k) [ futures thumborPexif ];
# disabled due to too many impure tests and issues with native modules in
# the pure testing environment. See https://github.com/NixOS/nixpkgs/pull/37147
# for further reference.
doCheck = false;
# Remove the source tree before running nosetests because otherwise nosetests
# uses that instead of the installed package. Is there some other way to
# achieve this?
checkPhase = ''
redis-server --port 6668 --requirepass hey_you &
rm -r thumbor
export LC_ALL="en_US.UTF-8"
nosetests -v --with-yanc -s tests/
'';
meta = with lib; {
description = "A smart imaging service";