From: Djordje Todorovic Date: Thu, 28 Sep 2017 07:33:40 +0000 (+0200) Subject: Add support for dwarflint testing X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a5d5f65d9a493ae17ccaca89d927875ece7eac69;p=thirdparty%2Felfutils.git Add support for dwarflint testing * dwarflint/tests: Update all scripts and makefiles to work with current test environment. * dwarflint/Makefile.am: Add support for dwarflint testing. * tests/test-subr.sh: Update to be used in dwarflint/tests. * tests/test-wrapper.sh: Likewise. * tests/run-dwarflint-self.sh: Return back into tests/. Signed-off-by: Djordje Todorovic Signed-off-by: Mark Wielaard --- diff --git a/dwarflint/Makefile.am b/dwarflint/Makefile.am index 1f10a5fb7..58b3ed1aa 100644 --- a/dwarflint/Makefile.am +++ b/dwarflint/Makefile.am @@ -55,7 +55,7 @@ dwarflint_SOURCES = \ files.cc files.hh \ highlevel_check.cc highlevel_check.hh highlevel_check_i.hh \ locus.cc locus.hh \ - main.cc \ + main.cc main.hh \ messages.cc messages.hh \ misc.cc misc.hh \ option.cc option.hh option_i.hh \ @@ -127,11 +127,14 @@ EXTRA_DIST = $(EXTRA_TESTS) \ tests/crc7.ko.debug.bz2 \ tests/location-leaks.bz2 \ tests/nodebug.bz2 \ + tests/null.o.bz2 \ tests/check_range_out_of_scope-1.bz2 \ tests/check_debug_info_refs-1.bz2 \ - tests/aranges_terminate_early.bz2 + tests/check_debug_info_refs-2.bz2 \ + tests/aranges_terminate_early.bz2 \ tests/libdl-2.12.so.debug.bz2 \ tests/hello.bad-1.bz2 \ + tests/hello.bad-2.bz2 \ tests/hello.bad-3.bz2 \ tests/empty-1.bz2 \ tests/garbage-1.bz2 \ @@ -154,18 +157,36 @@ EXTRA_DIST = $(EXTRA_TESTS) \ installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \ bindir=$(DESTDIR)$(bindir) \ - $(top_srcdir)/tests/test-wrapper.sh \ - installed $(tests_rpath) \ - $(program_transform_name) + LC_ALL=C; LANG=C; \ + abs_srcdir=$(abs_srcdir); \ + abs_builddir=$(abs_builddir); \ + abs_top_builddir=$(abs_top_builddir); \ + export abs_srcdir; export abs_builddir; \ + export abs_top_builddir; \ + export libdir; export bindir; \ + export LC_ALL; export LANG; \ + NM=$(NM); export NM; +installed_LOG_COMPILER = $(top_srcdir)/tests/test-wrapper.sh \ + installed $(tests_rpath) \ + '$(program_transform_name)' if STANDALONE TESTS_ENVIRONMENT = $(installed_TESTS_ENVIRONMENT) +LOG_COMPILER = $(installed_LOG_COMPILER) else !STANDALONE -TESTS_ENVIRONMENT = $(top_srcdir)/tests/test-wrapper.sh \ - ../libdw:../backends:../libelf:../libasm +TESTS_ENVIRONMENT = LC_ALL=C; LANG=C; \ + abs_srcdir=$(abs_srcdir); abs_builddir=$(abs_builddir); \ + abs_top_builddir=$(abs_top_builddir); \ + export abs_srcdir; export abs_builddir; \ + export abs_top_builddir; \ + export LC_ALL; export LANG; \ + NM=$(NM); export NM; +LOG_COMPILER = $(abs_srcdir)/../tests/test-wrapper.sh \ + $(abs_top_builddir)/libdw:$(abs_top_builddir)/backends:$(abs_top_builddir)/libelf:$(abs_top_builddir)/libasm installcheck-local: $(MAKE) $(AM_MAKEFLAGS) \ - TESTS_ENVIRONMENT='$(installed_TESTS_ENVIRONMENT)' check-TESTS + TESTS_ENVIRONMENT="$(installed_TESTS_ENVIRONMENT)" + LOG_COMPILER="$(installed_LOG_COMPILER)" check-TESTS endif !STANDALONE if BUILD_STATIC diff --git a/dwarflint/tests/run-DW_AT-later-version.sh b/dwarflint/tests/run-DW_AT-later-version.sh index d662502b3..57fef1129 100755 --- a/dwarflint/tests/run-DW_AT-later-version.sh +++ b/dwarflint/tests/run-DW_AT-later-version.sh @@ -19,9 +19,9 @@ srcdir=$srcdir/tests -testfiles DW_AT-later-version +testfiles tests/DW_AT-later-version -testrun_compare ./dwarflint --nognu DW_AT-later-version <). error: .rela 0xc00 of .debug_info: invalid relocation 2560 (). error: .rela 0x1100 of .debug_info: invalid relocation 2560 (). @@ -119,7 +119,7 @@ error: .debug_line: table 0: header claims that it has a size of 542, but in fac error: .debug_info: DIE 0xb, attr. stmt_list: unresolved reference to .debug_line table 0x0. EOF -testrun_compare ./dwarflint garbage-12 <. + +. $srcdir/test-subr.sh + +status=0 +runtest() +{ + for file; do + if [ -f $file ]; then + testrun ../dwarflint/dwarflint -q -i --check=@low $file || + { echo "*** failure in $file"; status=1; } + fi + done +} + +runtest ../src/addr2line +runtest ../src/dwarfcmp +runtest ../src/elfcmp +runtest ../src/elflint +runtest ../src/findtextrel +runtest ../src/ld +runtest ../src/nm +runtest ../src/objdump +runtest ../src/readelf +runtest ../src/size +runtest ../src/strip +runtest ../src/unstrip +runtest ../*/*.so +runtest ../dwarflint/dwarflint + +exit $status diff --git a/tests/test-subr.sh b/tests/test-subr.sh index a765db639..0856ac02e 100644 --- a/tests/test-subr.sh +++ b/tests/test-subr.sh @@ -47,8 +47,9 @@ tempfiles() testfiles() { for file; do - bunzip2 -c ${abs_srcdir}/${file}.bz2 > ${file} || exit 77 - remove_files="$remove_files $file" + file_name=$(basename $file) + bunzip2 -c ${abs_srcdir}/${file}.bz2 > $file_name || exit 77 + remove_files="$remove_files $file_name" done } diff --git a/tests/test-wrapper.sh b/tests/test-wrapper.sh index 09b4d49f6..376b03e44 100755 --- a/tests/test-wrapper.sh +++ b/tests/test-wrapper.sh @@ -55,6 +55,8 @@ case "$1" in LD_LIBRARY_PATH="${libdir}:${libdir}/elfutils$old_path" fi export LD_LIBRARY_PATH + export elfutils_testrun program_transform_name + export elfutils_tests_rpath ;; esac