Deleted
Added
test_php_isolation.py (1635:97afbb6c5a15) | test_php_isolation.py (1654:fc7d0578e124) |
---|---|
1import shutil 2 |
|
1import pytest 2 3from conftest import option | 3import pytest 4 5from conftest import option |
6from conftest import unit_run 7from conftest import unit_stop |
|
4from unit.applications.lang.php import TestApplicationPHP 5from unit.feature.isolation import TestFeatureIsolation 6 7 8class TestPHPIsolation(TestApplicationPHP): 9 prerequisites = {'modules': {'php': 'any'}, 'features': ['isolation']} 10 | 8from unit.applications.lang.php import TestApplicationPHP 9from unit.feature.isolation import TestFeatureIsolation 10 11 12class TestPHPIsolation(TestApplicationPHP): 13 prerequisites = {'modules': {'php': 'any'}, 'features': ['isolation']} 14 |
11 isolation = TestFeatureIsolation() 12 | |
13 @classmethod 14 def setup_class(cls, complete_check=True): | 15 @classmethod 16 def setup_class(cls, complete_check=True): |
15 unit = super().setup_class(complete_check=False) | 17 check = super().setup_class(complete_check=False) |
16 | 18 |
17 TestFeatureIsolation().check(cls.available, unit.temp_dir) | 19 unit = unit_run() 20 option.temp_dir = unit['temp_dir'] |
18 | 21 |
19 return unit if not complete_check else unit.complete() | 22 TestFeatureIsolation().check(option.available, unit['temp_dir']) |
20 | 23 |
24 assert unit_stop() is None 25 shutil.rmtree(unit['temp_dir']) 26 27 return check if not complete_check else check() 28 |
|
21 def test_php_isolation_rootfs(self, is_su): | 29 def test_php_isolation_rootfs(self, is_su): |
22 isolation_features = self.available['features']['isolation'].keys() | 30 isolation_features = option.available['features']['isolation'].keys() |
23 24 if 'mnt' not in isolation_features: 25 pytest.skip('requires mnt ns') 26 27 if not is_su: 28 if 'user' not in isolation_features: 29 pytest.skip('requires unprivileged userns or root') 30 --- 12 unchanged lines hidden (view full) --- 43 ) 44 assert 'success' in self.conf( 45 '"/php/phpinfo"', 'applications/phpinfo/working_directory' 46 ) 47 48 assert self.get()['status'] == 200, 'empty rootfs' 49 50 def test_php_isolation_rootfs_extensions(self, is_su): | 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 --- 12 unchanged lines hidden (view full) --- 51 ) 52 assert 'success' in self.conf( 53 '"/php/phpinfo"', 'applications/phpinfo/working_directory' 54 ) 55 56 assert self.get()['status'] == 200, 'empty rootfs' 57 58 def test_php_isolation_rootfs_extensions(self, is_su): |
51 isolation_features = self.available['features']['isolation'].keys() | 59 isolation_features = option.available['features']['isolation'].keys() |
52 53 if not is_su: 54 if 'user' not in isolation_features: 55 pytest.skip('requires unprivileged userns or root') 56 57 if not 'unprivileged_userns_clone' in isolation_features: 58 pytest.skip('requires unprivileged userns or root') 59 --- 28 unchanged lines hidden --- | 60 61 if not is_su: 62 if 'user' not in isolation_features: 63 pytest.skip('requires unprivileged userns or root') 64 65 if not 'unprivileged_userns_clone' in isolation_features: 66 pytest.skip('requires unprivileged userns or root') 67 --- 28 unchanged lines hidden --- |