This commit adds an option to generate ABI dumps without compressing
them with gzip.
Bug: 111376916
Test: ./create_reference_dumps.py
Test: ./create_reference_dumps.py --compress
Change-Id: I1ad0781744a9ba6ff34ffed9418576986daeb67d
- Add a test that compares protobuf and JSON dumps.
- Add input-format=Json to header-abi-linker and diff.
Bug: 112877706
Test: ./test.py
Change-Id: Ic9be304b565a2ac58ed76e1a0fcc96530395b750
- Add a test case and data for lsdump in JSON format
- Rename command line option -text-format to -output-format
- Add option -input-format to header-abi-linker
Bug: 112877706
Test: ./test.py
Change-Id: Ia94f7ffffbcaf55f336932029883ea3635c547e9
Using 'vndk_package' will miss out on vndk libraries not being used by the
lunch target
Bug: 64267858
Test: utils/create_reference_dumps.py
Change-Id: Ifaa61aae715af7f2010aadbfa9864da7c74ca14f
Currently, we do abi checks on the system variants of llndk libraries.
Therefore, add an 'llndk' flag to specify that the system variant should be
built.
Bug: 77101345
Test: utils/create_reference_dumps.py --llndk -l libdl produces
libdl references.
Change-Id: Id4c607674f096daf041520d4a1ca43199d4451da
- pick up lsdump paths from
$(OUT_DIR)/lsdump_paths/$(TARGET_PRODUCT)/paths.txt instead of
searching through out/soong/.intermediates.
- llndk lsdumps also get picked up and copied to ref dump dir root now
- creation of references are more fine grained to take into account
target arch variant and cpu variant as well.
- references for vndk libs and llndk libs for all target archs and
variants can be generated with one invocation of the script now.
Test: utils/create_reference_dumps.py -l libjpeg -l libc++ -l libc
Test: utils/create_reference_dumps.py -l libjpeg -l libc++ -l libc
--no-make-lib
Test: utils/create_reference_dumps.py
Change-Id: I9105900b70c62c01f8282e1782cb38a42f4d4356
Remove the additional step of gzipping reference dumps manually.
Test: utils/create_reference_dumps.py --version current -ref-dump-dir
$ANDROID_BUILD_TOP/prebuilts/abi-dumps/vndk; mm -j64 in
external/libexif.
Change-Id: Ib22a3b4fa90e4f849529efc4b03ab43d87996458
The key being added to respective maps which facilitate diffing of
unreferenced user defined types was earlier the linker set key. The
unique id should be used instead. This is because linker set keys for C
and C++ types can be the same, but their unique id's cannot. Thus,
having linker set keys as a key leaves open the possibility of false
type aliasing, whereas the unique id does not.
Test: python3 tests/test.py
Test: python3 tests/test.py \
MyTest.test_libc_and_cpp_with_unused_struct_and_libc_and_cpp_with_unused_cstruct;
before this change, this test fails; after this change, the test
passes.
Change-Id: I91816167a48308a8c812d01e0a09e9bb70c60b50
Since we now build and install all vndk libraries,regardless of
dependencies, we may just look for all files with the extension '.lsdump' for
TARGET_ARCH and TARGET_2ND_ARCH, and copy them to the given reference dump
directory.
Test: utils/create_reference_dumps.py --version current -ref-dump-dir
<dir> creates reference dumps at <dir>
Change-Id: Ic9db57b00614b3e8dc18d8e56eab4bd87df1723c
Previously, the tests mainly exercised header-abi-diff.
After this change, checked-in reference dumps are compared with
generated dumps. This allows us to:
- get header-abi-dumper and header-abi-linker involved in testing
better.
- Know about any incompatbile message format changes made
inadvertently.
Test: tests/test.py; all tests pass.
Change-Id: I7c7ba0811e6c08c6194a0a11616680279e7a0e1d
1) We do not involve the build system to create test reference dumps. Symbols
in tests, are faked through version scripts to avoid checking in prebuilt .so
test files.
2) Also add a script to create reference abi dumps.
3) Fix a comment in ast_processing.cpp
Test: Run tests/test.py, all tests run and pass on generic arm64, mips64
and x86_64 builds.
Change-Id: Id3a420c1ae093a05a79da4c29e85071f28d714d1