1import os
| 1import os
|
2import unittest
| 2import pytest
|
3 4from unit.applications.lang.go import TestApplicationGo 5 6 7class TestGoIsolationRootfs(TestApplicationGo): 8 prerequisites = {'modules': {'go': 'all'}} 9
| 3 4from unit.applications.lang.go import TestApplicationGo 5 6 7class TestGoIsolationRootfs(TestApplicationGo): 8 prerequisites = {'modules': {'go': 'all'}} 9
|
10 def test_go_isolation_rootfs_chroot(self): 11 if not self.is_su: 12 print("requires root") 13 raise unittest.SkipTest()
| 10 def test_go_isolation_rootfs_chroot(self, is_su): 11 if not is_su: 12 pytest.skip('requires root')
|
14 15 if os.uname().sysname == 'Darwin':
| 13 14 if os.uname().sysname == 'Darwin':
|
16 print('chroot tests not supported on OSX') 17 raise unittest.SkipTest()
| 15 pytest.skip('chroot tests not supported on OSX')
|
18 19 isolation = {
| 16 17 isolation = {
|
20 'rootfs': self.testdir,
| 18 'rootfs': self.temp_dir,
|
21 } 22 23 self.load('ns_inspect', isolation=isolation) 24 25 obj = self.getjson(url='/?file=/go/app')['body'] 26
| 19 } 20 21 self.load('ns_inspect', isolation=isolation) 22 23 obj = self.getjson(url='/?file=/go/app')['body'] 24
|
27 self.assertEqual(obj['FileExists'], True, 'app relative to rootfs')
| 25 assert obj['FileExists'] == True, 'app relative to rootfs'
|
28 29 obj = self.getjson(url='/?file=/bin/sh')['body']
| 26 27 obj = self.getjson(url='/?file=/bin/sh')['body']
|
30 self.assertEqual(obj['FileExists'], False, 'file should not exists') 31 32 33if __name__ == '__main__': 34 TestGoIsolationRootfs.main()
| 28 assert obj['FileExists'] == False, 'file should not exists'
|
| |