diff options
author | Tiago Natel de Moura <t.nateldemoura@f5.com> | 2020-09-09 19:28:44 +0100 |
---|---|---|
committer | Tiago Natel de Moura <t.nateldemoura@f5.com> | 2020-09-09 19:28:44 +0100 |
commit | c2eb245b32870b6360079ff9a4b063a7cd84d585 (patch) | |
tree | 524a86a1f160e6698aa1f0afb5bd812da2cd9a5c /test/test_python_isolation.py | |
parent | d491527555c076695a4202577198e12bf0b919ec (diff) | |
download | unit-c2eb245b32870b6360079ff9a4b063a7cd84d585.tar.gz unit-c2eb245b32870b6360079ff9a4b063a7cd84d585.tar.bz2 |
PHP: fixed "rootfs" isolation dependency on system mounts.
Diffstat (limited to 'test/test_python_isolation.py')
-rw-r--r-- | test/test_python_isolation.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/test_python_isolation.py b/test/test_python_isolation.py index 564ec79c..59ac670a 100644 --- a/test/test_python_isolation.py +++ b/test/test_python_isolation.py @@ -65,3 +65,33 @@ class TestPythonIsolation(TestApplicationPython): assert ( ret['body']['FileExists'] == True ), 'application exists in rootfs' + + def test_python_isolation_rootfs_no_language_deps(self, is_su): + isolation_features = self.available['features']['isolation'].keys() + + if 'mnt' not in isolation_features: + pytest.skip('requires mnt ns') + + if not is_su: + if 'user' not in isolation_features: + pytest.skip('requires unprivileged userns or root') + + if not 'unprivileged_userns_clone' in isolation_features: + pytest.skip('requires unprivileged userns or root') + + isolation = { + 'namespaces': {'credential': not is_su, 'mount': True}, + 'rootfs': self.temp_dir, + 'automount': {'language_deps': False} + } + + self.load('empty', isolation=isolation) + + assert (self.get()['status'] != 200), 'disabled language_deps' + + isolation['automount']['language_deps'] = True + + self.load('empty', isolation=isolation) + + assert (self.get()['status'] == 200), 'enabled language_deps' + |