Loading tools/fs_config/Android.bp +0 −16 Original line number Diff line number Diff line Loading @@ -43,14 +43,6 @@ cc_binary_host { python_binary_host { name: "fs_config_generator", srcs: ["fs_config_generator.py"], version: { py2: { enabled: true, }, py3: { enabled: false, }, }, } python_test_host { Loading @@ -60,14 +52,6 @@ python_test_host { "test_fs_config_generator.py", "fs_config_generator.py", ], version: { py2: { enabled: true, }, py3: { enabled: false, }, }, } target_fs_config_gen_filegroup { Loading tools/fs_config/fs_config_generator.py +29 −29 Original line number Diff line number Diff line #!/usr/bin/env python2 #!/usr/bin/env python3 """Generates config files for Android file system properties. 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 ConfigParser import configparser import ctypes import re import sys Loading Loading @@ -463,7 +463,7 @@ class AIDHeaderParser(object): # No core AIDs should be within any oem range. for aid in self._aid_value_to_name: 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] raise ValueError( 'AID "%s" value: %u within reserved OEM Range: "%s"' % Loading Loading @@ -569,7 +569,7 @@ class FSConfigFileParser(object): # override previous # sections. config = ConfigParser.ConfigParser() config = configparser.ConfigParser() config.read(file_name) for section in config.sections(): Loading Loading @@ -613,7 +613,7 @@ class FSConfigFileParser(object): ranges = None partitions = self._ranges.keys() partitions = list(self._ranges.keys()) partitions.sort(key=len, reverse=True) for partition in partitions: if aid.friendly.startswith(partition): Loading Loading @@ -1073,7 +1073,7 @@ class FSConfigGen(BaseGenerator): user_binary = bytearray(ctypes.c_uint16(int(user, 0))) group_binary = bytearray(ctypes.c_uint16(int(group, 0))) 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 out_file.write(length_binary) Loading Loading @@ -1169,21 +1169,21 @@ class AIDArrayGen(BaseGenerator): hdr = AIDHeaderParser(args['hdrfile']) max_name_length = max(len(aid.friendly) + 1 for aid in hdr.aids) print AIDArrayGen._GENERATED print print AIDArrayGen._INCLUDE print print AIDArrayGen._STRUCT_FS_CONFIG % max_name_length print print AIDArrayGen._OPEN_ID_ARRAY print(AIDArrayGen._GENERATED) print() print(AIDArrayGen._INCLUDE) print() print(AIDArrayGen._STRUCT_FS_CONFIG % max_name_length) print() print(AIDArrayGen._OPEN_ID_ARRAY) 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 print AIDArrayGen._COUNT print print(AIDArrayGen._CLOSE_FILE_STRUCT) print() print(AIDArrayGen._COUNT) print() @generator('oemaid') Loading Loading @@ -1225,15 +1225,15 @@ class OEMAidGen(BaseGenerator): 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: self._print_aid(aid) print print() print OEMAidGen._FILE_ENDIF print(OEMAidGen._FILE_ENDIF) def _print_aid(self, aid): """Prints a valid #define AID identifier to stdout. Loading @@ -1245,10 +1245,10 @@ class OEMAidGen(BaseGenerator): # print the source file location of the AID found_file = aid.found if found_file != self._old_file: print OEMAidGen._FILE_COMMENT % found_file print(OEMAidGen._FILE_COMMENT % 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') Loading Loading @@ -1292,7 +1292,7 @@ class PasswdGen(BaseGenerator): return aids_by_partition = {} partitions = hdr_parser.ranges.keys() partitions = list(hdr_parser.ranges.keys()) partitions.sort(key=len, reverse=True) for aid in aids: Loading Loading @@ -1331,7 +1331,7 @@ class PasswdGen(BaseGenerator): except ValueError as 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') Loading @@ -1356,7 +1356,7 @@ class GroupGen(PasswdGen): except ValueError as exception: sys.exit(exception) print "%s::%s:" % (logon, uid) print("%s::%s:" % (logon, uid)) @generator('print') Loading @@ -1379,7 +1379,7 @@ class PrintGen(BaseGenerator): aids.sort(key=lambda item: int(item.normalized_value)) for aid in aids: print '%s %s' % (aid.identifier, aid.normalized_value) print('%s %s' % (aid.identifier, aid.normalized_value)) def main(): Loading @@ -1393,7 +1393,7 @@ def main(): gens = generator.get() # 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.set_defaults(which=name) Loading tools/fs_config/test_fs_config_generator.py +14 −14 Original line number Diff line number Diff line #!/usr/bin/env python #!/usr/bin/env python3 """Unit test suite for the fs_config_genertor.py tool.""" import tempfile Loading Loading @@ -64,7 +64,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_good(self): """Test AID Header Parser good input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" #define AID_FOO 1000 Loading @@ -91,7 +91,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_good_unordered(self): """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( textwrap.dedent(""" #define AID_FOO 1000 Loading @@ -118,7 +118,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_aid(self): """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( textwrap.dedent(""" #define AID_FOO "bad" Loading @@ -131,7 +131,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range(self): """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( textwrap.dedent(""" #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): """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( textwrap.dedent(""" #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): """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( textwrap.dedent(""" #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): """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( textwrap.dedent(""" #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): """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( textwrap.dedent(""" #define AID_OEM_RESERVED_START 2900 Loading @@ -201,7 +201,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_duplicate_ranges(self): """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( textwrap.dedent(""" #define AID_FOO 100 Loading @@ -222,7 +222,7 @@ class Tests(unittest.TestCase): - https://android-review.googlesource.com/#/c/313169 """ with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" #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): """Test FSConfig Parser good input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" [/system/bin/file] Loading Loading @@ -305,7 +305,7 @@ class Tests(unittest.TestCase): def test_fs_config_file_parser_bad(self): """Test FSConfig Parser bad input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" [/system/bin/file] Loading @@ -319,7 +319,7 @@ class Tests(unittest.TestCase): 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: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" [AID_OEM1] Loading Loading
tools/fs_config/Android.bp +0 −16 Original line number Diff line number Diff line Loading @@ -43,14 +43,6 @@ cc_binary_host { python_binary_host { name: "fs_config_generator", srcs: ["fs_config_generator.py"], version: { py2: { enabled: true, }, py3: { enabled: false, }, }, } python_test_host { Loading @@ -60,14 +52,6 @@ python_test_host { "test_fs_config_generator.py", "fs_config_generator.py", ], version: { py2: { enabled: true, }, py3: { enabled: false, }, }, } target_fs_config_gen_filegroup { Loading
tools/fs_config/fs_config_generator.py +29 −29 Original line number Diff line number Diff line #!/usr/bin/env python2 #!/usr/bin/env python3 """Generates config files for Android file system properties. 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 ConfigParser import configparser import ctypes import re import sys Loading Loading @@ -463,7 +463,7 @@ class AIDHeaderParser(object): # No core AIDs should be within any oem range. for aid in self._aid_value_to_name: 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] raise ValueError( 'AID "%s" value: %u within reserved OEM Range: "%s"' % Loading Loading @@ -569,7 +569,7 @@ class FSConfigFileParser(object): # override previous # sections. config = ConfigParser.ConfigParser() config = configparser.ConfigParser() config.read(file_name) for section in config.sections(): Loading Loading @@ -613,7 +613,7 @@ class FSConfigFileParser(object): ranges = None partitions = self._ranges.keys() partitions = list(self._ranges.keys()) partitions.sort(key=len, reverse=True) for partition in partitions: if aid.friendly.startswith(partition): Loading Loading @@ -1073,7 +1073,7 @@ class FSConfigGen(BaseGenerator): user_binary = bytearray(ctypes.c_uint16(int(user, 0))) group_binary = bytearray(ctypes.c_uint16(int(group, 0))) 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 out_file.write(length_binary) Loading Loading @@ -1169,21 +1169,21 @@ class AIDArrayGen(BaseGenerator): hdr = AIDHeaderParser(args['hdrfile']) max_name_length = max(len(aid.friendly) + 1 for aid in hdr.aids) print AIDArrayGen._GENERATED print print AIDArrayGen._INCLUDE print print AIDArrayGen._STRUCT_FS_CONFIG % max_name_length print print AIDArrayGen._OPEN_ID_ARRAY print(AIDArrayGen._GENERATED) print() print(AIDArrayGen._INCLUDE) print() print(AIDArrayGen._STRUCT_FS_CONFIG % max_name_length) print() print(AIDArrayGen._OPEN_ID_ARRAY) 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 print AIDArrayGen._COUNT print print(AIDArrayGen._CLOSE_FILE_STRUCT) print() print(AIDArrayGen._COUNT) print() @generator('oemaid') Loading Loading @@ -1225,15 +1225,15 @@ class OEMAidGen(BaseGenerator): 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: self._print_aid(aid) print print() print OEMAidGen._FILE_ENDIF print(OEMAidGen._FILE_ENDIF) def _print_aid(self, aid): """Prints a valid #define AID identifier to stdout. Loading @@ -1245,10 +1245,10 @@ class OEMAidGen(BaseGenerator): # print the source file location of the AID found_file = aid.found if found_file != self._old_file: print OEMAidGen._FILE_COMMENT % found_file print(OEMAidGen._FILE_COMMENT % 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') Loading Loading @@ -1292,7 +1292,7 @@ class PasswdGen(BaseGenerator): return aids_by_partition = {} partitions = hdr_parser.ranges.keys() partitions = list(hdr_parser.ranges.keys()) partitions.sort(key=len, reverse=True) for aid in aids: Loading Loading @@ -1331,7 +1331,7 @@ class PasswdGen(BaseGenerator): except ValueError as 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') Loading @@ -1356,7 +1356,7 @@ class GroupGen(PasswdGen): except ValueError as exception: sys.exit(exception) print "%s::%s:" % (logon, uid) print("%s::%s:" % (logon, uid)) @generator('print') Loading @@ -1379,7 +1379,7 @@ class PrintGen(BaseGenerator): aids.sort(key=lambda item: int(item.normalized_value)) for aid in aids: print '%s %s' % (aid.identifier, aid.normalized_value) print('%s %s' % (aid.identifier, aid.normalized_value)) def main(): Loading @@ -1393,7 +1393,7 @@ def main(): gens = generator.get() # 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.set_defaults(which=name) Loading
tools/fs_config/test_fs_config_generator.py +14 −14 Original line number Diff line number Diff line #!/usr/bin/env python #!/usr/bin/env python3 """Unit test suite for the fs_config_genertor.py tool.""" import tempfile Loading Loading @@ -64,7 +64,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_good(self): """Test AID Header Parser good input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" #define AID_FOO 1000 Loading @@ -91,7 +91,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_good_unordered(self): """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( textwrap.dedent(""" #define AID_FOO 1000 Loading @@ -118,7 +118,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_aid(self): """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( textwrap.dedent(""" #define AID_FOO "bad" Loading @@ -131,7 +131,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_oem_range(self): """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( textwrap.dedent(""" #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): """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( textwrap.dedent(""" #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): """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( textwrap.dedent(""" #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): """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( textwrap.dedent(""" #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): """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( textwrap.dedent(""" #define AID_OEM_RESERVED_START 2900 Loading @@ -201,7 +201,7 @@ class Tests(unittest.TestCase): def test_aid_header_parser_bad_duplicate_ranges(self): """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( textwrap.dedent(""" #define AID_FOO 100 Loading @@ -222,7 +222,7 @@ class Tests(unittest.TestCase): - https://android-review.googlesource.com/#/c/313169 """ with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" #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): """Test FSConfig Parser good input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" [/system/bin/file] Loading Loading @@ -305,7 +305,7 @@ class Tests(unittest.TestCase): def test_fs_config_file_parser_bad(self): """Test FSConfig Parser bad input file""" with tempfile.NamedTemporaryFile() as temp_file: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" [/system/bin/file] Loading @@ -319,7 +319,7 @@ class Tests(unittest.TestCase): 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: with tempfile.NamedTemporaryFile(mode='w') as temp_file: temp_file.write( textwrap.dedent(""" [AID_OEM1] Loading