Deleted Added
1import grp
2import os
3import pwd
4import shutil
5
6import pytest
7
8from unit.applications.lang.go import TestApplicationGo
9from unit.option import option
10from unit.utils import getns
11
12class TestGoIsolation(TestApplicationGo):
13 prerequisites = {'modules': {'go': 'any'}, 'features': ['isolation']}
14
15 def unpriv_creds(self):
16 nobody_uid = pwd.getpwnam('nobody').pw_uid
17
18 try:
19 nogroup_gid = grp.getgrnam('nogroup').gr_gid
20 nogroup = 'nogroup'
21 except KeyError:
22 nogroup_gid = grp.getgrnam('nobody').gr_gid

--- 173 unchanged lines hidden (view full) ---

196
197 for ns in allns:
198 if ns.upper() in obj['NS']:
199 assert (
200 obj['NS'][ns.upper()]
201 == option.available['features']['isolation'][ns]
202 ), ('%s match' % ns)
203
204 assert obj['NS']['MNT'] != getns('mnt'), 'mnt set'
205 assert obj['NS']['USER'] != getns('user'), 'user set'
206
207 def test_isolation_pid(self, is_su):
208 if not self.isolation_key('pid'):
209 pytest.skip('pid namespace is not supported')
210
211 if not is_su:
212 if not self.isolation_key('unprivileged_userns_clone'):
213 pytest.skip('unprivileged clone is not available')

--- 150 unchanged lines hidden ---