Refactor header-checker tests
- Rename the unit test class to HeaderCheckerTest.
- Create/delete temporary directory in setUp/tearDown.
- Move make_and_copy_reference_dumps from gen_all.py to test.py.
- Remove duplicate constant paths.
- Add default arguments to LsdumpModule.
- Fix coding style.
Bug: 117582158
Test: ./gen_all.py
Test: ./test.py
Change-Id: I6345a10da5431e8057e4a9321ecce4168b7d5292
diff --git a/vndk/tools/header-checker/tests/gen_all.py b/vndk/tools/header-checker/tests/gen_all.py
index 9bb62e9..474b722 100755
--- a/vndk/tools/header-checker/tests/gen_all.py
+++ b/vndk/tools/header-checker/tests/gen_all.py
@@ -9,25 +9,18 @@
sys.path.insert(1, import_path)
from utils import run_header_abi_dumper
-from utils import copy_reference_dump_content
from module import Module
+from test import INPUT_DIR
+from test import EXPECTED_DIR
+from test import make_and_copy_reference_dumps
-SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
-INPUT_DIR = os.path.join(SCRIPT_DIR, 'input')
-EXPECTED_DIR = os.path.join(SCRIPT_DIR, 'expected')
-REFERENCE_DUMP_DIR = os.path.join(SCRIPT_DIR, 'reference_dumps')
FILE_EXTENSIONS = ['h', 'hpp', 'hxx', 'cpp', 'cc', 'c']
-def make_and_copy_reference_dumps(module, default_cflags=[],
- reference_dump_dir=REFERENCE_DUMP_DIR):
- lsdump_content = module.make_dump(default_cflags)
- return copy_reference_dump_content(module.get_dump_name(), lsdump_content,
- reference_dump_dir, '', module.arch)
def main():
patt = re.compile(
- '^.*\\.(?:' + \
- '|'.join('(?:' + re.escape(ext) + ')' for ext in FILE_EXTENSIONS) + \
+ '^.*\\.(?:' +
+ '|'.join('(?:' + re.escape(ext) + ')' for ext in FILE_EXTENSIONS) +
')$')
input_dir_prefix_len = len(INPUT_DIR) + 1
for base, dirnames, filenames in os.walk(INPUT_DIR):
@@ -48,9 +41,10 @@
f.write(output_content)
modules = Module.get_test_modules()
for module in modules:
- make_and_copy_reference_dumps(module)
+ print('Created abi dump at', make_and_copy_reference_dumps(module))
return 0
+
if __name__ == '__main__':
sys.exit(main())
diff --git a/vndk/tools/header-checker/tests/module.py b/vndk/tools/header-checker/tests/module.py
index 8ef0246..a3ae379 100755
--- a/vndk/tools/header-checker/tests/module.py
+++ b/vndk/tools/header-checker/tests/module.py
@@ -11,26 +11,25 @@
from utils import run_header_abi_dumper
from utils import run_header_abi_dumper_on_file
from utils import run_header_abi_linker
-from utils import TARGET_ARCHS
from utils import SOURCE_ABI_DUMP_EXT
SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
-INPUT_DIR = os.path.join(SCRIPT_DIR, 'input')
-EXPECTED_DIR = os.path.join(SCRIPT_DIR, 'expected')
-REF_DUMP_DIR = os.path.join(SCRIPT_DIR, 'reference_dumps')
ARCH_TARGET_CFLAGS = {
- 'arm': ['-target', 'arm-linux-androideabi'],
- 'arm64': ['-target', 'aarch64-linux-android'],
- 'x86': ['-target', 'i386-linux-androideabi'],
- 'x86_64': ['-target', 'x86_64-linux-android'],
- 'mips': ['-target', 'mips-linux-androideabi'],
- 'mips64': ['-target', 'mips64-linux-android'],
+ 'arm': ('-target', 'arm-linux-androideabi'),
+ 'arm64': ('-target', 'aarch64-linux-android'),
+ 'x86': ('-target', 'i386-linux-androideabi'),
+ 'x86_64': ('-target', 'x86_64-linux-android'),
+ 'mips': ('-target', 'mips-linux-androideabi'),
+ 'mips64': ('-target', 'mips64-linux-android'),
}
+TARGET_ARCHES = ['arm', 'arm64', 'x86', 'x86_64', 'mips', 'mips64']
+
def relative_to_abs_path(relative_path):
return os.path.join(SCRIPT_DIR, relative_path)
+
def relative_to_abs_path_list(relative_path_list):
abs_paths = []
for relative_path in relative_path_list:
@@ -42,17 +41,16 @@
def __init__(self, name, arch, cflags, export_include_dirs):
self.name = name
self.arch = arch
- self.cflags = cflags
- self.arch_cflags = ['']
- if self.arch != '':
- self.arch_cflags = ARCH_TARGET_CFLAGS.get(self.arch)
- self.export_include_dirs = relative_to_abs_path_list(export_include_dirs)
+ self.cflags = tuple(cflags)
+ self.arch_cflags = ARCH_TARGET_CFLAGS.get(self.arch, tuple())
+ self.export_include_dirs = relative_to_abs_path_list(
+ export_include_dirs)
def get_dump_name(self):
"""Returns the module name followed by file extension."""
raise NotImplementedError()
- def make_dump(self, default_cflags):
+ def make_dump(self):
"""Returns the dump content as a string."""
raise NotImplementedError()
@@ -61,8 +59,10 @@
raise NotImplementedError()
def mutate_for_all_arches(self):
+ if self.arch:
+ return [self]
modules = []
- for target_arch in TARGET_ARCHS:
+ for target_arch in TARGET_ARCHES:
modules.append(self.mutate_for_arch(target_arch))
return modules
@@ -70,13 +70,12 @@
def get_test_modules():
modules = []
for module in TEST_MODULES.values():
- if module.arch == '':
- modules += module.mutate_for_all_arches()
+ modules += module.mutate_for_all_arches()
return modules
@staticmethod
- def get_test_module_by_name(name):
- return TEST_MODULES.get(name)
+ def get_test_modules_by_name(name):
+ return TEST_MODULES.get(name).mutate_for_all_arches()
class SdumpModule(Module):
@@ -90,7 +89,7 @@
def get_dump_name(self):
return self.name + '.sdump'
- def make_dump(self, default_cflags):
+ def make_dump(self):
return run_header_abi_dumper(
self.src, remove_absolute_paths=True, cflags=self.cflags,
export_include_dirs=self.export_include_dirs,
@@ -102,8 +101,8 @@
class LsdumpModule(Module):
- def __init__(self, name, arch, srcs, version_script, cflags,
- export_include_dirs, api, dumper_flags=tuple(),
+ def __init__(self, name, srcs, version_script, export_include_dirs,
+ cflags=tuple(), arch='', api='current', dumper_flags=tuple(),
linker_flags=tuple()):
super(LsdumpModule, self).__init__(name, arch, cflags,
export_include_dirs)
@@ -116,28 +115,28 @@
def get_dump_name(self):
return self.name + SOURCE_ABI_DUMP_EXT
- def make_dump(self, default_cflags):
- """ For each source file, produce a .sdump file, and link them to form
- an lsump file"""
+ def make_dump(self):
+ """For each source file, produce a .sdump file, and link them to form
+ an lsump file."""
dumps_to_link = []
with tempfile.TemporaryDirectory() as tmp:
output_lsdump = os.path.join(tmp, self.get_dump_name())
for src in self.srcs:
- output_path = os.path.join(tmp, os.path.basename(src)) + '.sdump'
+ output_path = os.path.join(tmp,
+ os.path.basename(src) + '.sdump')
dumps_to_link.append(output_path)
run_header_abi_dumper_on_file(
src, output_path, self.export_include_dirs,
- self.cflags + self.arch_cflags + default_cflags,
+ self.cflags + self.arch_cflags,
self.dumper_flags)
return run_header_abi_linker(output_lsdump, dumps_to_link,
self.version_script, self.api,
self.arch, self.linker_flags)
def mutate_for_arch(self, target_arch):
- return LsdumpModule(self.name, target_arch, self.srcs,
- self.version_script, self.cflags,
- self.export_include_dirs, self.api,
- self.dumper_flags, self.linker_flags)
+ return LsdumpModule(self.name, self.srcs, self.version_script,
+ self.export_include_dirs, self.cflags, target_arch,
+ self.api, self.dumper_flags, self.linker_flags)
TEST_MODULES = [
@@ -159,9 +158,6 @@
],
version_script='integration/c_and_cpp/map.txt',
export_include_dirs=['integration/c_and_cpp/include'],
- cflags=[],
- arch='',
- api='current',
),
LsdumpModule(
name='libc_and_cpp_with_opaque_ptr_a',
@@ -172,8 +168,6 @@
version_script='integration/c_and_cpp/map.txt',
export_include_dirs=['integration/c_and_cpp/include'],
cflags=['-DOPAQUE_STRUCT_A=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libc_and_cpp_with_opaque_ptr_b',
@@ -184,8 +178,6 @@
version_script='integration/c_and_cpp/map.txt',
export_include_dirs=['integration/c_and_cpp/include'],
cflags=['-DOPAQUE_STRUCT_B=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libc_and_cpp_with_unused_struct',
@@ -196,8 +188,6 @@
version_script='integration/c_and_cpp/map.txt',
export_include_dirs=['integration/c_and_cpp/include'],
cflags=['-DINCLUDE_UNUSED_STRUCTS=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libc_and_cpp_with_unused_cstruct',
@@ -208,8 +198,6 @@
version_script='integration/c_and_cpp/map.txt',
export_include_dirs=['integration/c_and_cpp/include'],
cflags=['-DINCLUDE_UNUSED_STRUCTS=1', '-DMAKE_UNUSED_STRUCT_C=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp',
@@ -220,9 +208,6 @@
],
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
- cflags=[],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_odr',
@@ -234,8 +219,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DTEST_ODR'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_add_function',
@@ -247,8 +230,6 @@
version_script='integration/cpp/gold/map_add_function.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_ADD_FUNCTION=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_add_function_and_unexported_elf',
@@ -272,9 +253,6 @@
],
version_script='integration/cpp/gold/map_add_function.txt',
export_include_dirs=['integration/cpp/gold/include'],
- cflags=[],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_change_function_access',
@@ -286,8 +264,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_CHANGE_FUNCTION_ACCESS=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_add_global_variable',
@@ -299,8 +275,6 @@
version_script='integration/cpp/gold/map_added_globvar.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_ADD_GLOBVAR=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_add_global_variable_private',
@@ -312,8 +286,6 @@
version_script='integration/cpp/gold/map_added_globvar.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_ADD_GLOBVAR=1', '-DGOLDEN_ADD_GLOBVAR_PRIVATE'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_return_type_diff',
@@ -325,8 +297,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_RETURN_TYPE_DIFF=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_parameter_type_diff',
@@ -338,8 +308,6 @@
version_script='integration/cpp/gold/map_parameter_type_diff.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_PARAMETER_TYPE_DIFF=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_vtable_diff',
@@ -351,8 +319,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_VTABLE_DIFF=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_member_diff',
@@ -364,8 +330,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_MEMBER_DIFF=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_member_fake_diff',
@@ -377,8 +341,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_MEMBER_FAKE_DIFF=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_member_cv_diff',
@@ -390,8 +352,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_MEMBER_CV_DIFF=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_change_member_access',
@@ -403,8 +363,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_CHANGE_MEMBER_ACCESS=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_member_integral_type_diff',
@@ -416,8 +374,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_MEMBER_INTEGRAL_TYPE_DIFF=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_enum_diff',
@@ -429,8 +385,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_ENUM_DIFF=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_enum_extended',
@@ -442,8 +396,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_ENUM_EXTENSION=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_unreferenced_elf_symbol_removed',
@@ -454,18 +406,12 @@
],
version_script='integration/cpp/gold/map_elf_symbol_removed.txt',
export_include_dirs=['integration/cpp/gold/include'],
- cflags=[],
- arch='',
- api='current',
),
LsdumpModule(
name='libreproducability',
srcs=['integration/c_and_cpp/reproducability.c'],
version_script='integration/c_and_cpp/repro_map.txt',
export_include_dirs=['integration/c_and_cpp/include'],
- cflags=[],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_member_name_changed',
@@ -477,8 +423,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_CHANGE_MEMBER_NAME_SAME_OFFSET=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_function_pointer',
@@ -490,8 +434,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_FUNCTION_POINTER=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_function_pointer_parameter_added',
@@ -504,8 +446,6 @@
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_FUNCTION_POINTER_ADD_PARAM=1',
'-DGOLDEN_FUNCTION_POINTER=1'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_internal_public_struct',
@@ -518,8 +458,6 @@
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_WITH_INTERNAL_STRUCT',
'-DGOLDEN_WITH_PUBLIC_INTERNAL_STRUCT'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_internal_private_struct',
@@ -531,8 +469,6 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_WITH_INTERNAL_STRUCT'],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_inheritance_type_changed',
@@ -544,17 +480,12 @@
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
cflags=['-DGOLDEN_CHANGE_INHERITANCE_TYPE'],
- arch='',
- api='current',
),
LsdumpModule(
name='libpure_virtual_function',
srcs=['integration/cpp/pure_virtual/pure_virtual_function.cpp'],
export_include_dirs=['integration/cpp/pure_virtual/include'],
version_script='',
- cflags=[],
- arch='',
- api='current',
),
LsdumpModule(
name='libgolden_cpp_json',
@@ -565,9 +496,6 @@
],
version_script='integration/cpp/gold/map.txt',
export_include_dirs=['integration/cpp/gold/include'],
- cflags=[],
- arch='',
- api='current',
dumper_flags=['-output-format', 'Json'],
linker_flags=['-input-format', 'Json', '-output-format', 'Json']
),
diff --git a/vndk/tools/header-checker/tests/test.py b/vndk/tools/header-checker/tests/test.py
index bef8e74..71d6260 100755
--- a/vndk/tools/header-checker/tests/test.py
+++ b/vndk/tools/header-checker/tests/test.py
@@ -9,11 +9,9 @@
import_path = os.path.abspath(os.path.join(import_path, 'utils'))
sys.path.insert(1, import_path)
-from utils import (
- AOSP_DIR, SOURCE_ABI_DUMP_EXT, TARGET_ARCHS, read_output_content,
- run_abi_diff, run_header_abi_dumper)
+from utils import (AOSP_DIR, read_output_content, run_abi_diff,
+ run_header_abi_dumper)
from module import Module
-from gen_all import make_and_copy_reference_dumps
SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
@@ -22,11 +20,37 @@
REF_DUMP_DIR = os.path.join(SCRIPT_DIR, 'reference_dumps')
-class MyTest(unittest.TestCase):
+def make_and_copy_reference_dumps(module, reference_dump_dir=REF_DUMP_DIR):
+ output_content = module.make_dump()
+
+ dump_dir = os.path.join(reference_dump_dir, module.arch)
+ os.makedirs(dump_dir, exist_ok=True)
+
+ dump_path = os.path.join(dump_dir, module.get_dump_name())
+ with open(dump_path, 'w') as f:
+ f.write(output_content)
+
+ return dump_path
+
+
+class HeaderCheckerTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.maxDiff = None
+ def setUp(self):
+ self.tmp_dir = None
+
+ def tearDown(self):
+ if self.tmp_dir:
+ self.tmp_dir.cleanup()
+ self.tmp_dir = None
+
+ def get_tmp_dir(self):
+ if not self.tmp_dir:
+ self.tmp_dir = tempfile.TemporaryDirectory()
+ return self.tmp_dir.name
+
def run_and_compare(self, input_path, expected_path, cflags=[]):
with open(expected_path, 'r') as f:
expected_output = f.read()
@@ -53,43 +77,43 @@
def prepare_and_run_abi_diff(self, old_ref_dump_path, new_ref_dump_path,
target_arch, expected_return_code, flags=[]):
self.run_and_compare_abi_diff(old_ref_dump_path, new_ref_dump_path,
- 'test', target_arch, expected_return_code,
- flags)
+ 'test', target_arch,
+ expected_return_code, flags)
- def create_ref_dump(self, module_bare, dir_name, target_arch):
- module = module_bare.mutate_for_arch(target_arch)
- return make_and_copy_reference_dumps(module, [], dir_name)
-
- def get_or_create_ref_dump(self, name, target_arch, dir_name, create):
- module = Module.get_test_module_by_name(name)
- if create == True:
- return self.create_ref_dump(module, dir_name, target_arch)
- return os.path.join(REF_DUMP_DIR, target_arch, module.get_dump_name())
+ def get_or_create_ref_dump(self, module, create):
+ if create:
+ return make_and_copy_reference_dumps(module, self.get_tmp_dir())
+ return os.path.join(REF_DUMP_DIR, module.arch, module.get_dump_name())
def prepare_and_run_abi_diff_all_archs(self, old_lib, new_lib,
expected_return_code, flags=[],
create_old=False, create_new=True):
- with tempfile.TemporaryDirectory() as tmp:
- for target_arch in TARGET_ARCHS:
- old_ref_dump_path = self.get_or_create_ref_dump(
- old_lib, target_arch, tmp, create_old)
- new_ref_dump_path = self.get_or_create_ref_dump(
- new_lib, target_arch, tmp, create_new)
- self.prepare_and_run_abi_diff(
- old_ref_dump_path, new_ref_dump_path, target_arch,
- expected_return_code, flags)
+ old_modules = Module.get_test_modules_by_name(old_lib)
+ new_modules = Module.get_test_modules_by_name(new_lib)
+ self.assertEqual(len(old_modules), len(new_modules))
- def prepare_and_absolute_diff_all_archs(self, old_lib, new_lib,
- flags=[], create=True):
- with tempfile.TemporaryDirectory() as tmp:
- for target_arch in TARGET_ARCHS:
- old_ref_dump_path = self.get_or_create_ref_dump(
- old_lib, target_arch, tmp, False)
- new_ref_dump_path = self.get_or_create_ref_dump(
- new_lib, target_arch, tmp, create)
- self.assertEqual(
- read_output_content(old_ref_dump_path, AOSP_DIR),
- read_output_content(new_ref_dump_path, AOSP_DIR))
+ for old_module, new_module in zip(old_modules, new_modules):
+ self.assertEqual(old_module.arch, new_module.arch)
+ old_ref_dump_path = self.get_or_create_ref_dump(old_module,
+ create_old)
+ new_ref_dump_path = self.get_or_create_ref_dump(new_module,
+ create_new)
+ self.prepare_and_run_abi_diff(
+ old_ref_dump_path, new_ref_dump_path, new_module.arch,
+ expected_return_code, flags)
+
+ def prepare_and_absolute_diff_all_archs(self, old_lib, new_lib):
+ old_modules = Module.get_test_modules_by_name(old_lib)
+ new_modules = Module.get_test_modules_by_name(new_lib)
+ self.assertEqual(len(old_modules), len(new_modules))
+
+ for old_module, new_module in zip(old_modules, new_modules):
+ self.assertEqual(old_module.arch, new_module.arch)
+ old_ref_dump_path = self.get_or_create_ref_dump(old_module, False)
+ new_ref_dump_path = self.get_or_create_ref_dump(new_module, True)
+ self.assertEqual(
+ read_output_content(old_ref_dump_path, AOSP_DIR),
+ read_output_content(new_ref_dump_path, AOSP_DIR))
def test_example1_cpp(self):
self.run_and_compare_name_cpp('example1.cpp')
@@ -168,7 +192,8 @@
def test_libgolden_cpp_add_function_and_elf_symbol(self):
self.prepare_and_run_abi_diff_all_archs(
- "libgolden_cpp", "libgolden_cpp_add_function_and_unexported_elf", 4)
+ "libgolden_cpp", "libgolden_cpp_add_function_and_unexported_elf",
+ 4)
def test_libgolden_cpp_fabricated_function_ast_removed_diff(self):
self.prepare_and_run_abi_diff_all_archs(
@@ -244,7 +269,8 @@
def test_libgolden_cpp_member_function_pointer_changed(self):
self.prepare_and_run_abi_diff_all_archs(
"libgolden_cpp_function_pointer",
- "libgolden_cpp_function_pointer_parameter_added", 8, [], True, True)
+ "libgolden_cpp_function_pointer_parameter_added", 8, [],
+ True, True)
def test_libgolden_cpp_internal_struct_access_upgraded(self):
self.prepare_and_run_abi_diff_all_archs(
diff --git a/vndk/tools/header-checker/utils/utils.py b/vndk/tools/header-checker/utils/utils.py
index 88982af..842e99c 100644
--- a/vndk/tools/header-checker/utils/utils.py
+++ b/vndk/tools/header-checker/utils/utils.py
@@ -19,7 +19,8 @@
BUILTIN_HEADERS_DIR = (
os.path.join(AOSP_DIR, 'bionic', 'libc', 'include'),
os.path.join(AOSP_DIR, 'external', 'libcxx', 'include'),
- os.path.join(AOSP_DIR, 'prebuilts', 'clang-tools', 'linux-x86', 'clang-headers'),
+ os.path.join(AOSP_DIR, 'prebuilts', 'clang-tools', 'linux-x86',
+ 'clang-headers'),
)
EXPORTED_HEADERS_DIR = (
@@ -38,8 +39,6 @@
DEFAULT_HEADER_FLAGS = ["-dump-function-declarations"]
DEFAULT_FORMAT = 'ProtobufTextFormat'
-TARGET_ARCHS = ['arm', 'arm64', 'x86', 'x86_64', 'mips', 'mips64']
-
def get_reference_dump_dir(reference_dump_dir_stem,
reference_dump_dir_insertion, lib_arch):
@@ -78,21 +77,6 @@
return reference_dump_path
-def copy_reference_dump_content(file_name, output_content,
- reference_dump_dir_stem,
- reference_dump_dir_insertion, lib_arch):
- reference_dump_dir = get_reference_dump_dir(reference_dump_dir_stem,
- reference_dump_dir_insertion,
- lib_arch)
- reference_dump_path = os.path.join(reference_dump_dir, file_name)
- os.makedirs(os.path.dirname(reference_dump_path), exist_ok=True)
- with open(reference_dump_path, 'w') as f:
- f.write(output_content)
-
- print('Created abi dump at', reference_dump_path)
- return reference_dump_path
-
-
def read_output_content(output_path, replace_str):
with open(output_path, 'r') as f:
return f.read().replace(replace_str, '')
@@ -115,7 +99,7 @@
export_include_dirs=tuple(), cflags=tuple(),
flags=tuple()):
input_ext = os.path.splitext(input_path)[1]
- cmd = ['header-abi-dumper', '-o', output_path, input_path,]
+ cmd = ['header-abi-dumper', '-o', output_path, input_path]
for dir in export_include_dirs:
cmd += ['-I', dir]
cmd += flags
@@ -188,15 +172,15 @@
cpu_variant = '_' + target_cpu_variant
arch_variant = '_' + target_arch_variant
arch_lsdump_paths = []
- if target_cpu_variant == 'generic' or target_cpu_variant is None or\
- target_cpu_variant == '':
+ if (target_cpu_variant == 'generic' or target_cpu_variant is None or
+ target_cpu_variant == ''):
cpu_variant = ''
- if target_arch_variant == target_arch or target_arch_variant is None or\
- target_arch_variant == '':
+ if (target_arch_variant == target_arch or target_arch_variant is None or
+ target_arch_variant == ''):
arch_variant = ''
- target_dir = 'android_' + target_arch + arch_variant +\
- cpu_variant + core_or_vendor_shared_str
+ target_dir = ('android_' + target_arch + arch_variant +
+ cpu_variant + core_or_vendor_shared_str)
for key in lsdump_paths:
if libs and key not in libs:
continue
@@ -245,7 +229,7 @@
out, err = proc.communicate()
if proc.returncode != 0:
- print ("error: %s" % err.decode('utf-8'), file=sys.stderr)
+ print("error: %s" % err.decode('utf-8'), file=sys.stderr)
return None
build_vars = out.decode('utf-8').strip().splitlines()