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