def test_fs_config_file_parser_bad(self): """Test FSConfig Parser bad input file""" with tempfile.NamedTemporaryFile() as temp_file: temp_file.write( textwrap.dedent(""" [/system/bin/file] caps: BLOCK_SUSPEND """)) temp_file.flush() with self.assertRaises(SystemExit): FSConfigFileParser([temp_file.name], [(5000, 5999)])
def test_fs_config_file_parser_bad_aid_range(self): """Test FSConfig Parser bad aid range value input file""" with tempfile.NamedTemporaryFile() as temp_file: temp_file.write( textwrap.dedent(""" [AID_OEM1] value: 25 """)) temp_file.flush() with self.assertRaises(SystemExit): FSConfigFileParser([temp_file.name], [(5000, 5999)])
def test_fs_config_file_parser_good(self): """Test FSConfig Parser good input file""" with tempfile.NamedTemporaryFile() as temp_file: temp_file.write( textwrap.dedent(""" [/system/bin/file] user: AID_FOO group: AID_SYSTEM mode: 0777 caps: BLOCK_SUSPEND [/vendor/path/dir/] user: AID_FOO group: AID_SYSTEM mode: 0777 caps: 0 [AID_OEM1] # 5001 in base16 value: 0x1389 """)) temp_file.flush() parser = FSConfigFileParser([temp_file.name], [(5000, 5999)]) files = parser.files dirs = parser.dirs aids = parser.aids self.assertEqual(len(files), 1) self.assertEqual(len(dirs), 1) self.assertEqual(len(aids), 1) aid = aids[0] fcap = files[0] dcap = dirs[0] self.assertEqual( fcap, FSConfig('0777', 'AID_FOO', 'AID_SYSTEM', 'CAP_BLOCK_SUSPEND', '/system/bin/file', temp_file.name)) self.assertEqual( dcap, FSConfig('0777', 'AID_FOO', 'AID_SYSTEM', '0', '/vendor/path/dir/', temp_file.name)) self.assertEqual( aid, AID('AID_OEM1', '0x1389', temp_file.name, '/vendor/bin/sh'))