libabigail/tests
Matthias Maennich 4ecde9a800 KMI Whitelists: Add functionality to make whitelists additive
If multiple KMI whitelists are specified, either by passing
--kmi-whitelist several times or by having multiple whitelist sections
in the whitelist files, the generated suppressions are created as an
intersection of symbols. That is rather unusual, as whitelisting should
rather work additive. That means that the symbols (or expressions
thereof) defined across several sections or files shall be considered a
union of symbols. This patch combines the whitelist parsing to create
exactly one function_suppression and one variable suppression. A test
case has been added to ensure the functionality is working.

Please note, migrating the existing code to this new functionality is
done in a separate commit.

	* include/abg-tools-utils.h
	(gen_suppr_spec_from_kernel_abi_whitelists): New function.
	* src/abg-tools-utils.cc
	(gen_suppr_spec_from_kernel_abi_whitelists): Likewise.
	* tests/.gitignore: Ignore new test executable.
	* tests/Makefile.am: Add new test executable.
	* tests/data/test-kmi-whitelist/whitelist-with-another-single-entry:
	New test input file.
	* tests/data/test-kmi-whitelist/whitelist-with-duplicate-entry:
	Likewise.
	* tests/data/test-kmi-whitelist/whitelist-with-single-entry:
	Likewise.
	* tests/data/test-kmi-whitelist/whitelist-with-two-sections:
	Likewise.
	* tests/data/Makefile.am: Add above test material.
	* tests/test-kmi-whitelist.cc: Add new test executable.

Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
Signed-off-by: Matthias Maennich <maennich@google.com>
2020-01-21 18:37:43 +00:00
..
data KMI Whitelists: Add functionality to make whitelists additive 2020-01-21 18:37:43 +00:00
.gitignore KMI Whitelists: Add functionality to make whitelists additive 2020-01-21 18:37:43 +00:00
Makefile.am KMI Whitelists: Add functionality to make whitelists additive 2020-01-21 18:37:43 +00:00
mockfedabipkgdiff.in Bug 22722 - Make fedabipkgdiff and its tests support both python 3 and 2 2018-03-29 13:46:50 +02:00
print-diff-tree.cc abilint: fix return types bool -> int 2019-04-16 16:11:01 +02:00
runtestcanonicalizetypes.sh.in Bug 20180 - Support system-wide suppression specifications 2016-05-30 18:39:49 +02:00
runtestdefaultsupprs.py.in Fix typo in tests/runtestdefaultsupprs.py 2018-05-24 10:48:56 +02:00
runtestdefaultsupprspy3.sh.in Bug 22722 - Make fedabipkgdiff and its tests support both python 3 and 2 2018-03-29 13:46:50 +02:00
runtestfedabipkgdiff.py.in Bug 22722 - Make fedabipkgdiff and its tests support both python 3 and 2 2018-03-29 13:46:50 +02:00
runtestfedabipkgdiffpy3.sh.in Bug 22722 - Make fedabipkgdiff and its tests support both python 3 and 2 2018-03-29 13:46:50 +02:00
test-abicompat.cc Update copyright for 2019 2019-01-07 14:54:47 +01:00
test-abidiff-exit.cc Update copyright for 2019 2019-01-07 14:54:47 +01:00
test-abidiff.cc abg-reader: handle empty corpus nodes in xml representation 2020-01-20 12:20:09 +00:00
test-alt-dwarf-file.cc Update copyright for 2019 2019-01-07 14:54:47 +01:00
test-annotate.cc Handle several member anonymous types of the same kind 2019-05-07 14:31:16 +02:00
test-core-diff.cc Update copyright for 2019 2019-01-07 14:54:47 +01:00
test-diff-dwarf-abixml.cc Bug 25409 - Fix reading layout-offset-in-bits attribute of data-member 2020-01-17 16:35:29 +01:00
test-diff-dwarf.cc PR25058 - Support decl DIEs referring to symbols using DW_AT_ranges 2019-10-03 17:42:30 +02:00
test-diff-filter.cc Bug 24787 - Filter out enum changes into compatible integer types 2019-07-19 18:22:12 +02:00
test-diff-pkg.cc Bug 24690 - Support comparing non-reachable types of a binary 2020-01-06 14:26:00 +01:00
test-diff-suppr.cc abidiff/kmidiff: do not default-suppress added symbols 2020-01-17 12:40:27 +00:00
test-diff2.cc Update copyright for 2019 2019-01-07 14:54:47 +01:00
test-dot.cc
test-ini.cc Update copyright for 2019 2019-01-07 14:54:47 +01:00
test-ir-walker.cc Update copyright for 2019 2019-01-07 14:54:47 +01:00
test-kmi-whitelist.cc KMI Whitelists: Add functionality to make whitelists additive 2020-01-21 18:37:43 +00:00
test-lookup-syms.cc Update copyright for 2019 2019-01-07 14:54:47 +01:00
test-read-dwarf.cc PR25042 - Support string form DW_FORM_strx{1,4} from DWARF 5 2019-10-01 14:14:41 +02:00
test-read-write.cc Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
test-svg.cc
test-tools-utils.cc Fully account for anonymous-ness of scopes when comparing decl names 2019-06-21 11:42:44 +02:00
test-types-stability.cc Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
test-utils.cc Update copyright for 2019 2019-01-07 14:54:47 +01:00
test-utils.h Conditionalize the Rust support regression test 2019-01-24 11:06:57 +01:00
test-valgrind-suppressions.supp Shut down a helgrind false positive in the "system" libc call 2017-03-17 09:02:19 +01:00
test-write-read-archive.cc Add compatibility layer for C++11 mode 2019-07-09 18:05:28 +02:00
update-test-output.py Rename tests/update-test-read-dwarf-output.py 2016-12-02 12:59:32 +01:00