summaryrefslogtreecommitdiffhomepage
path: root/test/test_ruby_isolation.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_ruby_isolation.py')
-rw-r--r--test/test_ruby_isolation.py36
1 files changed, 16 insertions, 20 deletions
diff --git a/test/test_ruby_isolation.py b/test/test_ruby_isolation.py
index 3ec06d86..82a12dff 100644
--- a/test/test_ruby_isolation.py
+++ b/test/test_ruby_isolation.py
@@ -1,30 +1,26 @@
-import pytest
from unit.applications.lang.ruby import TestApplicationRuby
-from unit.option import option
+prerequisites = {'modules': {'ruby': 'any'}, 'features': {'isolation': True}}
-class TestRubyIsolation(TestApplicationRuby):
- prerequisites = {'modules': {'ruby': 'any'}, 'features': ['isolation']}
-
- def test_ruby_isolation_rootfs(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')
+class TestRubyIsolation(TestApplicationRuby):
+ def test_ruby_isolation_rootfs(self, is_su, require, temp_dir):
isolation = {'rootfs': temp_dir}
if not is_su:
+ require(
+ {
+ 'features': {
+ 'isolation': [
+ 'unprivileged_userns_clone',
+ 'user',
+ 'mnt',
+ 'pid',
+ ]
+ }
+ }
+ )
+
isolation['namespaces'] = {
'mount': True,
'credential': True,