pythonPackages.sentry-sdk: Fix the test suite

This package could not build because the tests require /etc/protocols.
Therefore, make this file available using libredirect.
This commit is contained in:
Laurens Duijvesteijn 2019-12-05 10:24:33 +01:00
parent 4d9ccae632
commit 87af0c71b7

View File

@ -1,4 +1,22 @@
{ stdenv, buildPythonPackage, fetchPypi, isPy3k, urllib3, certifi, django, flask, tornado, bottle, rq, falcon, celery, pyramid, sanic, aiohttp }:
{ aiohttp
, bottle
, buildPythonPackage
, celery
, certifi
, django
, falcon
, fetchPypi
, flask
, iana-etc
, isPy3k
, libredirect
, pyramid
, rq
, sanic
, stdenv
, tornado
, urllib3
}:
buildPythonPackage rec {
pname = "sentry-sdk";
@ -20,4 +38,14 @@ buildPythonPackage rec {
license = licenses.bsd2;
maintainers = with maintainers; [ gebner ];
};
# The Sentry tests need access to `/etc/protocols` (the tests call
# `socket.getprotobyname('tcp')`, which reads from this file). Normally
# this path isn't available in the sandbox. Therefore, use libredirect
# to make on eavailable from `iana-etc`. This is a test-only operation.
preCheck = ''
export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols
export LD_PRELOAD=${libredirect}/lib/libredirect.so
'';
postCheck = "unset NIX_REDIRECTS LD_PRELOAD";
}