mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-19 08:24:32 +00:00
4b7e295b20
The comparison engine doesn't take virtual offset changes into account when deciding if a diff node carries an incompatible change. This is obviously an oversight. Fixed thus. * include/abg-comparison.h (enum diff_category): Adjust the comment for enumerator VIRTUAL_MEMBER_CHANGE_CATEGORY; changes of this category are incompatible ABI changes. (corpus_diff::diff_stats::num_func_with_virtual_offset_changes): Declare new accessors. * src/abg-comparison.cc (corpus_diff::diff_stats::priv::num_func_with_virt_offset_changes): New data member. (corpus_diff::diff_stats::priv::priv): Initialize the new data member. (corpus_diff::diff_stats::num_func_with_virtual_offset_changes): Define new accessors. (corpus_diff::priv::apply_filters_and_compute_diff_stats): Use the new accessor to set the number of functions with virtual offset changes onto the stats data structure. (corpus_diff::has_incompatible_changes): Take functions with virtual offset changes into account. * tests/test-abidiff-exit.cc: New test harness to test for exit codes of abidiff. * tests/Makefile.am: Build the new test harness runtestabidiff from the test-abidiff-exit.cc source file. * tests/data/test-abidiff-exit/test1-voffset-change-report0.txt: New reference test output. * tests/data/test-abidiff-exit/test1-voffset-change-v0.cc: New test input source code. * tests/data/test-abidiff-exit/test1-voffset-change-v0.o: New test input. * tests/data/test-abidiff-exit/test1-voffset-change-v1.cc: New test input source code. * tests/data/test-abidiff-exit/test1-voffset-change-v1.o: New test input. * tests/data/Makefile.am: tests/data/Makefile.am: Add the new test inputs above to the source distribution. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
125 lines
3.6 KiB
Makefile
125 lines
3.6 KiB
Makefile
SUBDIRS = data
|
|
|
|
ZIP_ARCHIVE_TESTS =
|
|
if ENABLE_ZIP_ARCHIVE
|
|
ZIP_ARCHIVE_TESTS += runtestwritereadarchive
|
|
if ENABLE_CXX11
|
|
ZIP_ARCHIVE_TESTS += runtestdot
|
|
endif
|
|
endif
|
|
|
|
CXX11_TESTS =
|
|
if ENABLE_CXX11
|
|
CXX11_TESTS += runtestsvg
|
|
AM_CXXFLAGS = "-std=gnu++11"
|
|
endif
|
|
|
|
TESTS= \
|
|
runtestreaddwarf \
|
|
runtestcanonicalizetypes.sh \
|
|
runtestdiffpkg \
|
|
runtestdifffilter \
|
|
$(ZIP_ARCHIVE_TESTS) \
|
|
runtestdiffsuppr \
|
|
runtestreadwrite \
|
|
runtestabidiff \
|
|
runtestdiffdwarfabixml \
|
|
runtestabicompat \
|
|
runtesttypesstability \
|
|
runtestdiffdwarf \
|
|
runtestlookupsyms \
|
|
runtestaltdwarf \
|
|
runtestcorediff \
|
|
runtestabidiffexit \
|
|
$(CXX11_TESTS)
|
|
|
|
EXTRA_DIST = runtestcanonicalizetypes.sh.in
|
|
CLEANFILES = \
|
|
runtestcanonicalizetypes.output.txt \
|
|
runtestcanonicalizetypes.output.final.txt
|
|
|
|
noinst_PROGRAMS= $(TESTS) testirwalker testdiff2 printdifftree
|
|
|
|
noinst_LTLIBRARIES = libtestutils.la
|
|
|
|
libtestutils_la_SOURCES= \
|
|
test-utils.h \
|
|
test-utils.cc
|
|
|
|
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
|
|
|
|
runtestreaddwarf_SOURCES=test-read-dwarf.cc
|
|
runtestreaddwarf_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
|
|
runtestreaddwarf_LDFLAGS=-pthread
|
|
|
|
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
|
|
|
|
runtestabidiff_SOURCES = test-abidiff.cc
|
|
runtestabidiff_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestabidiffexit_SOURCES = test-abidiff-exit.cc
|
|
runtestabidiffexit_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
|
|
|
|
runtestdiffsuppr_SOURCES = test-diff-suppr.cc
|
|
runtestdiffsuppr_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestdiffdwarfabixml_SOURCES = test-diff-dwarf-abixml.cc
|
|
runtestdiffdwarfabixml_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestabicompat_SOURCES = test-abicompat.cc
|
|
runtestabicompat_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestdiffpkg_SOURCES = test-diff-pkg.cc
|
|
runtestdiffpkg_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtesttypesstability_SOURCES = test-types-stability.cc
|
|
runtesttypesstability_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
|
|
|
|
printdifftree_SOURCES = print-diff-tree.cc
|
|
printdifftree_LDADD = $(top_builddir)/src/libabigail.la
|
|
|
|
runtestcanonicalizetypes_sh_SOURCES =
|
|
runtestcanonicalizetypes.sh$(EXEEXT):
|
|
|
|
AM_CPPFLAGS=-I${abs_top_srcdir}/include \
|
|
-I${abs_top_builddir}/include -I${abs_top_srcdir}/tools -fPIC
|
|
|
|
clean-local: clean-local-check
|
|
.PHONY: clean-local-check
|
|
|
|
clean-local-check:
|
|
-rm -rf ${builddir}/output *.svg *.gv
|