libabigail/tests/data/test-diff-suppr
Dodji Seketeli 19013fd110 Sort functions & variables diff nodes in the diff tree
Since the work on un-sharing diff tree nodes, it looks like some
reports of regression tests on i686 order functions and variables in
different orders, leading to test failures on 32 bits platforms
because they are different fromthe 64 bits platforms that we use as a
reference.  This patch sorts (lexicographically) the children diff
nodes of a given diff node in general, and also sorts the set of diff
nodes for functions and variables that have sub-type changes, in a
given corpus_diff.  That way, the result of the diff report should be
sorted the same way, whatever the platform.

	* include/abg-comparison.h (function_decl_diff_sptrs_type)
	(var_diff_sptrs_type): New typedefs.
	(corpus_diff::{changed_functions, changed_variables}): Declare new
	methods.
	* src/abg-comparison.cc (sort_string_function_decl_diff_sptr_map)
	(sort_string_var_diff_sptr_map): Forward declare these static
	functions there were already defined later.
	(struct diff_less_than_functor): Define new comparison functor.
	(diff::append_child_node): Sort the children diff nodes of a given
	diff node.
	(corpus_diff::priv::changed_fns_map_): Renamed the data member
	corpus_diff::priv::changed_fns_ into this.
	(corpus_diff::priv::changed_fns_): New data member that is a
	sorted vector of changed functions.
	(corpus_diff::priv::{lookup_tables_empty, clear_lookup_tables}):
	Adjust changed_fns_ -> changed_fns_map_ and changed_vars_ ->
	changed_vars_map_.
	(corpus_diff::priv::ensure_lookup_tables_populated): Likewise.
	Sort the changed functions and changed variables.
	(corpus_diff::priv::apply_filters_and_compute_diff_stats): Adjust
	changed_fns_ -> changed_fns_map_ and changed_vars_ ->
	changed_vars_map_.  Also, walk the changed functions and variables
	diff nodes in their sorted order.
	(corpus_diff::priv::{categorize_redundant_changed_sub_nodes,
	clear_redundancy_categorization, maybe_dump_diff_tree}): Walk the
	changed functions and variables diff nodes in their sorted order.
	* include/abg-ir.h
	(function_decl::get_pretty_representation_of_declarator):
	Declarenew method.
	* src/abg-ir.cc
	(function_decl::get_pretty_representation_of_declarator): Define
	new function.  Its content got split out of ...
	(function_decl::get_pretty_representation): ... this one.
	* src/abg-comparison.cc (corpus_diff::chain_into_hierarchy):
	Consider the sorted the children nodes of a diff tree node.
	(corpus_diff::append_child_node): Keep the children nodes of a
	diff tree node sorted.
	(corpus_diff::{changed_functions, changed_variables, length,
	report}): Adjust.
	(corpus_diff::{changed_functions_sorted,
	changed_variables_sorted}): Define new functions.
	(function_comp::operator()): First compare the qualified function
	names along with the parameter declarations, then the rest.
	(sort_string_function_decl_diff_sptr_map)
	(sort_string_var_diff_sptr_map): Adjust.
	* tests/data/test-abicompat/test0-fn-changed-report-0.txt: Adjust.
	* tests/data/test-diff-suppr/test5-fn-suppr-report-0.txt: Adjust.
	* tests/data/test-diff-suppr/test8-redundant-fn-report-0.txt:
	Adjust.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2015-01-09 14:45:11 +01:00
