summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorAndrei Zeliankou <zelenkov@nginx.com>2020-12-09 16:17:46 +0000
committerAndrei Zeliankou <zelenkov@nginx.com>2020-12-09 16:17:46 +0000
commit7be62c3c213c3da1da1a45c8db16192eb0ed14d8 (patch)
tree6c44a78d9e8fb357998f887390b472497a953d35 /test
parent4c846ae69308983050a55f6467c2d53e78120e0b (diff)
downloadunit-7be62c3c213c3da1da1a45c8db16192eb0ed14d8.tar.gz
unit-7be62c3c213c3da1da1a45c8db16192eb0ed14d8.tar.bz2
Tests: TestUnit class removed.
Prerequisite checks moved to the fixture in conftest.py.
Diffstat (limited to '')
-rw-r--r--test/conftest.py34
-rw-r--r--test/unit/http.py3
-rw-r--r--test/unit/main.py36
3 files changed, 35 insertions, 38 deletions
diff --git a/test/conftest.py b/test/conftest.py
index 07d5f059..5c8da65f 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -184,6 +184,40 @@ def pytest_runtest_makereport(item, call):
setattr(item, "rep_" + rep.when, rep)
+@pytest.fixture(scope='class', autouse=True)
+def check_prerequisites(request):
+ cls = request.cls
+ missed = []
+
+ # check modules
+
+ if 'modules' in cls.prerequisites:
+ available_modules = list(option.available['modules'].keys())
+
+ for module in cls.prerequisites['modules']:
+ if module in available_modules:
+ continue
+
+ missed.append(module)
+
+ if missed:
+ pytest.skip('Unit has no ' + ', '.join(missed) + ' module(s)')
+
+ # check features
+
+ if 'features' in cls.prerequisites:
+ available_features = list(option.available['features'].keys())
+
+ for feature in cls.prerequisites['features']:
+ if feature in available_features:
+ continue
+
+ missed.append(feature)
+
+ if missed:
+ pytest.skip(', '.join(missed) + ' feature(s) not supported')
+
+
@pytest.fixture(autouse=True)
def run(request):
unit = unit_run()
diff --git a/test/unit/http.py b/test/unit/http.py
index ae74eac3..57e6ed3a 100644
--- a/test/unit/http.py
+++ b/test/unit/http.py
@@ -7,11 +7,10 @@ import select
import socket
import pytest
-from unit.main import TestUnit
from unit.option import option
-class TestHTTP(TestUnit):
+class TestHTTP():
def http(self, start_str, **kwargs):
sock_type = kwargs.get('sock_type', 'ipv4')
port = kwargs.get('port', 7080)
diff --git a/test/unit/main.py b/test/unit/main.py
deleted file mode 100644
index 749ff3ab..00000000
--- a/test/unit/main.py
+++ /dev/null
@@ -1,36 +0,0 @@
-import pytest
-from unit.option import option
-
-
-class TestUnit():
- @classmethod
- def setup_class(cls):
- missed = []
-
- # check modules
-
- if 'modules' in cls.prerequisites:
- available_modules = list(option.available['modules'].keys())
-
- for module in cls.prerequisites['modules']:
- if module in available_modules:
- continue
-
- missed.append(module)
-
- if missed:
- pytest.skip('Unit has no ' + ', '.join(missed) + ' module(s)')
-
- # check features
-
- if 'features' in cls.prerequisites:
- available_features = list(option.available['features'].keys())
-
- for feature in cls.prerequisites['features']:
- if feature in available_features:
- continue
-
- missed.append(feature)
-
- if missed:
- pytest.skip(', '.join(missed) + ' feature(s) not supported')