From 91e99899117c8712f5523dbaed4c275900922b43 Mon Sep 17 00:00:00 2001 From: Yurii Rashkovskii Date: Tue, 16 Jan 2018 01:40:40 -0800 Subject: [PATCH] aenum: make tests pass (#33805) For Python 2, tests were failing because they depended on a particular way of executing the tests module as it defined a global variable and created a temporary file. Running it through setup.py didn't work. Invoking it directly solved the issue. For Python 3, aenum tests were disabled, however, they did't have to fail. Configuring UTF8 locale resolved the failure that was happening after the above fix for Python 2 was applied. --- .../python-modules/aenum/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix index 45e7f8915ac..466c20e19ca 100644 --- a/pkgs/development/python-modules/aenum/default.nix +++ b/pkgs/development/python-modules/aenum/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchPypi, buildPythonPackage, isPy3k }: +{ stdenv, fetchPypi, buildPythonPackage, python, isPy3k, glibcLocales }: buildPythonPackage rec { pname = "aenum"; @@ -10,12 +10,17 @@ buildPythonPackage rec { sha256 = "d98bc55136d696fcf323760c3db0de489da9e41fd51283fa6f90205deb85bf6a"; }; - doCheck = !isPy3k; - # The following tests fail (only in python3 - # test_convert (aenum.test.TestIntEnumConvert) - # test_convert_value_lookup_priority (aenum.test.TestIntEnumConvert) - # test_convert (aenum.test.TestIntEnumConvert) - # test_convert_value_lookup_priority (aenum.test.TestIntEnumConvert) + # For Python 3, locale has to be set to en_US.UTF-8 for + # tests to pass + checkInputs = if isPy3k then [ glibcLocales ] else []; + + checkPhase = '' + runHook preCheck + ${if isPy3k then "export LC_ALL=en_US.UTF-8" else ""} + PYTHONPATH=`pwd` ${python.interpreter} aenum/test.py + runHook postCheck + ''; + meta = { description = "Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples, and NamedConstants";