| 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 --- |