libabigail/tests/test-diff-suppr.cc
Dodji Seketeli 98c8d61684 Drop suppressed ABI artifacts from the IR
This patch allows dropping suppressed ABI artifacts from the in-memory
internal representation right during the DWARF or abixml reading.

In practise, this means that abidw and abilint now have a
--suppressions options to give them suppression specifications.  If a
suppression specification that has the "drop" property matches an ABI
artifact (type, function or variable) then that artifact is dropped
from the internal representation.  This also applies to abidiff.

Note that now, by default, ABI artifacts (types) that are suppressed
due to the --headers-dir{1,2} option of abidiff are now also dropped
from the IR as well.  Incidentally, abidw and abilint tools now have a
--header-dir option too.

	* doc/manuals/abidw.rst: Document the new --suppressions and
	--headers-dir options off the abidw tool.
	* doc/manuals/abilint.rst: Document the new --suppressions and
	--headers-dir options on the abilint tool.
	* doc/manuals/libabigail-concepts.rst: Document the new "drop" and
	"name_not_regexp" properties on suppression directives.
	* include/abg-corpus.h (corpus::corpus): Add a default argument to
	the path parameter.
	* src/abg-suppression-priv.h: New private header file.
	* src/Makefile.am: Add the new abg-suppression-priv.h file to
	source distribution.
	* include/abg-suppression.h ({suppression_base, type_suppression,
	function_suppression, variable_suppression}::priv): Make these
	public.
	(suppression_base::{g,s}et_drops_artifact_from_ir): Declare new
	member functions.
	(type_suppression::{suppressed_type}): Likewise.
	(suppression_base::{names,sonames}_of_binaries_match): Remove
	member functions.
	(function_suppression::{get_name, set_name, get_name_regex_str,
	set_name_regex_str}): Renamed get_function_name,
	set_function_name, get_function_name_regex_str,
	set_function_name_regex_str into these.
	({variable,function}_suppression::{g,s}et_name_not_regex_str):
	Declare new member functions.
	* src/abg-suppression.cc: Include the new abg-suppression-priv.h
	private header.
	(class suppression_base::priv, class type_suppression::priv, class
	function_suppression::parameter_spec::priv, class
	function_suppression::priv, class variable_suppression::priv):
	Move these types to that new private header.
	(suppression_base::{g,s}et_drops_artifact_from_ir)
	(function_suppression::{g,s}et_name_not_regex_str)
	(variable_suppression::{g,s}et_name_not_regex_str): New member
	functions.
	(sonames_of_binaries_match): New static function, taken from
	suppression_base::sonames_of_binaries_match.
	(names_of_binaries_match): New static function, taken from
	suppression_base::names_of_binaries_match.
	(suppression_matches_type_no_name): New static function.
	(type_suppression::suppresses_type): Adjust
	(function_suppression::suppresses_function)
	(variable_suppression::suppresses_variable): Adjust.  Evaluate the
	new "name_not_regexp" property.
	(suppression_matches_type_name)
	(suppression_matches_type_location)
	(suppression_matches_type_name_or_location)
	(suppression_matches_function_name)
	(suppression_matches_function_sym_name)
	(suppression_matches_variable_name)
	(suppression_matches_variable_sym_name, suppression_matches_type):
	New functions.
	(read_type_suppression): Support the new "drop_artifacts" and
	"drop" properties.
	(read_function_suppression, read_variable_suppression): Support
	the new "drop_artifacts", "drop", and "name_not_regexp"
	properties.
	(function_suppression::{g,s}et_name): Renamed
	{g,s}et_function_name into these.
	(function_suppression::set_name_not_regex_str): Renamed
	{g,s}et_name_regex_str into this.
	(function_suppression::suppresses_function_symbol): Adjust.
	* include/abg-dwarf-reader.h (add_read_context_suppressions):
	Declare new function.
	* src/abg-dwarf-reader.cc: Use the new private
	abg-suppression-priv.h header file.
	(read_context::supprs_): New data member.
	(read_context::get_suppressions): New member function.
	(read_context::get_die_source): Make this const.
	(read_context::tu_die_imported_unit_points_map): Add a const
	overload.
	(read_context::cur_transl_unit): Renamed current_translation_unit
	unit into this;
	(read_context::cur_tu): Remove or rename into cur_transl_unit.
	(get_scope_for_die, build_translation_unit_and_add_to_ir)
	(build_enum_type, build_pointer_type_def, build_reference_type)
	(build_function_type, build_array_type, build_function_decl):
	Adjust.
	(read_context::{suppression_can_match,
	suppression_matches_function_sym_name,
	suppression_matches_function_name,
	suppression_matches_variable_sym_name,
	suppression_matches_variable_name,
	suppression_matches_type_name_or_location,
	suppression_matches_type_name}): Add member functions.
	(die_signed_constant_attribute): Remove this as dead code.
	(die_location, die_loc_and_name)
	(find_import_unit_point_between_dies)
	(find_import_unit_point_before_die, get_parent_die): Make the
	read_context& parameter be const and adjust as required.
	(build_var_decl_if_not_suppressed, function_is_suppressed)
	(variable_is_suppressed, type_is_suppressed): Define new static
	functions.
	(add_read_context_suppressions): Define new function.
	(build_class_type_and_add_to_ir): Do not add suppressed static
	data members to the IR.
	(build_ir_node_from_die): Do not add suppressed enum types, class
	types, variables or functions to the IR.  Adjust for the
	read_context::cur_tu -> read_context::cur_transl_unit rename.
	* include/abg-reader.h (read_context_sptr): Declare new type.
	(create_native_xml_read_context, read_corpus_from_input)
	(add_read_context_suppressions): Declare new functions.
	* src/abg-reader.cc: Include the new private
	abg-suppression-priv.h header file.
	(read_context::m_exported_decls_builder): Renamed
	m_exported_decls_builder_ into this.
	(read_context::get_exported_decls_builder): Adjust.
	(read_context::get_cur_scope): Make this const.
	(read_location): Take a const read_context and adjust.
	(read_corpus_from_input): Make this non-static.
	(build_namespace_decl): Don't abort if trying to add an artifact
	to the IR doesn't succeed.  It might be suppressed now.
	(read_context::{m_path, m_supprs}): New data members.
	(read_context::{g,s}et_path): New member functions.
	(read_context::{get_suppressions,
	suppression_matches_function_name, suppression_can_match,
	suppression_matches_function_name,
	suppression_matches_function_sym_name,
	suppression_matches_variable_name,
	suppression_matches_variable_sym_name,
	suppression_matches_type_name_or_location}): Likewise.
	(add_read_context_suppressions, create_native_xml_read_context)
	(read_corpus_from_native_xml): New functions.
	(build_function_decl_if_not_suppressed, function_is_suppressed)
	(type_is_suppressed, build_var_decl_if_not_suppressed)
	(variable_is_suppressed, build_enum_type_decl_if_not_suppressed)
	(build_class_decl_if_not_suppressed): New static functions.
	(build_class_decl): Add member types that are being built early,
	so that their sub-types can be evaluated for suppression.  Do not
	add suppressed static data members or suppressed member functions
	to the IR.
	(build_type): Do not add an enum type or a class type to the IR if
	they are suppressed.
	(handle_enum_type_decl): Do not add an enum type to the IR if its
	suppressed.
	(handle_var_decl): Likewise for a variable decl.
	(handle_function_decl): Likewise for a function decl.
	(handle_class_decl): Likewise for a class decl.
	* src/abg-tools-utils.cc (handle_fts_entry): Drop suppressed ABI
	from the IR.
	* tools/abidiff.cc (display_usage): Fix help strings for
	--headers-dirs{1,2}.
	(set_suppressions): New static function.
	(main): Adjust.  Release the memory used by read_context early.
	* tools/abidw.cc (options::{headers_dir, suppression_paths}):
	(display_usage): New help strings for the new --header-dir and
	--suppressions options.
	(parse_command_line): Parse the new --header-dir and
	--suppressions options.
	(maybe_check_suppression_files, set_suppressions): New static
	functions.
	(main): Use the two new functions above.  Free the memory used by
	the read context before working with the corpus.
	* tools/abilint.cc (options::suppression_paths):
	(display_usage): New help strings for the new --header-dir and
	--suppressions options.
	(parse_command_line): Parse the new --header-dir and
	--suppressions options.
	(maybe_check_suppression_files, set_suppressions): New static
	functions.
	(main): Use the two new functions above.  Free the memory used by
	the read context before working with the corpus.
	* tests/data/test-diff-suppr/test24-soname-suppr-{2,3].txt:
	Adjust.
	* tests/data/test-diff-suppr/test29-suppr-6.txt: Likewise.
	* tests/data/test-diff-suppr/test29-suppr-8.txt: Likewise.
	* tests/data/test-diff-suppr/libtest31-v{0,1}.so: New test input.
	* tests/data/test-diff-suppr/libtest31.suppr: Likewise
	* tests/data/test-diff-suppr/libtest32-v{0,1}.so: Likewise.
	* tests/data/test-diff-suppr/libtest32-0.suppr: Likewise.
	* tests/data/test-diff-suppr/libtest33-v{0,1}.so: Likewise.
	* tests/data/test-diff-suppr/test31-report-{0,1}.txt: Likewise.
	* tests/data/test-diff-suppr/test31-v{0,1}.cc: Likewise.
	* tests/data/test-diff-suppr/test32-report-{0,1}.txt: Likewise.
	* tests/data/test-diff-suppr/test32-v{0,1}.c: Likewise.
	* tests/data/test-diff-suppr/test33-suppr-1.txt: Likewise.
	* tests/data/test-diff-suppr/test33-v{0,1}.cc: Likewise.
	* tests/data/test-diff-suppr/test33-v{0,1}.h: Likewise.
	* tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/libtest24-drop-fns.so: Likewise.
	* tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
	* tests/data/test-read-dwarf/test24-drop-fns-0.suppr: Likewise.
	* tests/data/test-read-dwarf/test24-drop-fns.cc: Likewise.
	* tests/data/test-read-write/test28-drop-std-fns.abignore:
	Likewise.
	* tests/data/test-read-write/test28-drop-std-vars.abignore:
	Likewise.
	* tests/data/test-read-write/test28-without-std-fns-ref.xml:
	Likewise.
	* tests/data/test-read-write/test28-without-std-fns.xml: Likewise.
	* tests/data/test-read-write/test28-without-std-vars-ref.xml:
	Likewise.
	* tests/data/test-read-write/test28-without-std-vars.xml:
	Likewise.
	* tests/data/test-read-write/test28.xml: Likewise.
	* tests/data/Makefile.am: Add the new test artifacts to source
	distribution.
	* tests/test-diff-suppr.cc (in_out_spec): Take the new test inputs
	into account.
	* tests/test-read-dwarf.cc (Inoutspec::in_suppr_spec_path): New
	data member.
	(in_out_spec): Adjust.  The new test inputs into account.
	(set_suppressions): New static function.
	(handle_in_out_spec): Adjust.
	* tests/test-read-write.cc (Inoutspec::{in_suppr_spec_path,
	ref_out_path}): New data members.
	(in_out_spec): Adjust.  Take new test inputs into account.
	(main): Adjust.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2016-09-21 18:35:08 +02:00

