libabigail/tests/Makefile.am
Ondrej Oprala 055a789abe Support C and C++ array type.
* include/abg-comparison.h (array_diff): Declare new class.
	(array_diff_sptr): Shared pointer to type array_diff.
	(compute_diff): Overload the function to take type
	array_diff_sptr as the first two arguments.
	* include/abg-fwd.h (array_type_def): Declare new class.
	(subrange_type): Likewise.
	(is_array_def): Declare new function.
	* include/abg-ir.h (array_type_def_sptr): Shared pointer
	to type array_type_def.
	(array_type_def): Declare new class.
	(ir_node_visitor::visit): Declare a new virtual function
	taking a pointer to type array_type_def as an argument.
	* src/abg-comparison.cc (compute_diff_for_types): Add
	try_to_diff for two instances of type array_type_def.
	(array_diff::priv): declare struct for holding private members
	of type array_diff.
	(array_diff::array_diff): Define constructor.
	(array_diff::{first,second}_array):Define new
	member functions.
	(array_diff::element_type_diff): Likewise.
	(array_diff::{length,report,traverse}): Likewise.
	(compute_diff): Define function overloaded in
	include/abg-comparison.h.
	* src/abg-dwarf-reader.cc (build_array_type): Define new
	function. Handle DW_TAG_array_type and DW_TAG_subrange type.
	(build_ir_node_from_die): Amend case DW_TAG_array_type with
	a call to build_array_type.
	* src/abg-hash.cc (array_type_def::hash): Declare new struct.
	(type_base::dynamic_hash::operator()): Attempt to dynamic_cast
	the argument to type array_type_def as well.
	(array_type_def::hash): Declare new struct.
	* src/abg-ir.cc (array_type_def::array_type_def): Define
	constructors.
	(array_type_def::priv): declare struct for holding private members
	of type array_type_def.
	(array_type_def::operator==(const decl_base&):
	Define new operator.
	(array_type_def::operator==(const type_base&):
	Likewise.
	(array_type_def::append_subrange{,s}): Define
	new functions.
	(array_type_def::{set,get}_size_in_bits): Likewise.
	(array_type_def::get_dimension_count): Likewise.
	(array_type_def::get_qualified_name): Likewise.
	(array_type_def::get_pretty_representation): Likewise.
	(array_type_def::get_subrange_representation): Likewise.
	(array_type_def::traverse): Likewise.
	(array_type_def::get_{element_type,location,subranges}): Likewise.
	(array_type_def::is_infinite): Likewise.
	(array_type_def::~array_type_def): Define destructor.
	(ir_node_visitor::visit): Define function, taking
	pointer to array_type_def as an argument.
	* src/abg-reader.cc (map_id_and_node): Check if node
	is an array.
	(is_array_def): Check if object is an array.
	(handle_element_node): Handle array_type_def as well.
	(build_subrange_type): Define new function.
	(build_array_type_def): Likewise.
	(build_type): Build type array_type_def as well.
	(build_type_composition): Likewise.
	(handle_array_type_def): Define new function.
	* src/abg-writer.cc: (write_decl): Output arrays
	as well.
	(write_member_type): Likewise.
	(write_type_composition): Likewise.
	(write_array_type_def): Define new function.
	* tests/data/test-diff-dwarf/test{10,11}-v{0,1}.{cc,o}: New test source
	files
	* tests/data/test-diff-dwarf/test{10,11}-report.txt: Likewise.
	* tests/data/test-diff-dwarf/test10-report.txt: New test input.
	* tests/data/test-read-dwarf/test7.cc: New test source
	file.
	* tests/data/test-read-dwarf/test7.so: New input binary
	to read.
	* tests/data/test-read-dwarf/test7.so.abi: New reference
	test to compare against.
	* tests/data/test-read-write/test25.xml: New test source
	file.
	* tests/test-diff-dwarf.cc: Adjust to launch the new test.
	* tests/test-read-dwarf.cc: Likewise.
	* tests/test-read-write.cc: Likewise.
	* test/Makefile.am: Add the new test inputs to the source
	distribution.

Signed-off-by: Ondrej Oprala <ooprala@redhat.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2014-08-22 13:07:41 +02:00

319 lines
11 KiB
Makefile

AUTOMAKE_OPTIONS=subdir-objects
h=$(abs_srcdir)
TESTS= \
runtestreadwrite \
runtestwritereadarchive \
runtestreaddwarf \
runtestlookupsyms \
runtestaltdwarf \
runtestcorediff \
runtestbidiff \
runtestdiffdwarf \
runtestdifffilter \
runtestsvg \
runtestdot
noinst_PROGRAMS= $(TESTS) testirwalker testdiff2
noinst_LTLIBRARIES = libtestutils.la
libtestutils_la_SOURCES= \
test-utils.h \
test-utils.cc
libtestutils_la_LIBADD=$(top_builddir)/tools/libtoolsutils.la
libtestutils_la_DEPENDENCIES=$(top_builddir)/tools/libtoolsutils.la
libtestutils_la_CXXFLAGS= \
-DABIGAIL_SRC_DIR=\"${abs_top_srcdir}\" \
-DABIGAIL_BUILD_DIR=\"${abs_top_builddir}\"
runtestreadwrite_SOURCES=test-read-write.cc
runtestreadwrite_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
runtestwritereadarchive_SOURCES=test-write-read-archive.cc
runtestwritereadarchive_LDADD= libtestutils.la $(top_builddir)/src/libabigail.la $(top_builddir)/tools/libtoolsutils.la
runtestreaddwarf_SOURCES=test-read-dwarf.cc
runtestreaddwarf_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
runtestlookupsyms_SOURCES=test-lookup-syms.cc
runtestlookupsyms_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
runtestaltdwarf_SOURCES=test-alt-dwarf-file.cc
runtestaltdwarf_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
runtestcorediff_SOURCES=test-core-diff.cc
runtestcorediff_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
runtestbidiff_SOURCES = test-bidiff.cc
runtestbidiff_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
runtestdiffdwarf_SOURCES = test-diff-dwarf.cc
runtestdiffdwarf_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
runtestdifffilter_SOURCES = test-diff-filter.cc
runtestdifffilter_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
runtestsvg_SOURCES=test-svg.cc
runtestsvg_LDADD=$(top_builddir)/src/libabigail.la
runtestdot_SOURCES=test-dot.cc
runtestdot_LDADD=$(top_builddir)/src/libabigail.la
testirwalker_SOURCES=test-ir-walker.cc
testirwalker_LDADD=$(top_builddir)/src/libabigail.la
testdiff2_SOURCES=test-diff2.cc
testdiff2_LDADD=$(top_builddir)/src/libabigail.la
AM_CPPFLAGS=-I${abs_top_srcdir}/include \
-I${abs_top_builddir}/include -I${abs_top_srcdir}/tools
AM_CXXFLAGS="-std=gnu++11"
EXTRA_DIST= \
data/test-read-write/test0.xml \
data/test-read-write/test1.xml \
data/test-read-write/test2.xml \
data/test-read-write/test3.xml \
data/test-read-write/test4.xml \
data/test-read-write/test5.xml \
data/test-read-write/test6.xml \
data/test-read-write/test7.xml \
data/test-read-write/test8.xml \
data/test-read-write/test9.xml \
data/test-read-write/test10.xml \
data/test-read-write/test11.xml \
data/test-read-write/test12.xml \
data/test-read-write/test13.xml \
data/test-read-write/test14.xml \
data/test-read-write/test15.xml \
data/test-read-write/test16.xml \
data/test-read-write/test17.xml \
data/test-read-write/test18.xml \
data/test-read-write/test19.xml \
data/test-read-write/test20.xml \
data/test-read-write/test21.xml \
data/test-read-write/test22.xml \
data/test-read-write/test23.xml \
data/test-read-write/test24.xml \
data/test-read-write/test25.xml \
\
data/test-write-read-archive/test0.xml \
data/test-write-read-archive/test1.xml \
data/test-write-read-archive/test2.xml \
data/test-write-read-archive/test3.xml \
data/test-write-read-archive/test4.xml \
\
data/test-bidiff/test-enum0-v0.cc.bi \
data/test-bidiff/test-enum0-v1.cc.bi \
data/test-bidiff/test-enum0-report.txt \
data/test-bidiff/test-enum1-v0.cc.bi \
data/test-bidiff/test-enum1-v1.cc.bi \
data/test-bidiff/test-enum1-report.txt \
data/test-bidiff/test-qual-type0-v0.cc.bi \
data/test-bidiff/test-qual-type0-v1.cc.bi \
data/test-bidiff/test-qual-type0-report.txt \
data/test-bidiff/test-struct0-v0.cc.bi \
data/test-bidiff/test-struct0-v1.cc.bi \
data/test-bidiff/test-struct0-report.txt \
data/test-bidiff/test-struct1-v0.cc.bi \
data/test-bidiff/test-struct1-v1.cc.bi \
data/test-bidiff/test-struct1-report.txt \
data/test-bidiff/test-var0-v0.cc.bi \
data/test-bidiff/test-var0-v1.cc.bi \
data/test-bidiff/test-var0-report.txt \
\
data/test-diff-dwarf/test0-v0.cc \
data/test-diff-dwarf/test0-v0.o \
data/test-diff-dwarf/test0-v1.cc \
data/test-diff-dwarf/test0-v1.o \
data/test-diff-dwarf/test0-report.txt \
data/test-diff-dwarf/test1-v0.cc \
data/test-diff-dwarf/test1-v0.o \
data/test-diff-dwarf/test1-v1.cc \
data/test-diff-dwarf/test1-v1.o \
data/test-diff-dwarf/test1-report.txt \
data/test-diff-dwarf/test2-v0.cc \
data/test-diff-dwarf/test2-v0.o \
data/test-diff-dwarf/test2-v1.cc \
data/test-diff-dwarf/test2-v1.o \
data/test-diff-dwarf/test2-report.txt \
data/test-diff-dwarf/test3-v0.cc \
data/test-diff-dwarf/test3-v0.o \
data/test-diff-dwarf/test3-v1.cc \
data/test-diff-dwarf/test3-v1.o \
data/test-diff-dwarf/test3-report.txt \
data/test-diff-dwarf/test4-v0.cc \
data/test-diff-dwarf/test4-v0.o \
data/test-diff-dwarf/test4-v1.cc \
data/test-diff-dwarf/test4-v1.o \
data/test-diff-dwarf/test4-report.txt \
data/test-diff-dwarf/test5-v0.cc \
data/test-diff-dwarf/test5-v0.o \
data/test-diff-dwarf/test5-v1.cc \
data/test-diff-dwarf/test5-v1.o \
data/test-diff-dwarf/test5-report.txt \
data/test-diff-dwarf/test6-v0.cc \
data/test-diff-dwarf/test6-v0.o \
data/test-diff-dwarf/test6-v1.cc \
data/test-diff-dwarf/test6-v1.o \
data/test-diff-dwarf/test6-report.txt \
data/test-diff-dwarf/test7-v0.cc \
data/test-diff-dwarf/test7-v0.o \
data/test-diff-dwarf/test7-v1.cc \
data/test-diff-dwarf/test7-v1.o \
data/test-diff-dwarf/test7-report.txt \
data/test-diff-dwarf/test8-v0.cc \
data/test-diff-dwarf/test8-v0.o \
data/test-diff-dwarf/test8-v1.cc \
data/test-diff-dwarf/test8-v1.o \
data/test-diff-dwarf/test8-report.txt \
data/test-diff-dwarf/test9-v0.cc \
data/test-diff-dwarf/libtest9-v0.so \
data/test-diff-dwarf/test9-v1.cc \
data/test-diff-dwarf/libtest9-v1.so \
data/test-diff-dwarf/test9-report.txt \
data/test-diff-dwarf/test10-v0.cc \
data/test-diff-dwarf/test10-v0.o \
data/test-diff-dwarf/test10-v1.cc \
data/test-diff-dwarf/test10-v1.o \
data/test-diff-dwarf/test10-report.txt \
data/test-diff-dwarf/test11-v0.cc \
data/test-diff-dwarf/test11-v0.o \
data/test-diff-dwarf/test11-v1.cc \
data/test-diff-dwarf/test11-v1.o \
data/test-diff-dwarf/test11-report.txt \
\
data/test-read-dwarf/test0 \
data/test-read-dwarf/test0.abi \
data/test-read-dwarf/test0.cc \
data/test-read-dwarf/test1 \
data/test-read-dwarf/test1.abi \
data/test-read-dwarf/test1.cc \
tests/data/test-read-dwarf/test2.h \
tests/data/test-read-dwarf/test2-0.cc \
tests/data/test-read-dwarf/test2-1.cc \
tests/data/test-read-dwarf/test2.so \
tests/data/test-read-dwarf/test2.so.abi \
tests/data/test-read-dwarf/test3.c \
tests/data/test-read-dwarf/test3.so \
tests/data/test-read-dwarf/test4.c \
tests/data/test-read-dwarf/test4.so \
tests/data/test-read-dwarf/test5.cc \
tests/data/test-read-dwarf/test5.so \
tests/data/test-read-dwarf/test6.cc \
tests/data/test-read-dwarf/test6.so \
\
data/test-diff-filter/test0-v0.cc \
data/test-diff-filter/test0-v1.cc \
data/test-diff-filter/test0-v0.o \
data/test-diff-filter/test0-v1.o \
data/test-diff-filter/test0-report.txt \
data/test-diff-filter/test1-v0.cc \
data/test-diff-filter/test1-v1.cc \
data/test-diff-filter/test1-v0.o \
data/test-diff-filter/test1-v1.o \
data/test-diff-filter/test1-report.txt \
data/test-diff-filter/test2-v0.cc \
data/test-diff-filter/test2-v1.cc \
data/test-diff-filter/test2-v0.o \
data/test-diff-filter/test2-v1.o \
data/test-diff-filter/test2-report.txt \
data/test-diff-filter/test3-v0.cc \
data/test-diff-filter/test3-v1.cc \
data/test-diff-filter/test3-v0.o \
data/test-diff-filter/test3-v1.o \
data/test-diff-filter/test3-report.txt \
data/test-diff-filter/test4-v0.cc \
data/test-diff-filter/test4-v1.cc \
data/test-diff-filter/test4-v0.o \
data/test-diff-filter/test4-v1.o \
data/test-diff-filter/test4-report.txt \
data/test-diff-filter/test5-v0.cc \
data/test-diff-filter/test5-v1.cc \
data/test-diff-filter/test5-v0.o \
data/test-diff-filter/test5-v1.o \
data/test-diff-filter/test5-report.txt \
data/test-diff-filter/test6-v0.cc \
data/test-diff-filter/test6-v1.cc \
data/test-diff-filter/test6-v0.o \
data/test-diff-filter/test6-v1.o \
data/test-diff-filter/test6-report.txt \
data/test-diff-filter/test7-v0.cc \
data/test-diff-filter/test7-v1.cc \
data/test-diff-filter/test7-v0.o \
data/test-diff-filter/test7-v1.o \
data/test-diff-filter/test7-report.txt \
data/test-diff-filter/test8-v0.cc \
data/test-diff-filter/test8-v1.cc \
data/test-diff-filter/test8-v0.o \
data/test-diff-filter/test8-v1.o \
data/test-diff-filter/test8-report.txt \
data/test-diff-filter/test9-v0.cc \
data/test-diff-filter/test9-v1.cc \
data/test-diff-filter/test9-v0.o \
data/test-diff-filter/test9-v1.o \
data/test-diff-filter/test9-report.txt \
data/test-diff-filter/test10-v0.cc \
data/test-diff-filter/test10-v1.cc \
data/test-diff-filter/test10-v0.o \
data/test-diff-filter/test10-v1.o \
data/test-diff-filter/test10-report.txt \
data/test-diff-filter/test11-v0.cc \
data/test-diff-filter/test11-v1.cc \
data/test-diff-filter/test11-v0.o \
data/test-diff-filter/test11-v1.o \
data/test-diff-filter/test11-report.txt \
data/test-diff-filter/test12-v0.cc \
data/test-diff-filter/test12-v1.cc \
data/test-diff-filter/test12-v0.o \
data/test-diff-filter/test12-v1.o \
data/test-diff-filter/test12-report.txt \
data/test-diff-filter/test13-v0.cc \
data/test-diff-filter/test13-v1.cc \
data/test-diff-filter/test13-v0.o \
data/test-diff-filter/test13-v1.o \
data/test-diff-filter/test13-report.txt \
data/test-diff-filter/test14-v0.cc \
data/test-diff-filter/test14-v1.cc \
data/test-diff-filter/test14-v0.o \
data/test-diff-filter/test14-v1.o \
data/test-diff-filter/test14-0-report.txt \
data/test-diff-filter/test14-1-report.txt \
data/test-diff-filter/test15-v0.cc \
data/test-diff-filter/test15-v1.cc \
data/test-diff-filter/test15-v0.o \
data/test-diff-filter/test15-v1.o \
data/test-diff-filter/test15-0-report.txt \
data/test-diff-filter/test15-1-report.txt \
\
data/test-lookup-syms/test0.cc \
data/test-lookup-syms/test0.o \
data/test-lookup-syms/test0-report.txt \
data/test-lookup-syms/test01-report.txt \
data/test-lookup-syms/test02-report.txt \
data/test-lookup-syms/test1.c \
data/test-lookup-syms/test1.version-script \
data/test-lookup-syms/test1.so \
data/test-lookup-syms/test1-1-report.txt \
data/test-lookup-syms/test1-2-report.txt \
data/test-lookup-syms/test1-3-report.txt \
\
data/test-alt-dwarf-file/test0.cc \
data/test-alt-dwarf-file/libtest0.so \
data/test-alt-dwarf-file/test0-common.cc \
data/test-alt-dwarf-file/libtest0-common.so \
data/test-alt-dwarf-file/test0-report.txt \
data/test-alt-dwarf-file/test0-debug-dir/test0-common-dwz.debug \
data/test-alt-dwarf-file/test0-debug-dir/.build-id/16/7088580c513b439c9ed95fe6a8b29496495f26.debug
clean-local: clean-local-check
.PHONY: clean-local-check
clean-local-check:
-rm -rf ${builddir}/output *.svg *.gv