Exemple #1
0
    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)])
Exemple #2
0
    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)])
Exemple #3
0
    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'))