summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrei Zeliankou <zelenkov@nginx.com>2021-01-13 06:24:32 +0000
committerAndrei Zeliankou <zelenkov@nginx.com>2021-01-13 06:24:32 +0000
commit22dac5bd62d19c0f8743b63ec8c47b3b071eb000 (patch)
treec75b0cfd3e84329876ad8acc9c8b368ff2977f2d
parentdb9b70932b2e3e4df8b4bcdb24fedce042da15aa (diff)
downloadunit-22dac5bd62d19c0f8743b63ec8c47b3b071eb000.tar.gz
unit-22dac5bd62d19c0f8743b63ec8c47b3b071eb000.tar.bz2
Tests: "language_deps" option checked more carefully.
-rw-r--r--test/test_python_isolation.py32
1 files changed, 12 insertions, 20 deletions
diff --git a/test/test_python_isolation.py b/test/test_python_isolation.py
index aa96af51..e1a42c98 100644
--- a/test/test_python_isolation.py
+++ b/test/test_python_isolation.py
@@ -2,6 +2,9 @@
import pytest
from unit.applications.lang.python import TestApplicationPython
from unit.option import option
+from unit.utils import findmnt
+from unit.utils import waitformount
+from unit.utils import waitforunmount
class TestPythonIsolation(TestApplicationPython):
@@ -60,39 +63,28 @@ class TestPythonIsolation(TestApplicationPython):
), 'application exists in rootfs'
def test_python_isolation_rootfs_no_language_deps(self, is_su, temp_dir):
- isolation_features = option.available['features']['isolation'].keys()
-
if not is_su:
- if not 'unprivileged_userns_clone' in isolation_features:
- pytest.skip('requires unprivileged userns or root')
-
- if 'user' not in isolation_features:
- pytest.skip('user namespace is not supported')
-
- if 'mnt' not in isolation_features:
- pytest.skip('mnt namespace is not supported')
-
- if 'pid' not in isolation_features:
- pytest.skip('pid namespace is not supported')
+ pytest.skip('requires root')
isolation = {
'rootfs': temp_dir,
'automount': {'language_deps': False}
}
- if not is_su:
- isolation['namespaces'] = {
- 'mount': True,
- 'credential': True,
- 'pid': True
- }
-
self.load('empty', isolation=isolation)
+ assert findmnt().find(temp_dir) == -1
assert (self.get()['status'] != 200), 'disabled language_deps'
+ assert findmnt().find(temp_dir) == -1
isolation['automount']['language_deps'] = True
self.load('empty', isolation=isolation)
+ assert findmnt().find(temp_dir) == -1
assert (self.get()['status'] == 200), 'enabled language_deps'
+ assert waitformount(temp_dir), 'language_deps mount'
+
+ self.conf({"listeners": {}, "applications": {}})
+
+ assert waitforunmount(temp_dir), 'language_deps unmount'