From e2fb29b792cb9cf2416c6292ece56c09a89bdcc9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 11 Sep 2019 23:22:10 +0900 Subject: [PATCH] gnu: python-pytest-virtualenv: Enable tests. * gnu/packages/python-check.scm (python-pytest-virtualenv) [phases]{patch-virtualenv-executable}: New phase. [propagated-inputs]: Move python-virtualenv from here... [inputs]: ...to here. --- gnu/packages/python-check.scm | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 676dae5430..b8aaef9b77 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2019 Ricardo Wurmus ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Efraim Flashner +;;; Copyright © 2019 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -226,11 +227,27 @@ (define-public python-pytest-virtualenv (base32 "03w2zz3crblj1p6i8nq17946hbn3zqp9z7cfnifw47hi4a4fww12")))) (build-system python-build-system) - (arguments '(#:tests? #f)) ; one test fails; can't find virtualenv + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Reference the virtualenv executable directly, to avoid the need + ;; for PYTHONPATH, which gets cleared when instantiating a new + ;; virtualenv with pytest-virtualenv. + (add-after 'unpack 'patch-virtualenv-executable + (lambda* (#:key inputs #:allow-other-keys) + (let* ((virtualenv (assoc-ref inputs "python-virtualenv")) + (virtualenv-bin (string-append virtualenv + "/bin/virtualenv"))) + (substitute* "pytest_virtualenv.py" + (("^DEFAULT_VIRTUALENV_FIXTURE_EXECUTABLE.*$") + (format #f "DEFAULT_VIRTUALENV_FIXTURE_EXECUTABLE = '~a'" + virtualenv-bin))) + #t)))))) (propagated-inputs - `(("python-virtualenv" ,python-virtualenv) - ("python-pytest-shutil" ,python-pytest-shutil) + `(("python-pytest-shutil" ,python-pytest-shutil) ("python-pytest-fixture-config" ,python-pytest-fixture-config))) + (inputs + `(("python-virtualenv" ,python-virtualenv))) (native-inputs `(("python-mock" ,python-mock) ("python-pytest" ,python-pytest)