1{ stdenv, fetchPypi
2, buildPythonApplication, python, pythonOlder
3, mock, nose, pathpy, pyhamcrest, pytest
4, glibcLocales, parse, parse-type, six
5, traceback2
6}:
7buildPythonApplication rec {
8 pname = "behave";
9 version = "1.2.6";
10
11 src = fetchPypi {
12 inherit pname version;
13 sha256 = "11hsz365qglvpp1m1w16239c3kiw15lw7adha49lqaakm8kj6rmr";
14 };
15
16 checkInputs = [ mock nose pathpy pyhamcrest pytest ];
17 buildInputs = [ glibcLocales ];
18 propagatedBuildInputs = [ parse parse-type six ] ++ stdenv.lib.optional (pythonOlder "3.0") traceback2;
19
20 postPatch = ''
21 patchShebangs bin
22 '';
23
24 doCheck = true;
25
26 checkPhase = ''
27 export LANG="en_US.UTF-8"
28 export LC_ALL="en_US.UTF-8"
29
30 pytest test tests
31
32 ${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' features/
33 ${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' tools/test-features/
34 ${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' issue.features/
35 '';
36
37 meta = with stdenv.lib; {
38 homepage = https://github.com/behave/behave;
39 description = "behaviour-driven development, Python style";
40 license = licenses.bsd2;
41 maintainers = with maintainers; [ alunduil ];
42 };
43}