1{ lib
2, buildPythonPackage
3, fetchPypi
4, pbr
5, cliff
6, jsonschema
7, testtools
8, paramiko
9, netaddr
10, oslo-concurrency
11, oslo-config
12, oslo-log
13, stestr
14, oslo-serialization
15, oslo-utils
16, fixtures
17, pyyaml
18, subunit
19, stevedore
20, prettytable
21, urllib3
22, debtcollector
23, hacking
24, oslotest
25, bash
26, python
27}:
28
29buildPythonPackage rec {
30 pname = "tempest";
31 version = "32.0.0";
32
33 src = fetchPypi {
34 inherit pname version;
35 sha256 = "sha256-MPaGhT2H8Hzk29qylQru9Z6QaRrHM+9I7N5qhe9Wts4=";
36 };
37
38 propagatedBuildInputs = [
39 pbr
40 cliff
41 jsonschema
42 testtools
43 paramiko
44 netaddr
45 oslo-concurrency
46 oslo-config
47 oslo-log
48 stestr
49 oslo-serialization
50 oslo-utils
51 fixtures
52 pyyaml
53 subunit
54 stevedore
55 prettytable
56 urllib3
57 debtcollector
58 ];
59
60 checkInputs = [
61 stestr
62 hacking
63 oslotest
64 ];
65
66 checkPhase = ''
67 # Tests expect these applications available as such.
68 mkdir -p bin
69 export PATH="$PWD/bin:$PATH"
70 printf '#!${bash}/bin/bash\nexec ${python.interpreter} -m tempest.cmd.main "$@"\n' > bin/tempest
71 printf '#!${bash}/bin/bash\nexec ${python.interpreter} -m tempest.cmd.subunit_describe_calls "$@"\n' > bin/subunit-describe-calls
72 chmod +x bin/*
73
74 stestr --test-path tempest/tests run -e <(echo "
75 tempest.tests.lib.cli.test_execute.TestExecute.test_execute_with_prefix
76 ")
77 '';
78
79 pythonImportsCheck = [ "tempest" ];
80
81 meta = with lib; {
82 description = "An OpenStack integration test suite that runs against live OpenStack cluster and validates an OpenStack deployment";
83 homepage = "https://github.com/openstack/tempest";
84 license = licenses.asl20;
85 maintainers = teams.openstack.members;
86 };
87}