test_ruby_isolation.py (1635:97afbb6c5a15) test_ruby_isolation.py (1654:fc7d0578e124)
1import shutil
1
2import pytest
3
4from conftest import option
2
3import pytest
4
5from conftest import option
6from conftest import unit_run
7from conftest import unit_stop
5from unit.applications.lang.ruby import TestApplicationRuby
6from unit.feature.isolation import TestFeatureIsolation
7
8
9class TestRubyIsolation(TestApplicationRuby):
10 prerequisites = {'modules': {'ruby': 'any'}, 'features': ['isolation']}
11
8from unit.applications.lang.ruby import TestApplicationRuby
9from unit.feature.isolation import TestFeatureIsolation
10
11
12class TestRubyIsolation(TestApplicationRuby):
13 prerequisites = {'modules': {'ruby': 'any'}, 'features': ['isolation']}
14
12 isolation = TestFeatureIsolation()
13
14 @classmethod
15 def setup_class(cls, complete_check=True):
15 @classmethod
16 def setup_class(cls, complete_check=True):
16 unit = super().setup_class(complete_check=False)
17 check = super().setup_class(complete_check=False)
17
18
18 TestFeatureIsolation().check(cls.available, unit.temp_dir)
19 unit = unit_run()
20 option.temp_dir = unit['temp_dir']
19
21
20 return unit if not complete_check else unit.complete()
22 TestFeatureIsolation().check(option.available, unit['temp_dir'])
21
23
24 assert unit_stop() is None
25 shutil.rmtree(unit['temp_dir'])
26
27 return check if not complete_check else check()
28
22 def test_ruby_isolation_rootfs(self, is_su):
29 def test_ruby_isolation_rootfs(self, is_su):
23 isolation_features = self.available['features']['isolation'].keys()
30 isolation_features = option.available['features']['isolation'].keys()
24
25 if 'mnt' not in isolation_features:
26 pytest.skip('requires mnt ns')
27
28 if not is_su:
29 if 'user' not in isolation_features:
30 pytest.skip('requires unprivileged userns or root')
31

--- 19 unchanged lines hidden ---
31
32 if 'mnt' not in isolation_features:
33 pytest.skip('requires mnt ns')
34
35 if not is_su:
36 if 'user' not in isolation_features:
37 pytest.skip('requires unprivileged userns or root')
38

--- 19 unchanged lines hidden ---