Loading tools/fs_config/Android.bp +0 −16 Original line number Original line Diff line number Diff line Loading @@ -43,14 +43,6 @@ cc_binary_host { python_binary_host { python_binary_host { name: "fs_config_generator", name: "fs_config_generator", srcs: ["fs_config_generator.py"], srcs: ["fs_config_generator.py"], version: { py2: { enabled: true, }, py3: { enabled: false, }, }, } } python_test_host { python_test_host { Loading @@ -60,14 +52,6 @@ python_test_host { "test_fs_config_generator.py", "test_fs_config_generator.py", "fs_config_generator.py", "fs_config_generator.py", ], ], version: { py2: { enabled: true, }, py3: { enabled: false, }, }, } } target_fs_config_gen_filegroup { target_fs_config_gen_filegroup { Loading tools/fs_config/fs_config_generator.py +29 −29 Original line number Original line Diff line number Diff line #!/usr/bin/env python2 #!/usr/bin/env python3 """Generates config files for Android file system properties. """Generates config files for Android file system properties. This script is used for generating configuration files for configuring This script is used for generating configuration files for configuring Loading @@ -11,7 +11,7 @@ Further documentation can be found in the README. """ """ import argparse import argparse import ConfigParser import configparser import ctypes import ctypes import re import re import sys import sys Loading Loading @@ -463,7 +463,7 @@ class AIDHeaderParser(object): # No core AIDs should be within any oem range. # No core AIDs should be within any oem range. for aid in self._aid_value_to_name: for aid in self._aid_value_to_name: for ranges in self._ranges.values(): for ranges in self._ranges.values(): if Utils.in_any_range(aid, ranges): if Utils.in_any_range(int(aid, 0), ranges): name = self._aid_value_to_name[aid] name = self._aid_value_to_name[aid] raise ValueError( raise ValueError( 'AID "%s" value: %u within reserved OEM Range: "%s"' % 'AID "%s" value: %u within reserved OEM Range: "%s"' % Loading Loading @@ -569,7 +569,7 @@ class FSConfigFileParser(object): # override previous # override previous # sections. # sections. config = ConfigParser.ConfigParser() config = configparser.ConfigParser() config.read(file_name) config.read(file_name) for section in config.sections(): for section in config.sections(): Loading Loading @@ -613,7 +613,7 @@ class FSConfigFileParser(object): ranges = None ranges = None partitions = self._ranges.keys() partitions = list(self._ranges.keys()) partitions.sort(key=len, reverse=True) partitions.sort(key=len, reverse=True) for partition in partitions: for partition in partitions: if aid.friendly.startswith(partition): if aid.friendly.startswith(partition): Loading Loading @@ -1073,7 +1073,7 @@ class FSConfigGen(BaseGenerator): user_binary = bytearray(ctypes.c_uint16(int(user, 0))) user_binary = bytearray(ctypes.c_uint16(int(user, 0))) group_binary = bytearray(ctypes.c_uint16(int(group, 0))) group_binary = bytearray(ctypes.c_uint16(int(group, 0))) caps_binary = bytearray(ctypes.c_uint64(caps_value)) caps_binary = bytearray(ctypes.c_uint64(caps_value)) path_binary = ctypes.create_string_buffer(path, path_binary = ctypes.create_string_buffer(path.encode(), path_length_aligned_64).raw path_length_aligned_64).raw out_file.write(length_binary) out_file.write(length_binary) Loading Loading @@ -1169,21 +1169,21 @@ class AIDArrayGen(BaseGenerator): hdr = AIDHeaderParser(args['hdrfile']) hdr = AIDHeaderParser(args['hdrfile']) max_name_length = max(len(aid.friendly) + 1 for aid in hdr.aids) max_name_length = max(len(aid.friendly) + 1 for aid in hdr.aids) print AIDArrayGen._GENERATED print(AIDArrayGen._GENERATED) print print() print AIDArrayGen._INCLUDE print(AIDArrayGen._INCLUDE) print print() print AIDArrayGen._STRUCT_FS_CONFIG % max_name_length print(AIDArrayGen._STRUCT_FS_CONFIG % max_name_length) print print() print AIDArrayGen._OPEN_ID_ARRAY print(AIDArrayGen._OPEN_ID_ARRAY) for aid in hdr.aids: for aid in hdr.aids: print AIDArrayGen._ID_ENTRY % (aid.friendly, aid.identifier) print(AIDArrayGen._ID_ENTRY % (aid.friendly, aid.identifier)) print AIDArrayGen._CLOSE_FILE_STRUCT print(AIDArrayGen._CLOSE_FILE_STRUCT) print print() print AIDArrayGen._COUNT print(AIDArrayGen._COUNT) print print() @generator('oemaid') @generator('oemaid') Loading Loading @@ -1225,15 +1225,15 @@ class OEMAidGen(BaseGenerator): parser = FSConfigFileParser(args['fsconfig'], hdr_parser.ranges) parser = FSConfigFileParser(args['fsconfig'], hdr_parser.ranges) print OEMAidGen._GENERATED print(OEMAidGen._GENERATED) print OEMAidGen._FILE_IFNDEF_DEFINE print(OEMAidGen._FILE_IFNDEF_DEFINE) for aid in parser.aids: for aid in parser.aids: self._print_aid(aid) self._print_aid(aid) print print() print OEMAidGen._FILE_ENDIF print(OEMAidGen._FILE_ENDIF) def _print_aid(self, aid): def _print_aid(self, aid): """Prints a valid #define AID identifier to stdout. """Prints a valid #define AID identifier to stdout. Loading @@ -1245,10 +1245,10 @@ class OEMAidGen(BaseGenerator): # print the source file location of the AID # print the source file location of the AID found_file = aid.found found_file = aid.found if found_file != self._old_file: if found_file != self._old_file: print OEMAidGen._FILE_COMMENT % found_file print(OEMAidGen._FILE_COMMENT % found_file) self._old_file = found_file self._old_file = found_file print OEMAidGen._GENERIC_DEFINE % (aid.identifier, aid.value) print(OEMAidGen._GENERIC_DEFINE % (aid.identifier, aid.value)) @generator('passwd') @generator('passwd') Loading Loading @@ -1292,7 +1292,7 @@ class PasswdGen(BaseGenerator): return return aids_by_partition = {} aids_by_partition = {} partitions = hdr_parser.ranges.keys() partitions = list(hdr_parser.ranges.keys()) partitions.sort(key=len, reverse=True) partitions.sort(key=len, reverse=True) for aid in aids: for aid in aids: Loading Loading @@ -1331,7 +1331,7 @@ class PasswdGen(BaseGenerator): except ValueError as exception: except ValueError as exception: sys.exit(exception) sys.exit(exception) print "%s::%s:%s::/:%s" % (logon, uid, uid, aid.login_shell) print("%s::%s:%s::/:%s" % (logon, uid, uid, aid.login_shell)) @generator('group') @generator('group') Loading @@ -1356,7 +1356,7 @@ class GroupGen(PasswdGen): except ValueError as exception: except ValueError as exception: sys.exit(exception) sys.exit(exception) print "%s::%s:" % (logon, uid) print("%s::%s:" % (logon, uid)) @generator('print') @generator('print') Loading @@ -1379,7 +1379,7 @@ class PrintGen(BaseGenerator): aids.sort(key=lambda item: int(item.normalized_value)) aids.sort(key=lambda item: int(item.normalized_value)) for aid in aids: for aid in aids: print '%s %s' % (aid.identifier, aid.normalized_value) print('%s %s' % (aid.identifier, aid.normalized_value)) def main(): def main(): Loading @@ -1393,7 +1393,7 @@ def main(): gens = generator.get() gens = generator.get() # for each gen, instantiate and add them as an option # for each gen, instantiate and add them as an option for name, gen in gens.iteritems(): for name, gen in gens.items(): generator_option_parser = subparser.add_parser(name, help=gen.__doc__) generator_option_parser = subparser.add_parser(name, help=gen.__doc__) generator_option_parser.set_defaults(which=name) generator_option_parser.set_defaults(which=name) Loading tools/fs_config/test_fs_config_generator.py +14 −14 Original line number Original line Diff line number Diff line #!/usr/bin/env python #!/usr/bin/env python3 """Unit test suite for the fs_config_genertor.py tool.""" """Unit test suite for the fs_config_genertor.py tool.""" import tempfile import tempfile Loading Loading @@ -64,7 +64,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_good(self): def test_aid_header_parser_good(self): """Test AID Header Parser good input file""" """Test AID Header Parser good input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_FOO 1000 #define AID_FOO 1000 Loading @@ -91,7 +91,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_good_unordered(self): def test_aid_header_parser_good_unordered(self): """Test AID Header Parser good unordered input file""" """Test AID Header Parser good unordered input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_FOO 1000 #define AID_FOO 1000 Loading @@ -118,7 +118,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_aid(self): def test_aid_header_parser_bad_aid(self): """Test AID Header Parser bad aid input file""" """Test AID Header Parser bad aid input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_FOO "bad" #define AID_FOO "bad" Loading @@ -131,7 +131,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range(self): def test_aid_header_parser_bad_oem_range(self): """Test AID Header Parser bad oem range input file""" """Test AID Header Parser bad oem range input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_START 2900 #define AID_OEM_RESERVED_START 2900 Loading @@ -145,7 +145,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range_no_end(self): def test_aid_header_parser_bad_oem_range_no_end(self): """Test AID Header Parser bad oem range (no end) input file""" """Test AID Header Parser bad oem range (no end) input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_START 2900 #define AID_OEM_RESERVED_START 2900 Loading @@ -158,7 +158,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range_no_start(self): def test_aid_header_parser_bad_oem_range_no_start(self): """Test AID Header Parser bad oem range (no start) input file""" """Test AID Header Parser bad oem range (no start) input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_END 2900 #define AID_OEM_RESERVED_END 2900 Loading @@ -171,7 +171,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range_duplicated(self): def test_aid_header_parser_bad_oem_range_duplicated(self): """Test AID Header Parser bad oem range (no start) input file""" """Test AID Header Parser bad oem range (no start) input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_START 2000 #define AID_OEM_RESERVED_START 2000 Loading @@ -187,7 +187,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range_mismatch_start_end(self): def test_aid_header_parser_bad_oem_range_mismatch_start_end(self): """Test AID Header Parser bad oem range mismatched input file""" """Test AID Header Parser bad oem range mismatched input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_START 2900 #define AID_OEM_RESERVED_START 2900 Loading @@ -201,7 +201,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_duplicate_ranges(self): def test_aid_header_parser_bad_duplicate_ranges(self): """Test AID Header Parser exits cleanly on duplicate AIDs""" """Test AID Header Parser exits cleanly on duplicate AIDs""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_FOO 100 #define AID_FOO 100 Loading @@ -222,7 +222,7 @@ class Tests(unittest.TestCase): - https://android-review.googlesource.com/#/c/313169 - https://android-review.googlesource.com/#/c/313169 """ """ with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_APP 10000 /* TODO: switch users over to AID_APP_START */ #define AID_APP 10000 /* TODO: switch users over to AID_APP_START */ Loading Loading @@ -257,7 +257,7 @@ class Tests(unittest.TestCase): def test_fs_config_file_parser_good(self): def test_fs_config_file_parser_good(self): """Test FSConfig Parser good input file""" """Test FSConfig Parser good input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" [/system/bin/file] [/system/bin/file] Loading Loading @@ -305,7 +305,7 @@ class Tests(unittest.TestCase): def test_fs_config_file_parser_bad(self): def test_fs_config_file_parser_bad(self): """Test FSConfig Parser bad input file""" """Test FSConfig Parser bad input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" [/system/bin/file] [/system/bin/file] Loading @@ -319,7 +319,7 @@ class Tests(unittest.TestCase): def test_fs_config_file_parser_bad_aid_range(self): def test_fs_config_file_parser_bad_aid_range(self): """Test FSConfig Parser bad aid range value input file""" """Test FSConfig Parser bad aid range value input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" [AID_OEM1] [AID_OEM1] Loading Loading
tools/fs_config/Android.bp +0 −16 Original line number Original line Diff line number Diff line Loading @@ -43,14 +43,6 @@ cc_binary_host { python_binary_host { python_binary_host { name: "fs_config_generator", name: "fs_config_generator", srcs: ["fs_config_generator.py"], srcs: ["fs_config_generator.py"], version: { py2: { enabled: true, }, py3: { enabled: false, }, }, } } python_test_host { python_test_host { Loading @@ -60,14 +52,6 @@ python_test_host { "test_fs_config_generator.py", "test_fs_config_generator.py", "fs_config_generator.py", "fs_config_generator.py", ], ], version: { py2: { enabled: true, }, py3: { enabled: false, }, }, } } target_fs_config_gen_filegroup { target_fs_config_gen_filegroup { Loading
tools/fs_config/fs_config_generator.py +29 −29 Original line number Original line Diff line number Diff line #!/usr/bin/env python2 #!/usr/bin/env python3 """Generates config files for Android file system properties. """Generates config files for Android file system properties. This script is used for generating configuration files for configuring This script is used for generating configuration files for configuring Loading @@ -11,7 +11,7 @@ Further documentation can be found in the README. """ """ import argparse import argparse import ConfigParser import configparser import ctypes import ctypes import re import re import sys import sys Loading Loading @@ -463,7 +463,7 @@ class AIDHeaderParser(object): # No core AIDs should be within any oem range. # No core AIDs should be within any oem range. for aid in self._aid_value_to_name: for aid in self._aid_value_to_name: for ranges in self._ranges.values(): for ranges in self._ranges.values(): if Utils.in_any_range(aid, ranges): if Utils.in_any_range(int(aid, 0), ranges): name = self._aid_value_to_name[aid] name = self._aid_value_to_name[aid] raise ValueError( raise ValueError( 'AID "%s" value: %u within reserved OEM Range: "%s"' % 'AID "%s" value: %u within reserved OEM Range: "%s"' % Loading Loading @@ -569,7 +569,7 @@ class FSConfigFileParser(object): # override previous # override previous # sections. # sections. config = ConfigParser.ConfigParser() config = configparser.ConfigParser() config.read(file_name) config.read(file_name) for section in config.sections(): for section in config.sections(): Loading Loading @@ -613,7 +613,7 @@ class FSConfigFileParser(object): ranges = None ranges = None partitions = self._ranges.keys() partitions = list(self._ranges.keys()) partitions.sort(key=len, reverse=True) partitions.sort(key=len, reverse=True) for partition in partitions: for partition in partitions: if aid.friendly.startswith(partition): if aid.friendly.startswith(partition): Loading Loading @@ -1073,7 +1073,7 @@ class FSConfigGen(BaseGenerator): user_binary = bytearray(ctypes.c_uint16(int(user, 0))) user_binary = bytearray(ctypes.c_uint16(int(user, 0))) group_binary = bytearray(ctypes.c_uint16(int(group, 0))) group_binary = bytearray(ctypes.c_uint16(int(group, 0))) caps_binary = bytearray(ctypes.c_uint64(caps_value)) caps_binary = bytearray(ctypes.c_uint64(caps_value)) path_binary = ctypes.create_string_buffer(path, path_binary = ctypes.create_string_buffer(path.encode(), path_length_aligned_64).raw path_length_aligned_64).raw out_file.write(length_binary) out_file.write(length_binary) Loading Loading @@ -1169,21 +1169,21 @@ class AIDArrayGen(BaseGenerator): hdr = AIDHeaderParser(args['hdrfile']) hdr = AIDHeaderParser(args['hdrfile']) max_name_length = max(len(aid.friendly) + 1 for aid in hdr.aids) max_name_length = max(len(aid.friendly) + 1 for aid in hdr.aids) print AIDArrayGen._GENERATED print(AIDArrayGen._GENERATED) print print() print AIDArrayGen._INCLUDE print(AIDArrayGen._INCLUDE) print print() print AIDArrayGen._STRUCT_FS_CONFIG % max_name_length print(AIDArrayGen._STRUCT_FS_CONFIG % max_name_length) print print() print AIDArrayGen._OPEN_ID_ARRAY print(AIDArrayGen._OPEN_ID_ARRAY) for aid in hdr.aids: for aid in hdr.aids: print AIDArrayGen._ID_ENTRY % (aid.friendly, aid.identifier) print(AIDArrayGen._ID_ENTRY % (aid.friendly, aid.identifier)) print AIDArrayGen._CLOSE_FILE_STRUCT print(AIDArrayGen._CLOSE_FILE_STRUCT) print print() print AIDArrayGen._COUNT print(AIDArrayGen._COUNT) print print() @generator('oemaid') @generator('oemaid') Loading Loading @@ -1225,15 +1225,15 @@ class OEMAidGen(BaseGenerator): parser = FSConfigFileParser(args['fsconfig'], hdr_parser.ranges) parser = FSConfigFileParser(args['fsconfig'], hdr_parser.ranges) print OEMAidGen._GENERATED print(OEMAidGen._GENERATED) print OEMAidGen._FILE_IFNDEF_DEFINE print(OEMAidGen._FILE_IFNDEF_DEFINE) for aid in parser.aids: for aid in parser.aids: self._print_aid(aid) self._print_aid(aid) print print() print OEMAidGen._FILE_ENDIF print(OEMAidGen._FILE_ENDIF) def _print_aid(self, aid): def _print_aid(self, aid): """Prints a valid #define AID identifier to stdout. """Prints a valid #define AID identifier to stdout. Loading @@ -1245,10 +1245,10 @@ class OEMAidGen(BaseGenerator): # print the source file location of the AID # print the source file location of the AID found_file = aid.found found_file = aid.found if found_file != self._old_file: if found_file != self._old_file: print OEMAidGen._FILE_COMMENT % found_file print(OEMAidGen._FILE_COMMENT % found_file) self._old_file = found_file self._old_file = found_file print OEMAidGen._GENERIC_DEFINE % (aid.identifier, aid.value) print(OEMAidGen._GENERIC_DEFINE % (aid.identifier, aid.value)) @generator('passwd') @generator('passwd') Loading Loading @@ -1292,7 +1292,7 @@ class PasswdGen(BaseGenerator): return return aids_by_partition = {} aids_by_partition = {} partitions = hdr_parser.ranges.keys() partitions = list(hdr_parser.ranges.keys()) partitions.sort(key=len, reverse=True) partitions.sort(key=len, reverse=True) for aid in aids: for aid in aids: Loading Loading @@ -1331,7 +1331,7 @@ class PasswdGen(BaseGenerator): except ValueError as exception: except ValueError as exception: sys.exit(exception) sys.exit(exception) print "%s::%s:%s::/:%s" % (logon, uid, uid, aid.login_shell) print("%s::%s:%s::/:%s" % (logon, uid, uid, aid.login_shell)) @generator('group') @generator('group') Loading @@ -1356,7 +1356,7 @@ class GroupGen(PasswdGen): except ValueError as exception: except ValueError as exception: sys.exit(exception) sys.exit(exception) print "%s::%s:" % (logon, uid) print("%s::%s:" % (logon, uid)) @generator('print') @generator('print') Loading @@ -1379,7 +1379,7 @@ class PrintGen(BaseGenerator): aids.sort(key=lambda item: int(item.normalized_value)) aids.sort(key=lambda item: int(item.normalized_value)) for aid in aids: for aid in aids: print '%s %s' % (aid.identifier, aid.normalized_value) print('%s %s' % (aid.identifier, aid.normalized_value)) def main(): def main(): Loading @@ -1393,7 +1393,7 @@ def main(): gens = generator.get() gens = generator.get() # for each gen, instantiate and add them as an option # for each gen, instantiate and add them as an option for name, gen in gens.iteritems(): for name, gen in gens.items(): generator_option_parser = subparser.add_parser(name, help=gen.__doc__) generator_option_parser = subparser.add_parser(name, help=gen.__doc__) generator_option_parser.set_defaults(which=name) generator_option_parser.set_defaults(which=name) Loading
tools/fs_config/test_fs_config_generator.py +14 −14 Original line number Original line Diff line number Diff line #!/usr/bin/env python #!/usr/bin/env python3 """Unit test suite for the fs_config_genertor.py tool.""" """Unit test suite for the fs_config_genertor.py tool.""" import tempfile import tempfile Loading Loading @@ -64,7 +64,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_good(self): def test_aid_header_parser_good(self): """Test AID Header Parser good input file""" """Test AID Header Parser good input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_FOO 1000 #define AID_FOO 1000 Loading @@ -91,7 +91,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_good_unordered(self): def test_aid_header_parser_good_unordered(self): """Test AID Header Parser good unordered input file""" """Test AID Header Parser good unordered input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_FOO 1000 #define AID_FOO 1000 Loading @@ -118,7 +118,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_aid(self): def test_aid_header_parser_bad_aid(self): """Test AID Header Parser bad aid input file""" """Test AID Header Parser bad aid input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_FOO "bad" #define AID_FOO "bad" Loading @@ -131,7 +131,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range(self): def test_aid_header_parser_bad_oem_range(self): """Test AID Header Parser bad oem range input file""" """Test AID Header Parser bad oem range input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_START 2900 #define AID_OEM_RESERVED_START 2900 Loading @@ -145,7 +145,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range_no_end(self): def test_aid_header_parser_bad_oem_range_no_end(self): """Test AID Header Parser bad oem range (no end) input file""" """Test AID Header Parser bad oem range (no end) input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_START 2900 #define AID_OEM_RESERVED_START 2900 Loading @@ -158,7 +158,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range_no_start(self): def test_aid_header_parser_bad_oem_range_no_start(self): """Test AID Header Parser bad oem range (no start) input file""" """Test AID Header Parser bad oem range (no start) input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_END 2900 #define AID_OEM_RESERVED_END 2900 Loading @@ -171,7 +171,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range_duplicated(self): def test_aid_header_parser_bad_oem_range_duplicated(self): """Test AID Header Parser bad oem range (no start) input file""" """Test AID Header Parser bad oem range (no start) input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_START 2000 #define AID_OEM_RESERVED_START 2000 Loading @@ -187,7 +187,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range_mismatch_start_end(self): def test_aid_header_parser_bad_oem_range_mismatch_start_end(self): """Test AID Header Parser bad oem range mismatched input file""" """Test AID Header Parser bad oem range mismatched input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_OEM_RESERVED_START 2900 #define AID_OEM_RESERVED_START 2900 Loading @@ -201,7 +201,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_duplicate_ranges(self): def test_aid_header_parser_bad_duplicate_ranges(self): """Test AID Header Parser exits cleanly on duplicate AIDs""" """Test AID Header Parser exits cleanly on duplicate AIDs""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_FOO 100 #define AID_FOO 100 Loading @@ -222,7 +222,7 @@ class Tests(unittest.TestCase): - https://android-review.googlesource.com/#/c/313169 - https://android-review.googlesource.com/#/c/313169 """ """ with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" #define AID_APP 10000 /* TODO: switch users over to AID_APP_START */ #define AID_APP 10000 /* TODO: switch users over to AID_APP_START */ Loading Loading @@ -257,7 +257,7 @@ class Tests(unittest.TestCase): def test_fs_config_file_parser_good(self): def test_fs_config_file_parser_good(self): """Test FSConfig Parser good input file""" """Test FSConfig Parser good input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" [/system/bin/file] [/system/bin/file] Loading Loading @@ -305,7 +305,7 @@ class Tests(unittest.TestCase): def test_fs_config_file_parser_bad(self): def test_fs_config_file_parser_bad(self): """Test FSConfig Parser bad input file""" """Test FSConfig Parser bad input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" [/system/bin/file] [/system/bin/file] Loading @@ -319,7 +319,7 @@ class Tests(unittest.TestCase): def test_fs_config_file_parser_bad_aid_range(self): def test_fs_config_file_parser_bad_aid_range(self): """Test FSConfig Parser bad aid range value input file""" """Test FSConfig Parser bad aid range value input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( temp_file.write( textwrap.dedent(""" textwrap.dedent(""" [AID_OEM1] [AID_OEM1] Loading