OLD | NEW |
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import logging | 5 import logging |
6 import os | 6 import os |
7 import re | 7 import re |
8 | 8 |
9 from autotest_lib.client.bin import test | 9 from autotest_lib.client.bin import test |
10 from autotest_lib.client.common_lib import error, utils | 10 from autotest_lib.client.common_lib import error, utils |
11 | 11 |
12 class platform_MiniJailReadOnlyFS(test.test): | 12 class platform_MiniJailReadOnlyFS(test.test): |
13 version = 1 | 13 version = 1 |
14 preserve_srcdir = True | 14 preserve_srcdir = True |
15 | 15 |
16 def setup(self): | 16 def setup(self): |
17 os.chdir(self.srcdir) | 17 os.chdir(self.srcdir) |
18 utils.system('make clean') | 18 utils.make('clean') |
19 utils.system('make all') | 19 utils.make('all') |
20 | 20 |
21 | 21 |
22 def __run_cmd(self, cmd): | 22 def __run_cmd(self, cmd): |
23 result = utils.system_output(cmd, retain_output=True, | 23 result = utils.system_output(cmd, retain_output=True, |
24 ignore_status=True) | 24 ignore_status=True) |
25 return result | 25 return result |
26 | 26 |
27 | 27 |
28 def run_once(self): | 28 def run_once(self): |
29 # Check that --add-readonly-mounts works | 29 # Check that --add-readonly-mounts works |
30 check_cmd = (os.path.join(self.bindir, 'platform_MiniJailReadOnlyFS') + | 30 check_cmd = (os.path.join(self.bindir, 'platform_MiniJailReadOnlyFS') + |
31 ' --procIsReadOnly') | 31 ' --procIsReadOnly') |
32 cmd = ('/sbin/minijail --add-read-only-mounts -- ' + check_cmd) | 32 cmd = ('/sbin/minijail --add-read-only-mounts -- ' + check_cmd) |
33 result = self.__run_cmd(cmd) | 33 result = self.__run_cmd(cmd) |
34 succeed_pattern = re.compile(r"SUCCEED: (.+)") | 34 succeed_pattern = re.compile(r"SUCCEED: (.+)") |
35 success = succeed_pattern.findall(result) | 35 success = succeed_pattern.findall(result) |
36 if len(success) == 0: | 36 if len(success) == 0: |
37 raise error.TestFail('The /proc directory is not read-only') | 37 raise error.TestFail('The /proc directory is not read-only') |
OLD | NEW |