..
libtest4-local-suppr-v0.so Properly propagate {REDUNDANT, SUPPRESSED}_CATEGORY wrt local changes 2014-10-13 17:44:44 +02:00
libtest4-local-suppr-v1.so Properly propagate {REDUNDANT, SUPPRESSED}_CATEGORY wrt local changes 2014-10-13 17:44:44 +02:00
libtest5-fn-suppr-v0.so Initial support for function suppressions 2014-10-28 17:36:32 +01:00
libtest5-fn-suppr-v1.so Initial support for function suppressions 2014-10-28 17:36:32 +01:00
libtest6-fn-suppr-v0.so Initial support for function suppressions 2014-10-28 17:36:32 +01:00
libtest6-fn-suppr-v1.so Initial support for function suppressions 2014-10-28 17:36:32 +01:00
libtest7-var-suppr-v0.so Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
libtest7-var-suppr-v1.so Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
libtest8-redundant-fn-v0.so Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
libtest8-redundant-fn-v1.so Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
libtest9-changed-parm-c-v0.so Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
libtest9-changed-parm-c-v1.so Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
libtest10-changed-parm-c-v0.so Do not mark sibling structurally identical nodes as redundant 2014-12-26 18:45:06 +01:00
libtest10-changed-parm-c-v1.so Do not mark sibling structurally identical nodes as redundant 2014-12-26 18:45:06 +01:00
test0-type-suppr-0.suppr Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test0-type-suppr-1.suppr Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test0-type-suppr-2.suppr Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test0-type-suppr-report-0.txt Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test0-type-suppr-report-1.txt Support comparing symbols not referenced by debug info 2014-10-22 23:04:40 +02:00
test0-type-suppr-report-2.txt Support comparing symbols not referenced by debug info 2014-10-22 23:04:40 +02:00
test0-type-suppr-report-3.txt Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test0-type-suppr-v0.cc Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test0-type-suppr-v0.o Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test0-type-suppr-v1.cc Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test0-type-suppr-v1.o Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test1-typedef-suppr-0.suppr Replace is_typedef by type_kind property in type suppressions 2014-10-13 17:44:44 +02:00
test1-typedef-suppr-1.suppr Replace is_typedef by type_kind property in type suppressions 2014-10-13 17:44:44 +02:00
test1-typedef-suppr-report-0.txt Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test1-typedef-suppr-report-1.txt Support comparing symbols not referenced by debug info 2014-10-22 23:04:40 +02:00
test1-typedef-suppr-report-2.txt Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test1-typedef-suppr-v0.c Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test1-typedef-suppr-v0.o Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test1-typedef-suppr-v1.c Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test1-typedef-suppr-v1.o Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test1-typedef-suppr.h Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test2-struct-suppr-0.suppr Fix struct type kind suppression support 2014-10-13 17:44:44 +02:00
test2-struct-suppr-1.suppr Fix struct type kind suppression support 2014-10-13 17:44:44 +02:00
test2-struct-suppr-report-0.txt Fix struct type kind suppression support 2014-10-13 17:44:44 +02:00
test2-struct-suppr-report-1.txt Support comparing symbols not referenced by debug info 2014-10-22 23:04:40 +02:00
test2-struct-suppr-v0.cc Fix struct type kind suppression support 2014-10-13 17:44:44 +02:00
test2-struct-suppr-v0.o Fix struct type kind suppression support 2014-10-13 17:44:44 +02:00
test2-struct-suppr-v1.cc Fix struct type kind suppression support 2014-10-13 17:44:44 +02:00
test2-struct-suppr-v1.o Fix struct type kind suppression support 2014-10-13 17:44:44 +02:00
test3-struct-suppr-0.suppr Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test3-struct-suppr-1.suppr Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test3-struct-suppr-report-0.txt Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test3-struct-suppr-report-1.txt Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test3-struct-suppr-report-2.txt Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test3-struct-suppr-v0.cc Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test3-struct-suppr-v0.o Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test3-struct-suppr-v1.cc Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test3-struct-suppr-v1.o Initial support for type suppressions 2014-10-13 17:44:44 +02:00
test4-local-suppr-0.suppr Properly propagate {REDUNDANT, SUPPRESSED}_CATEGORY wrt local changes 2014-10-13 17:44:44 +02:00
test4-local-suppr-report-0.txt Properly propagate {REDUNDANT, SUPPRESSED}_CATEGORY wrt local changes 2014-10-13 17:44:44 +02:00
test4-local-suppr-report-1.txt Properly propagate {REDUNDANT, SUPPRESSED}_CATEGORY wrt local changes 2014-10-13 17:44:44 +02:00
test4-local-suppr-v0.c Properly propagate {REDUNDANT, SUPPRESSED}_CATEGORY wrt local changes 2014-10-13 17:44:44 +02:00
test4-local-suppr-v0.h Properly propagate {REDUNDANT, SUPPRESSED}_CATEGORY wrt local changes 2014-10-13 17:44:44 +02:00
test4-local-suppr-v1.c Properly propagate {REDUNDANT, SUPPRESSED}_CATEGORY wrt local changes 2014-10-13 17:44:44 +02:00
test4-local-suppr-v1.h Properly propagate {REDUNDANT, SUPPRESSED}_CATEGORY wrt local changes 2014-10-13 17:44:44 +02:00
test5-fn-suppr-0.suppr Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-1.suppr Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-2.suppr Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-3.suppr Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-4.suppr Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-report-0.txt Sort functions & variables diff nodes in the diff tree 2015-01-09 14:45:11 +01:00
test5-fn-suppr-report-1.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-report-2.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-report-3.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-report-4.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-report-5.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-v0.cc Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test5-fn-suppr-v1.cc Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-0.suppr Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-1.suppr Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-2.suppr Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-3.suppr Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-report-0.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-report-1.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-report-2.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-report-3.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-report-4.txt Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-v0.cc Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-v1.cc Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test6-fn-suppr-version-script Initial support for function suppressions 2014-10-28 17:36:32 +01:00
test7-var-suppr-1.suppr Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-2.suppr Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-3.suppr Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-4.suppr Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-5.suppr Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-6.suppr Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-7.suppr Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-8.suppr Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-report-0.txt Sort reported changed declarations & types in a given scope 2014-11-08 11:32:58 +01:00
test7-var-suppr-report-1.txt Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-report-2.txt Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-report-3.txt Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-report-4.txt Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-report-5.txt Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-report-6.txt Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-report-7.txt Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-report-8.txt Sort reported changed declarations & types in a given scope 2014-11-08 11:32:58 +01:00
test7-var-suppr-v0.cc Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-v1.cc Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test7-var-suppr-version-script Initial support for variable suppressions 2014-11-01 12:22:08 +01:00
test8-redundant-fn-report-0.txt Sort functions & variables diff nodes in the diff tree 2015-01-09 14:45:11 +01:00
test8-redundant-fn-report-1.txt Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
test8-redundant-fn-v0.cc Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
test8-redundant-fn-v1.cc Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
test9-changed-parm-c-report-0.txt Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
test9-changed-parm-c-report-1.txt Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
test9-changed-parm-c-v0.c Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
test9-changed-parm-c-v1.c Un-share diff nodes in the comparison IR 2014-12-26 18:45:06 +01:00
test10-changed-parm-c-report-0.txt Do not mark sibling structurally identical nodes as redundant 2014-12-26 18:45:06 +01:00
test10-changed-parm-c-v0.c Do not mark sibling structurally identical nodes as redundant 2014-12-26 18:45:06 +01:00
test10-changed-parm-c-v1.c Do not mark sibling structurally identical nodes as redundant 2014-12-26 18:45:06 +01:00