1755 lines
62 KiB
C++

// -*- Mode: C++ -*-
//
// Copyright (C) 2013-2016 Red Hat, Inc.
//
// This file is part of the GNU Application Binary Interface Generic
// Analysis and Instrumentation Library (libabigail). This library is
// free software; you can redistribute it and/or modify it under the
// terms of the GNU Lesser General Public License as published by the
// Free Software Foundation; either version 3, or (at your option) any
// later version.
// This library is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Lesser Public License for more details.
// You should have received a copy of the GNU Lesser General Public
// License along with this program; see the file COPYING-LGPLV3. If
// not, see <http://www.gnu.org/licenses/>.
// Author: Dodji Seketeli
/// @file
///
/// This test harness program runs a diff between input ELF files
/// containing DWARF debugging information, exercising the
/// suppressions features of the "bidiff" command line program.
///
/// So it runs the diff diff between the two input files, using a
/// suppression file and compares the resulting diff with a reference
/// one.
#include <sys/wait.h>
#include <cstring>
#include <string>
#include <fstream>
#include <iostream>
#include <cstdlib>
#include "abg-tools-utils.h"
#include "test-utils.h"
using std::string;
using std::cerr;
/// This is an aggregate that specifies where a test shall get its
/// input from and where it shall write its ouput to.
struct InOutSpec
{
const char* in_elfv0_path;
const char* in_elfv1_path;
const char* headers_dir1;
const char* headers_dir2;
const char* in_suppr_path;
const char* abidiff_options;
const char* in_report_path;
const char* out_report_path;
}; // end struct InOutSpec;
InOutSpec in_out_specs[] =
{
{
"data/test-diff-suppr/test0-type-suppr-v0.o",
"data/test-diff-suppr/test0-type-suppr-v1.o",
NULL,
NULL,
NULL,
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test0-type-suppr-report-0.txt",
"output/test-diff-suppr/test0-type-suppr-report-0.txt",
},
{
"data/test-diff-suppr/test0-type-suppr-v0.o",
"data/test-diff-suppr/test0-type-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test0-type-suppr-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test0-type-suppr-report-1.txt",
"output/test-diff-suppr/test0-type-suppr-report-1.txt",
},
{
"data/test-diff-suppr/test0-type-suppr-v0.o",
"data/test-diff-suppr/test0-type-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test0-type-suppr-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test0-type-suppr-report-2.txt",
"output/test-diff-suppr/test0-type-suppr-report-2.txt",
},
{
"data/test-diff-suppr/test0-type-suppr-v0.o",
"data/test-diff-suppr/test0-type-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test0-type-suppr-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test0-type-suppr-report-3.txt",
"output/test-diff-suppr/test0-type-suppr-report-3.txt",
},
{
"data/test-diff-suppr/test0-type-suppr-v0.o",
"data/test-diff-suppr/test0-type-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test0-type-suppr-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test0-type-suppr-report-4.txt",
"output/test-diff-suppr/test0-type-suppr-report-4.txt",
},
{
"data/test-diff-suppr/test0-type-suppr-v0.o",
"data/test-diff-suppr/test0-type-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test0-type-suppr-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test0-type-suppr-report-5.txt",
"output/test-diff-suppr/test0-type-suppr-report-5.txt",
},
{
"data/test-diff-suppr/test0-type-suppr-v0.o",
"data/test-diff-suppr/test0-type-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test0-type-suppr-5.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test0-type-suppr-report-6.txt",
"output/test-diff-suppr/test0-type-suppr-report-6.txt",
},
{
"data/test-diff-suppr/test0-type-suppr-v0.o",
"data/test-diff-suppr/test0-type-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test0-type-suppr-6.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test0-type-suppr-report-7.txt",
"output/test-diff-suppr/test0-type-suppr-report-7.txt",
},
{
"data/test-diff-suppr/test1-typedef-suppr-v0.o",
"data/test-diff-suppr/test1-typedef-suppr-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test1-typedef-suppr-report-0.txt",
"output/test-diff-suppr/test1-typedef-suppr-report-0.txt",
},
{
"data/test-diff-suppr/test1-typedef-suppr-v0.o",
"data/test-diff-suppr/test1-typedef-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test1-typedef-suppr-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test1-typedef-suppr-report-1.txt",
"output/test-diff-suppr/test1-typedef-suppr-report-1.txt",
},
{
"data/test-diff-suppr/test1-typedef-suppr-v0.o",
"data/test-diff-suppr/test1-typedef-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test1-typedef-suppr-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test1-typedef-suppr-report-2.txt",
"output/test-diff-suppr/test1-typedef-suppr-report-2.txt",
},
{
"data/test-diff-suppr/test2-struct-suppr-v0.o",
"data/test-diff-suppr/test2-struct-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test2-struct-suppr-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test2-struct-suppr-report-0.txt",
"output/test-diff-suppr/test2-struct-suppr-report-0.txt",
},
{
"data/test-diff-suppr/test2-struct-suppr-v0.o",
"data/test-diff-suppr/test2-struct-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test2-struct-suppr-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test2-struct-suppr-report-1.txt",
"output/test-diff-suppr/test2-struct-suppr-report-1.txt",
},
{
"data/test-diff-suppr/test3-struct-suppr-v0.o",
"data/test-diff-suppr/test3-struct-suppr-v1.o",
"",
"",
NULL,
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test3-struct-suppr-report-0.txt",
"output/test-diff-suppr/test3-struct-suppr-report-0.txt",
},
{
"data/test-diff-suppr/test3-struct-suppr-v0.o",
"data/test-diff-suppr/test3-struct-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test3-struct-suppr-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test3-struct-suppr-report-1.txt",
"output/test-diff-suppr/test3-struct-suppr-report-1.txt",
},
{
"data/test-diff-suppr/test3-struct-suppr-v0.o",
"data/test-diff-suppr/test3-struct-suppr-v1.o",
"",
"",
"data/test-diff-suppr/test3-struct-suppr-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test3-struct-suppr-report-2.txt",
"output/test-diff-suppr/test3-struct-suppr-report-2.txt",
},
{
"data/test-diff-suppr/libtest4-local-suppr-v0.so",
"data/test-diff-suppr/libtest4-local-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test4-local-suppr-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test4-local-suppr-report-1.txt",
"output/test-diff-suppr/test4-local-suppr-report-1.txt",
},
{
"data/test-diff-suppr/libtest4-local-suppr-v0.so",
"data/test-diff-suppr/libtest4-local-suppr-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs",
"data/test-diff-suppr/test4-local-suppr-report-0.txt",
"output/test-diff-suppr/test4-local-suppr-report-0.txt",
},
{
"data/test-diff-suppr/libtest5-fn-suppr-v0.so",
"data/test-diff-suppr/libtest5-fn-suppr-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test5-fn-suppr-report-0.txt",
"output/test-diff-suppr/test5-fn-suppr-report-0.txt",
},
{
"data/test-diff-suppr/libtest5-fn-suppr-v0.so",
"data/test-diff-suppr/libtest5-fn-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test5-fn-suppr-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test5-fn-suppr-report-1.txt",
"output/test-diff-suppr/test5-fn-suppr-report-1.txt",
},
{
"data/test-diff-suppr/libtest5-fn-suppr-v0.so",
"data/test-diff-suppr/libtest5-fn-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test5-fn-suppr-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test5-fn-suppr-report-2.txt",
"output/test-diff-suppr/test5-fn-suppr-report-2.txt",
},
{
"data/test-diff-suppr/libtest5-fn-suppr-v0.so",
"data/test-diff-suppr/libtest5-fn-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test5-fn-suppr-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test5-fn-suppr-report-3.txt",
"output/test-diff-suppr/test5-fn-suppr-report-3.txt",
},
{
"data/test-diff-suppr/libtest5-fn-suppr-v0.so",
"data/test-diff-suppr/libtest5-fn-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test5-fn-suppr-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test5-fn-suppr-report-4.txt",
"output/test-diff-suppr/test5-fn-suppr-report-4.txt",
},
{
"data/test-diff-suppr/libtest5-fn-suppr-v0.so",
"data/test-diff-suppr/libtest5-fn-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test5-fn-suppr-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test5-fn-suppr-report-5.txt",
"output/test-diff-suppr/test5-fn-suppr-report-5.txt",
},
{
"data/test-diff-suppr/libtest6-fn-suppr-v0.so",
"data/test-diff-suppr/libtest6-fn-suppr-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test6-fn-suppr-report-0.txt",
"output/test-diff-suppr/test6-fn-suppr-report-0.txt",
},
{ // Just like the previous test, but loc info is emitted.
"data/test-diff-suppr/libtest6-fn-suppr-v0.so",
"data/test-diff-suppr/libtest6-fn-suppr-v1.so",
"",
"",
"",
"--no-default-suppression --no-redundant",
"data/test-diff-suppr/test6-fn-suppr-report-0-1.txt",
"output/test-diff-suppr/test6-fn-suppr-report-0-1.txt",
},
{
"data/test-diff-suppr/libtest6-fn-suppr-v0.so",
"data/test-diff-suppr/libtest6-fn-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test6-fn-suppr-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test6-fn-suppr-report-1.txt",
"output/test-diff-suppr/test6-fn-suppr-report-1.txt",
},
{
"data/test-diff-suppr/libtest6-fn-suppr-v0.so",
"data/test-diff-suppr/libtest6-fn-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test6-fn-suppr-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test6-fn-suppr-report-2.txt",
"output/test-diff-suppr/test6-fn-suppr-report-2.txt",
},
{
"data/test-diff-suppr/libtest6-fn-suppr-v0.so",
"data/test-diff-suppr/libtest6-fn-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test6-fn-suppr-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test6-fn-suppr-report-3.txt",
"output/test-diff-suppr/test6-fn-suppr-report-3.txt",
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-0.txt",
"output/test-diff-suppr/test7-var-suppr-report-0.txt"
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test7-var-suppr-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-1.txt",
"output/test-diff-suppr/test7-var-suppr-report-1.txt"
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test7-var-suppr-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-2.txt",
"output/test-diff-suppr/test7-var-suppr-report-2.txt"
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test7-var-suppr-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-3.txt",
"output/test-diff-suppr/test7-var-suppr-report-3.txt"
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test7-var-suppr-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-4.txt",
"output/test-diff-suppr/test7-var-suppr-report-4.txt"
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test7-var-suppr-5.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-5.txt",
"output/test-diff-suppr/test7-var-suppr-report-5.txt"
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test7-var-suppr-6.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-6.txt",
"output/test-diff-suppr/test7-var-suppr-report-6.txt"
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test7-var-suppr-7.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-7.txt",
"output/test-diff-suppr/test7-var-suppr-report-7.txt"
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test7-var-suppr-8.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-8.txt",
"output/test-diff-suppr/test7-var-suppr-report-8.txt"
},
{
"data/test-diff-suppr/libtest7-var-suppr-v0.so",
"data/test-diff-suppr/libtest7-var-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test7-var-suppr-9.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test7-var-suppr-report-9.txt",
"output/test-diff-suppr/test7-var-suppr-report-9.txt"
},
{
"data/test-diff-suppr/libtest8-redundant-fn-v0.so",
"data/test-diff-suppr/libtest8-redundant-fn-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test8-redundant-fn-report-0.txt",
"output/test-diff-suppr/test8-redundant-fn-report-0.txt"
},
{
"data/test-diff-suppr/libtest8-redundant-fn-v0.so",
"data/test-diff-suppr/libtest8-redundant-fn-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --redundant",
"data/test-diff-suppr/test8-redundant-fn-report-1.txt",
"output/test-diff-suppr/test8-redundant-fn-report-1.txt"
},
{
"data/test-diff-suppr/libtest9-changed-parm-c-v0.so",
"data/test-diff-suppr/libtest9-changed-parm-c-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test9-changed-parm-c-report-0.txt",
"output/test-diff-suppr/est9-changed-parm-c-report-0.txt"
},
{
"data/test-diff-suppr/libtest9-changed-parm-c-v0.so",
"data/test-diff-suppr/libtest9-changed-parm-c-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --redundant",
"data/test-diff-suppr/test9-changed-parm-c-report-1.txt",
"output/test-diff-suppr/est9-changed-parm-c-report-1.txt"
},
{
"data/test-diff-suppr/libtest10-changed-parm-c-v0.so",
"data/test-diff-suppr/libtest10-changed-parm-c-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test10-changed-parm-c-report-0.txt",
"output/test-diff-suppr/test10-changed-parm-c-report-0.txt"
},
{
"data/test-diff-suppr/libtest11-add-data-member-v0.so",
"data/test-diff-suppr/libtest11-add-data-member-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test11-add-data-member-report-0.txt",
"output/test-diff-suppr/test11-add-data-member-report-0.txt"
},
{
"data/test-diff-suppr/libtest11-add-data-member-v0.so",
"data/test-diff-suppr/libtest11-add-data-member-v1.so",
"",
"",
"data/test-diff-suppr/test11-add-data-member-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test11-add-data-member-report-1.txt",
"output/test-diff-suppr/test11-add-data-member-report-1.txt"
},
{
"data/test-diff-suppr/libtest11-add-data-member-v0.so",
"data/test-diff-suppr/libtest11-add-data-member-v1.so",
"",
"",
"data/test-diff-suppr/test11-add-data-member-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test11-add-data-member-report-1.txt",
"output/test-diff-suppr/test11-add-data-member-report-1.txt"
},
{
"data/test-diff-suppr/libtest11-add-data-member-v0.so",
"data/test-diff-suppr/libtest11-add-data-member-v1.so",
"",
"",
"data/test-diff-suppr/test11-add-data-member-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test11-add-data-member-report-1.txt",
"output/test-diff-suppr/test11-add-data-member-report-1.txt"
},
{
"data/test-diff-suppr/libtest11-add-data-member-v0.so",
"data/test-diff-suppr/libtest11-add-data-member-v1.so",
"",
"",
"data/test-diff-suppr/test11-add-data-member-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test11-add-data-member-report-1.txt",
"output/test-diff-suppr/test11-add-data-member-report-1.txt"
},
{
"data/test-diff-suppr/libtest11-add-data-member-v0.so",
"data/test-diff-suppr/libtest11-add-data-member-v1.so",
"",
"",
"data/test-diff-suppr/test11-add-data-member-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test11-add-data-member-report-1.txt",
"output/test-diff-suppr/test11-add-data-member-report-1.txt"
},
{
"data/test-diff-suppr/libtest12-add-data-member-v0.so",
"data/test-diff-suppr/libtest12-add-data-member-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test12-add-data-member-report-0.txt",
"output/test-diff-suppr/test12-add-data-member-report-0.txt"
},
{
"data/test-diff-suppr/libtest12-add-data-member-v0.so",
"data/test-diff-suppr/libtest12-add-data-member-v1.so",
"",
"",
"data/test-diff-suppr/test12-add-data-member-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test12-add-data-member-report-1.txt",
"output/test-diff-suppr/test12-add-data-member-report-1.txt"
},
{
"data/test-diff-suppr/libtest12-add-data-member-v0.so",
"data/test-diff-suppr/libtest12-add-data-member-v1.so",
"",
"",
"data/test-diff-suppr/test12-add-data-member-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test12-add-data-member-report-2.txt",
"output/test-diff-suppr/test12-add-data-member-report-2.txt"
},
{
"data/test-diff-suppr/libtest13-suppr-through-pointer-v0.so",
"data/test-diff-suppr/libtest13-suppr-through-pointer-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test13-suppr-through-pointer-report-0.txt",
"output/test-diff-suppr/test13-suppr-through-pointer-report-0.txt"
},
{
"data/test-diff-suppr/libtest13-suppr-through-pointer-v0.so",
"data/test-diff-suppr/libtest13-suppr-through-pointer-v1.so",
"",
"",
"data/test-diff-suppr/test13-suppr-through-pointer-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test13-suppr-through-pointer-report-1.txt",
"output/test-diff-suppr/test13-suppr-through-pointer-report-1.txt"
},
{
"data/test-diff-suppr/test14-suppr-non-redundant-v0.o",
"data/test-diff-suppr/test14-suppr-non-redundant-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test14-suppr-non-redundant-report-0.txt",
"output/test-diff-suppr/test14-suppr-non-redundant-report-0.txt"
},
{
"data/test-diff-suppr/test14-suppr-non-redundant-v0.o",
"data/test-diff-suppr/test14-suppr-non-redundant-v1.o",
"",
"",
"data/test-diff-suppr/test14-suppr-non-redundant-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test14-suppr-non-redundant-report-1.txt",
"output/test-diff-suppr/test14-suppr-non-redundant-report-1.txt"
},
{
"data/test-diff-suppr/test15-suppr-added-fn-v0.o",
"data/test-diff-suppr/test15-suppr-added-fn-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test15-suppr-added-fn-report-0.txt",
"output/test-diff-suppr/test15-suppr-added-fn-report-0.txt"
},
{
"data/test-diff-suppr/test15-suppr-added-fn-v0.o",
"data/test-diff-suppr/test15-suppr-added-fn-v1.o",
"",
"",
"data/test-diff-suppr/test15-suppr-added-fn-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test15-suppr-added-fn-report-1.txt",
"output/test-diff-suppr/test15-suppr-added-fn-report-1.txt"
},
{
"data/test-diff-suppr/test15-suppr-added-fn-v0.o",
"data/test-diff-suppr/test15-suppr-added-fn-v1.o",
"",
"",
"data/test-diff-suppr/test15-suppr-added-fn-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test15-suppr-added-fn-report-2.txt",
"output/test-diff-suppr/test15-suppr-added-fn-report-2.txt"
},
{
"data/test-diff-suppr/test15-suppr-added-fn-v0.o",
"data/test-diff-suppr/test15-suppr-added-fn-v1.o",
"",
"",
"data/test-diff-suppr/test15-suppr-added-fn-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test15-suppr-added-fn-report-3.txt",
"output/test-diff-suppr/test15-suppr-added-fn-report-3.txt"
},
{
"data/test-diff-suppr/test15-suppr-added-fn-v0.o",
"data/test-diff-suppr/test15-suppr-added-fn-v1.o",
"",
"",
"data/test-diff-suppr/test15-suppr-added-fn-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test15-suppr-added-fn-report-4.txt",
"output/test-diff-suppr/test15-suppr-added-fn-report-4.txt"
},
{
"data/test-diff-suppr/test15-suppr-added-fn-v0.o",
"data/test-diff-suppr/test15-suppr-added-fn-v1.o",
"",
"",
"data/test-diff-suppr/test15-suppr-added-fn-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test15-suppr-added-fn-report-5.txt",
"output/test-diff-suppr/test15-suppr-added-fn-report-5.txt"
},
{
"data/test-diff-suppr/test16-suppr-removed-fn-v0.o",
"data/test-diff-suppr/test16-suppr-removed-fn-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test16-suppr-removed-fn-report-0.txt",
"output/test-diff-suppr/test16-suppr-removed-fn-report-0.txt"
},
{
"data/test-diff-suppr/test16-suppr-removed-fn-v0.o",
"data/test-diff-suppr/test16-suppr-removed-fn-v1.o",
"",
"",
"data/test-diff-suppr/test16-suppr-removed-fn-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test16-suppr-removed-fn-report-1.txt",
"output/test-diff-suppr/test16-suppr-removed-fn-report-1.txt"
},
{
"data/test-diff-suppr/test16-suppr-removed-fn-v0.o",
"data/test-diff-suppr/test16-suppr-removed-fn-v1.o",
"",
"",
"data/test-diff-suppr/test16-suppr-removed-fn-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test16-suppr-removed-fn-report-2.txt",
"output/test-diff-suppr/test16-suppr-removed-fn-report-2.txt"
},
{
"data/test-diff-suppr/test16-suppr-removed-fn-v0.o",
"data/test-diff-suppr/test16-suppr-removed-fn-v1.o",
"",
"",
"data/test-diff-suppr/test16-suppr-removed-fn-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test16-suppr-removed-fn-report-3.txt",
"output/test-diff-suppr/test16-suppr-removed-fn-report-3.txt"
},
{
"data/test-diff-suppr/test16-suppr-removed-fn-v0.o",
"data/test-diff-suppr/test16-suppr-removed-fn-v1.o",
"",
"",
"data/test-diff-suppr/test16-suppr-removed-fn-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test16-suppr-removed-fn-report-4.txt",
"output/test-diff-suppr/test16-suppr-removed-fn-report-4.txt"
},
{
"data/test-diff-suppr/test17-suppr-added-var-v0.o",
"data/test-diff-suppr/test17-suppr-added-var-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test17-suppr-added-var-report-0.txt",
"output/test-diff-suppr/test17-suppr-added-var-report-0.txt"
},
{
"data/test-diff-suppr/test17-suppr-added-var-v0.o",
"data/test-diff-suppr/test17-suppr-added-var-v1.o",
"",
"",
"data/test-diff-suppr/test17-suppr-added-var-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test17-suppr-added-var-report-1.txt",
"output/test-diff-suppr/test17-suppr-added-var-report-1.txt"
},
{
"data/test-diff-suppr/test17-suppr-added-var-v0.o",
"data/test-diff-suppr/test17-suppr-added-var-v1.o",
"",
"",
"data/test-diff-suppr/test17-suppr-added-var-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test17-suppr-added-var-report-2.txt",
"output/test-diff-suppr/test17-suppr-added-var-report-2.txt"
},
{
"data/test-diff-suppr/test17-suppr-added-var-v0.o",
"data/test-diff-suppr/test17-suppr-added-var-v1.o",
"",
"",
"data/test-diff-suppr/test17-suppr-added-var-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test17-suppr-added-var-report-3.txt",
"output/test-diff-suppr/test17-suppr-added-var-report-3.txt"
},
{
"data/test-diff-suppr/test17-suppr-added-var-v0.o",
"data/test-diff-suppr/test17-suppr-added-var-v1.o",
"",
"",
"data/test-diff-suppr/test17-suppr-added-var-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test17-suppr-added-var-report-4.txt",
"output/test-diff-suppr/test17-suppr-added-var-report-4.txt"
},
{
"data/test-diff-suppr/test17-suppr-added-var-v0.o",
"data/test-diff-suppr/test17-suppr-added-var-v1.o",
"",
"",
"data/test-diff-suppr/test17-suppr-added-var-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test17-suppr-added-var-report-5.txt",
"output/test-diff-suppr/test17-suppr-added-var-report-5.txt"
},
{
"data/test-diff-suppr/test18-suppr-removed-var-v0.o",
"data/test-diff-suppr/test18-suppr-removed-var-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test18-suppr-removed-var-report-0.txt",
"output/test-diff-suppr/test18-suppr-removed-var-report-0.txt"
},
{
"data/test-diff-suppr/test18-suppr-removed-var-v0.o",
"data/test-diff-suppr/test18-suppr-removed-var-v1.o",
"",
"",
"data/test-diff-suppr/test18-suppr-removed-var-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test18-suppr-removed-var-report-1.txt",
"output/test-diff-suppr/test18-suppr-removed-var-report-1.txt"
},
{
"data/test-diff-suppr/test18-suppr-removed-var-v0.o",
"data/test-diff-suppr/test18-suppr-removed-var-v1.o",
"",
"",
"data/test-diff-suppr/test18-suppr-removed-var-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test18-suppr-removed-var-report-2.txt",
"output/test-diff-suppr/test18-suppr-removed-var-report-2.txt"
},
{
"data/test-diff-suppr/test18-suppr-removed-var-v0.o",
"data/test-diff-suppr/test18-suppr-removed-var-v1.o",
"",
"",
"data/test-diff-suppr/test18-suppr-removed-var-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test18-suppr-removed-var-report-3.txt",
"output/test-diff-suppr/test18-suppr-removed-var-report-3.txt"
},
{
"data/test-diff-suppr/test18-suppr-removed-var-v0.o",
"data/test-diff-suppr/test18-suppr-removed-var-v1.o",
"",
"",
"data/test-diff-suppr/test18-suppr-removed-var-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test18-suppr-removed-var-report-4.txt",
"output/test-diff-suppr/test18-suppr-removed-var-report-4.txt"
},
{
"data/test-diff-suppr/test18-suppr-removed-var-v0.o",
"data/test-diff-suppr/test18-suppr-removed-var-v1.o",
"",
"",
"data/test-diff-suppr/test18-suppr-removed-var-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test18-suppr-removed-var-report-5.txt",
"output/test-diff-suppr/test18-suppr-removed-var-report-5.txt"
},
{
"data/test-diff-suppr/test19-suppr-added-fn-sym-v0.o",
"data/test-diff-suppr/test19-suppr-added-fn-sym-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test19-suppr-added-fn-sym-report-0.txt",
"output/test-diff-suppr/test19-suppr-added-fn-sym-report-0.txt"
},
{
"data/test-diff-suppr/test19-suppr-added-fn-sym-v0.o",
"data/test-diff-suppr/test19-suppr-added-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test19-suppr-added-fn-sym-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test19-suppr-added-fn-sym-report-1.txt",
"output/test-diff-suppr/test19-suppr-added-fn-sym-report-1.txt"
},
{
"data/test-diff-suppr/test19-suppr-added-fn-sym-v0.o",
"data/test-diff-suppr/test19-suppr-added-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test19-suppr-added-fn-sym-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test19-suppr-added-fn-sym-report-2.txt",
"output/test-diff-suppr/test19-suppr-added-fn-sym-report-2.txt"
},
{
"data/test-diff-suppr/test19-suppr-added-fn-sym-v0.o",
"data/test-diff-suppr/test19-suppr-added-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test19-suppr-added-fn-sym-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test19-suppr-added-fn-sym-report-3.txt",
"output/test-diff-suppr/test19-suppr-added-fn-sym-report-3.txt"
},
{
"data/test-diff-suppr/test19-suppr-added-fn-sym-v0.o",
"data/test-diff-suppr/test19-suppr-added-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test19-suppr-added-fn-sym-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test19-suppr-added-fn-sym-report-4.txt",
"output/test-diff-suppr/test19-suppr-added-fn-sym-report-4.txt"
},
{
"data/test-diff-suppr/test19-suppr-added-fn-sym-v0.o",
"data/test-diff-suppr/test19-suppr-added-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test19-suppr-added-fn-sym-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test19-suppr-added-fn-sym-report-5.txt",
"output/test-diff-suppr/test19-suppr-added-fn-sym-report-5.txt"
},
{
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v0.o",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-0.txt",
"output/test-diff-suppr/test20-suppr-removed-fn-sym-report-0.txt"
},
{
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v0.o",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-0.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-1.txt",
"output/test-diff-suppr/test20-suppr-removed-fn-sym-report-1.txt"
},
{
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v0.o",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-1.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-2.txt",
"output/test-diff-suppr/test20-suppr-removed-fn-sym-report-2.txt"
},
{
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v0.o",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-2.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-3.txt",
"output/test-diff-suppr/test20-suppr-removed-fn-sym-report-3.txt"
},
{
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v0.o",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-3.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-4.txt",
"output/test-diff-suppr/test20-suppr-removed-fn-sym-report-4.txt"
},
{
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v0.o",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-v1.o",
"",
"",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-4.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test20-suppr-removed-fn-sym-report-5.txt",
"output/test-diff-suppr/test20-suppr-removed-fn-sym-report-5.txt"
},
{
"data/test-diff-suppr/test21-suppr-added-var-sym-v0.o",
"data/test-diff-suppr/test21-suppr-added-var-sym-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test21-suppr-added-var-sym-report-0.txt",
"output/test-diff-suppr/test21-suppr-added-var-sym-report-0.txt"
},
{
"data/test-diff-suppr/test21-suppr-added-var-sym-v0.o",
"data/test-diff-suppr/test21-suppr-added-var-sym-v1.o",
"",
"",
"data/test-diff-suppr/test21-suppr-added-var-sym-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test21-suppr-added-var-sym-report-1.txt",
"output/test-diff-suppr/test21-suppr-added-var-sym-report-1.txt"
},
{
"data/test-diff-suppr/test21-suppr-added-var-sym-v0.o",
"data/test-diff-suppr/test21-suppr-added-var-sym-v1.o",
"",
"",
"data/test-diff-suppr/test21-suppr-added-var-sym-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test21-suppr-added-var-sym-report-2.txt",
"output/test-diff-suppr/test21-suppr-added-var-sym-report-2.txt"
},
{
"data/test-diff-suppr/test21-suppr-added-var-sym-v0.o",
"data/test-diff-suppr/test21-suppr-added-var-sym-v1.o",
"",
"",
"data/test-diff-suppr/test21-suppr-added-var-sym-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test21-suppr-added-var-sym-report-3.txt",
"output/test-diff-suppr/test21-suppr-added-var-sym-report-3.txt"
},
{
"data/test-diff-suppr/test21-suppr-added-var-sym-v0.o",
"data/test-diff-suppr/test21-suppr-added-var-sym-v1.o",
"",
"",
"data/test-diff-suppr/test21-suppr-added-var-sym-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test21-suppr-added-var-sym-report-4.txt",
"output/test-diff-suppr/test21-suppr-added-var-sym-report-4.txt"
},
{
"data/test-diff-suppr/test21-suppr-added-var-sym-v0.o",
"data/test-diff-suppr/test21-suppr-added-var-sym-v1.o",
"",
"",
"data/test-diff-suppr/test21-suppr-added-var-sym-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test21-suppr-added-var-sym-report-5.txt",
"output/test-diff-suppr/test21-suppr-added-var-sym-report-5.txt"
},
{
"data/test-diff-suppr/test22-suppr-removed-var-sym-v0.o",
"data/test-diff-suppr/test22-suppr-removed-var-sym-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test22-suppr-removed-var-sym-report-0.txt",
"output/test-diff-suppr/test22-suppr-removed-var-sym-report-0.txt"
},
{
"data/test-diff-suppr/test22-suppr-removed-var-sym-v0.o",
"data/test-diff-suppr/test22-suppr-removed-var-sym-v1.o",
"",
"",
"data/test-diff-suppr/test22-suppr-removed-var-sym-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test22-suppr-removed-var-sym-report-1.txt",
"output/test-diff-suppr/test22-suppr-removed-var-sym-report-1.txt"
},
{
"data/test-diff-suppr/test22-suppr-removed-var-sym-v0.o",
"data/test-diff-suppr/test22-suppr-removed-var-sym-v1.o",
"",
"",
"data/test-diff-suppr/test22-suppr-removed-var-sym-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test22-suppr-removed-var-sym-report-2.txt",
"output/test-diff-suppr/test22-suppr-removed-var-sym-report-2.txt"
},
{
"data/test-diff-suppr/test22-suppr-removed-var-sym-v0.o",
"data/test-diff-suppr/test22-suppr-removed-var-sym-v1.o",
"",
"",
"data/test-diff-suppr/test22-suppr-removed-var-sym-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test22-suppr-removed-var-sym-report-3.txt",
"output/test-diff-suppr/test22-suppr-removed-var-sym-report-3.txt"
},
{
"data/test-diff-suppr/test22-suppr-removed-var-sym-v0.o",
"data/test-diff-suppr/test22-suppr-removed-var-sym-v1.o",
"",
"",
"data/test-diff-suppr/test22-suppr-removed-var-sym-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test22-suppr-removed-var-sym-report-4.txt",
"output/test-diff-suppr/test22-suppr-removed-var-sym-report-4.txt"
},
{
"data/test-diff-suppr/libtest23-alias-filter-v0.so",
"data/test-diff-suppr/libtest23-alias-filter-v1.so ",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test23-alias-filter-report-0.txt",
"output/test-diff-suppr/test23-alias-filter-report-0.txt"
},
{
"data/test-diff-suppr/libtest23-alias-filter-v0.so",
"data/test-diff-suppr/libtest23-alias-filter-v1.so ",
"",
"",
"data/test-diff-suppr/test23-alias-filter-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test23-alias-filter-report-1.txt",
"output/test-diff-suppr/test23-alias-filter-report-1.txt"
},
{
"data/test-diff-suppr/libtest23-alias-filter-v0.so",
"data/test-diff-suppr/libtest23-alias-filter-v1.so ",
"",
"",
"data/test-diff-suppr/test23-alias-filter-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test23-alias-filter-report-2.txt",
"output/test-diff-suppr/test23-alias-filter-report-2.txt"
},
{
"data/test-diff-suppr/libtest23-alias-filter-v0.so",
"data/test-diff-suppr/libtest23-alias-filter-v1.so ",
"",
"",
"data/test-diff-suppr/test23-alias-filter-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test23-alias-filter-report-3.txt",
"output/test-diff-suppr/test23-alias-filter-report-3.txt"
},
{
"data/test-diff-suppr/libtest23-alias-filter-v0.so",
"data/test-diff-suppr/libtest23-alias-filter-v1.so ",
"",
"",
"data/test-diff-suppr/test23-alias-filter-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test23-alias-filter-report-5.txt",
"output/test-diff-suppr/test23-alias-filter-report-5.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-0.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-0.txt",
"output/test-diff-suppr/test24-soname-report-0.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-1.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-1.txt",
"output/test-diff-suppr/test24-soname-report-1.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-2.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-2.txt",
"output/test-diff-suppr/test24-soname-report-2.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-3.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-3.txt",
"output/test-diff-suppr/test24-soname-report-3.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-4.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-4.txt",
"output/test-diff-suppr/test24-soname-report-4.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-5.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-5.txt",
"output/test-diff-suppr/test24-soname-report-5.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-6.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-6.txt",
"output/test-diff-suppr/test24-soname-report-6.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-7.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-7.txt",
"output/test-diff-suppr/test24-soname-report-7.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-8.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-8.txt",
"output/test-diff-suppr/test24-soname-report-8.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-9.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-9.txt",
"output/test-diff-suppr/test24-soname-report-9.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-10.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-10.txt",
"output/test-diff-suppr/test24-soname-report-10.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-11.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-11.txt",
"output/test-diff-suppr/test24-soname-report-11.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-12.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-12.txt",
"output/test-diff-suppr/test24-soname-report-12.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-13.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-13.txt",
"output/test-diff-suppr/test24-soname-report-13.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-13.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-13.txt",
"output/test-diff-suppr/test24-soname-report-13.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-14.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-14.txt",
"output/test-diff-suppr/test24-soname-report-14.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-15.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-15.txt",
"output/test-diff-suppr/test24-soname-report-15.txt"
},
{
"data/test-diff-suppr/libtest24-soname-v0.so",
"data/test-diff-suppr/libtest24-soname-v1.so",
"",
"",
"data/test-diff-suppr/test24-soname-suppr-16.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test24-soname-report-16.txt",
"output/test-diff-suppr/test24-soname-report-16.txt"
},
{
"data/test-diff-suppr/libtest25-typedef-v0.so",
"data/test-diff-suppr/libtest25-typedef-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test25-typedef-report-0.txt",
"output/test-diff-suppr/test25-typedef-report-0.txt"
},
{
"data/test-diff-suppr/libtest25-typedef-v0.so",
"data/test-diff-suppr/libtest25-typedef-v1.so",
"",
"",
"data/test-diff-suppr/test25-typedef-suppr-0.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test25-typedef-report-1.txt",
"output/test-diff-suppr/test25-typedef-report-1.txt"
},
{
"data/test-diff-suppr/libtest26-loc-suppr-v0.so",
"data/test-diff-suppr/libtest26-loc-suppr-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test26-loc-suppr-report-0.txt",
"output/test-diff-suppr/test26-loc-suppr-report-0.txt"
},
{
"data/test-diff-suppr/libtest26-loc-suppr-v0.so",
"data/test-diff-suppr/libtest26-loc-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test26-loc-suppr-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test26-loc-suppr-report-1.txt",
"output/test-diff-suppr/test26-loc-suppr-report-1.txt"
},
{
"data/test-diff-suppr/libtest26-loc-suppr-v0.so",
"data/test-diff-suppr/libtest26-loc-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test26-loc-suppr-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test26-loc-suppr-report-2.txt",
"output/test-diff-suppr/test26-loc-suppr-report-2.txt"
},
{
"data/test-diff-suppr/libtest26-loc-suppr-v0.so",
"data/test-diff-suppr/libtest26-loc-suppr-v1.so",
"",
"",
"data/test-diff-suppr/test26-loc-suppr-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test26-loc-suppr-report-3.txt",
"output/test-diff-suppr/test26-loc-suppr-report-3.txt"
},
{
"data/test-diff-suppr/test27-add-aliased-function-v0.o",
"data/test-diff-suppr/test27-add-aliased-function-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test27-add-aliased-function-report-0.txt",
"output/test-diff-suppr/test27-add-aliased-function-report-0.txt"
},
{
"data/test-diff-suppr/test27-add-aliased-function-v0.o",
"data/test-diff-suppr/test27-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test27-add-aliased-function-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test27-add-aliased-function-report-1.txt",
"output/test-diff-suppr/test27-add-aliased-function-report-1.txt"
},
{
"data/test-diff-suppr/test27-add-aliased-function-v0.o",
"data/test-diff-suppr/test27-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test27-add-aliased-function-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test27-add-aliased-function-report-2.txt",
"output/test-diff-suppr/test27-add-aliased-function-report-2.txt"
},
{
"data/test-diff-suppr/test27-add-aliased-function-v0.o",
"data/test-diff-suppr/test27-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test27-add-aliased-function-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test27-add-aliased-function-report-3.txt",
"output/test-diff-suppr/test27-add-aliased-function-report-3.txt"
},
{
"data/test-diff-suppr/test27-add-aliased-function-v0.o",
"data/test-diff-suppr/test27-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test27-add-aliased-function-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test27-add-aliased-function-report-4.txt",
"output/test-diff-suppr/test27-add-aliased-function-report-4.txt"
},
{
"data/test-diff-suppr/test27-add-aliased-function-v0.o",
"data/test-diff-suppr/test27-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test27-add-aliased-function-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test27-add-aliased-function-report-5.txt",
"output/test-diff-suppr/test27-add-aliased-function-report-5.txt"
},
{
"data/test-diff-suppr/test28-add-aliased-function-v0.o",
"data/test-diff-suppr/test28-add-aliased-function-v1.o",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test28-add-aliased-function-report-0.txt",
"output/test-diff-suppr/test28-add-aliased-function-report-0.txt"
},
{
"data/test-diff-suppr/test28-add-aliased-function-v0.o",
"data/test-diff-suppr/test28-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test28-add-aliased-function-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test28-add-aliased-function-report-1.txt",
"output/test-diff-suppr/test28-add-aliased-function-report-1.txt"
},
{
"data/test-diff-suppr/test28-add-aliased-function-v0.o",
"data/test-diff-suppr/test28-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test28-add-aliased-function-1.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test28-add-aliased-function-report-2.txt",
"output/test-diff-suppr/test28-add-aliased-function-report-2.txt"
},
{
"data/test-diff-suppr/test28-add-aliased-function-v0.o",
"data/test-diff-suppr/test28-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test28-add-aliased-function-2.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test28-add-aliased-function-report-3.txt",
"output/test-diff-suppr/test28-add-aliased-function-report-3.txt"
},
{
"data/test-diff-suppr/test28-add-aliased-function-v0.o",
"data/test-diff-suppr/test28-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test28-add-aliased-function-3.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test28-add-aliased-function-report-4.txt",
"output/test-diff-suppr/test28-add-aliased-function-report-4.txt"
},
{
"data/test-diff-suppr/test28-add-aliased-function-v0.o",
"data/test-diff-suppr/test28-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test28-add-aliased-function-4.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test28-add-aliased-function-report-5.txt",
"output/test-diff-suppr/test28-add-aliased-function-report-5.txt"
},
{
"data/test-diff-suppr/test28-add-aliased-function-v0.o",
"data/test-diff-suppr/test28-add-aliased-function-v1.o",
"",
"",
"data/test-diff-suppr/test28-add-aliased-function-5.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test28-add-aliased-function-report-6.txt",
"output/test-diff-suppr/test28-add-aliased-function-report-6.txt"
},
{
"data/test-diff-suppr/libtest29-soname-v0.so",
"data/test-diff-suppr/libtest29-soname-v1.so",
"",
"",
"data/test-diff-suppr/test29-suppr-0.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test29-soname-report-0.txt",
"output/test-diff-suppr/test29-soname-report-0.txt"
},
{
"data/test-diff-suppr/libtest29-soname-v0.so",
"data/test-diff-suppr/libtest29-soname-v1.so",
"",
"",
"data/test-diff-suppr/test29-suppr-1.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test29-soname-report-1.txt",
"output/test-diff-suppr/test29-soname-report-1.txt"
},
{
"data/test-diff-suppr/libtest29-soname-v0.so",
"data/test-diff-suppr/libtest29-soname-v1.so",
"",
"",
"data/test-diff-suppr/test29-suppr-2.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test29-soname-report-2.txt",
"output/test-diff-suppr/test29-soname-report-2.txt"
},
{
"data/test-diff-suppr/libtest29-soname-v0.so",
"data/test-diff-suppr/libtest29-soname-v1.so",
"",
"",
"data/test-diff-suppr/test29-suppr-3.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test29-soname-report-3.txt",
"output/test-diff-suppr/test29-soname-report-3.txt"
},
{
"data/test-diff-suppr/libtest29-soname-v0.so",
"data/test-diff-suppr/libtest29-soname-v1.so",
"",
"",
"data/test-diff-suppr/test29-suppr-4.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test29-soname-report-4.txt",
"output/test-diff-suppr/test29-soname-report-4.txt"
},
{
"data/test-diff-suppr/libtest29-soname-v0.so",
"data/test-diff-suppr/libtest29-soname-v1.so",
"",
"",
"data/test-diff-suppr/test29-suppr-5.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test29-soname-report-5.txt",
"output/test-diff-suppr/test29-soname-report-5.txt"
},
{
"data/test-diff-suppr/libtest29-soname-v0.so",
"data/test-diff-suppr/libtest29-soname-v1.so",
"",
"",
"data/test-diff-suppr/test29-suppr-6.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test29-soname-report-6.txt",
"output/test-diff-suppr/test29-soname-report-6.txt"
},
{
"data/test-diff-suppr/libtest29-soname-v0.so",
"data/test-diff-suppr/libtest29-soname-v1.so",
"",
"",
"data/test-diff-suppr/test29-suppr-7.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test29-soname-report-7.txt",
"output/test-diff-suppr/test29-soname-report-7.txt"
},
{
"data/test-diff-suppr/libtest29-soname-v0.so",
"data/test-diff-suppr/libtest29-soname-v1.so",
"",
"",
"data/test-diff-suppr/test29-suppr-8.txt",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test29-soname-report-8.txt",
"output/test-diff-suppr/test29-soname-report-8.txt"
},
{
"data/test-diff-suppr/test30-pub-lib-v0.so",
"data/test-diff-suppr/test30-pub-lib-v1.so",
"",
"",
"",
"--no-default-suppression",
"data/test-diff-suppr/test30-report-0.txt",
"output/test-diff-suppr/test30-report-0.txt"
},
{
"data/test-diff-suppr/test30-pub-lib-v0.so",
"data/test-diff-suppr/test30-pub-lib-v1.so",
"data/test-diff-suppr/test30-include-dir-v0",
"data/test-diff-suppr/test30-include-dir-v1",
"",
"--no-default-suppression",
"data/test-diff-suppr/test30-report-1.txt",
"output/test-diff-suppr/test30-report-1.txt"
},
{
"data/test-diff-suppr/libtest31-v0.so",
"data/test-diff-suppr/libtest31-v1.so",
"",
"",
"data/test-diff-suppr/libtest31.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test31-report-0.txt",
"output/test-diff-suppr/test31-report-0.txt"
},
{
"data/test-diff-suppr/libtest31-v0.so",
"data/test-diff-suppr/libtest31-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test31-report-1.txt",
"output/test-diff-suppr/test31-report-1.txt"
},
{
"data/test-diff-suppr/libtest32-v0.so",
"data/test-diff-suppr/libtest32-v1.so",
"",
"",
"",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test32-report-0.txt",
"output/test-diff-suppr/test32-report-0.txt"
},
{
"data/test-diff-suppr/libtest32-v0.so",
"data/test-diff-suppr/libtest32-v1.so",
"",
"",
"data/test-diff-suppr/libtest32-0.suppr",
"--no-default-suppression --no-show-locs --no-redundant",
"data/test-diff-suppr/test32-report-1.txt",
"output/test-diff-suppr/test32-report-1.txt"
},
// This should be the last entry
{NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
};
int
main()
{
using abigail::tests::get_src_dir;
using abigail::tests::get_build_dir;
using abigail::tools_utils::ensure_parent_dir_created;
using abigail::tools_utils::abidiff_status;
bool is_ok = true;
string in_elfv0_path, in_elfv1_path, headers_dir1, headers_dir2,
in_suppression_path, abidiff_options, abidiff, cmd,
ref_diff_report_path, out_diff_report_path;
for (InOutSpec* s = in_out_specs; s->in_elfv0_path; ++s)
{
in_elfv0_path = string(get_src_dir()) + "/tests/" + s->in_elfv0_path;
in_elfv1_path = string(get_src_dir()) + "/tests/" + s->in_elfv1_path;
if (s->in_suppr_path && strcmp(s->in_suppr_path, ""))
in_suppression_path =
string(get_src_dir()) + "/tests/" + s->in_suppr_path;
else
in_suppression_path.clear();
abidiff_options = s->abidiff_options;
ref_diff_report_path =
string(get_src_dir()) + "/tests/" + s->in_report_path;
out_diff_report_path =
string(get_build_dir()) + "/tests/" + s->out_report_path;
if (s->headers_dir1 && strcmp(s->headers_dir1, ""))
headers_dir1 = s->headers_dir1;
else
headers_dir1.clear();
if (s->headers_dir2 && strcmp(s->headers_dir2, ""))
headers_dir2 = s->headers_dir2;
else
headers_dir2.clear();
if (!ensure_parent_dir_created(out_diff_report_path))
{
cerr << "could not create parent directory for "
<< out_diff_report_path;
is_ok = false;
continue;
}
abidiff = string(get_build_dir()) + "/tools/abidiff";
abidiff += " " + abidiff_options;
if (!in_suppression_path.empty())
abidiff += " --suppressions " + in_suppression_path;
if (!headers_dir1.empty())
abidiff +=
" --hd1 " + string(get_src_dir()) + "/tests/" + headers_dir1;
if (!headers_dir2.empty())
abidiff +=
" --hd2 " + string(get_src_dir()) + "/tests/" + headers_dir2;
cmd = abidiff + " " + in_elfv0_path + " " + in_elfv1_path;
cmd += " > " + out_diff_report_path;
bool bidiff_ok = true;
int code = system(cmd.c_str());
if (!WIFEXITED(code))
bidiff_ok = false;
else
{
abigail::tools_utils::abidiff_status status =
static_cast<abidiff_status>(WEXITSTATUS(code));
if (abigail::tools_utils::abidiff_status_has_error(status))
bidiff_ok = false;
}
if (bidiff_ok)
{
cmd = "diff -u " + ref_diff_report_path
+ " " + out_diff_report_path;
if (system(cmd.c_str()))
is_ok = false;
}
else
is_ok = false;
}
return !is_ok;
}