From 757316875cca05c44a857a2427f7d9281bcfcf48 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 6 Jan 2012 16:07:34 -0700 Subject: [PATCH] tests: work around pdwtags 1.9 failure On rawhide, gcc is new enough to output new DWARF information that pdwtags has not yet learned, but the resulting 'make check' output was rather confusing: $ make -C src check ... GEN virkeepaliveprotocol-structs die__process_function: DW_TAG_INVALID (0x4109) @ <0x58c> not handled! WARNING: your pdwtags program is too old WARNING: skipping the virkeepaliveprotocol-structs test WARNING: install dwarves-1.3 or newer ... $ pdwtags --version v1.9 I've filed the pdwtags deficiency as https://bugzilla.redhat.com/show_bug.cgi?id=772358 * src/Makefile.am (PDWTAGS): Don't leave -t file behind on version mismatch. Soften warning message, since 1.9 is newer than 1.3. Don't leak stderr from broken version. (cherry picked from commit cf6d36257b9164ec7a4bcd31a3c56b6163169e02) --- src/Makefile.am | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 990c634204..c0b4d5d041 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -## Copyright (C) 2005-2011 Red Hat, Inc. +## Copyright (C) 2005-2012 Red Hat, Inc. ## See COPYING.LIB for the License of this software # No libraries with the exception of LIBXML should be listed @@ -233,8 +233,12 @@ r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/ PDWTAGS = \ $(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then \ - pdwtags --verbose $(<:.lo=.$(OBJEXT)) \ - | perl -0777 -n \ + pdwtags --verbose $(<:.lo=.$(OBJEXT)) > $(@F)-t1 2> $(@F)-t2; \ + if test -s $(@F)-t2; then \ + rm -rf $(@F)-t?; \ + echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\ + else \ + perl -0777 -n \ -e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {' \ -e ' if ($$p =~ /^(struct|enum) (remote_|qemu_|virNet)/ ||' \ -e ' $$p =~ /^enum {/) {' \ @@ -257,9 +261,10 @@ PDWTAGS = \ -e ' exit 8;' \ -e ' }' \ -e '}' \ - > $(@F)-t; \ - case $$? in 8) exit 0;; 0) ;; *) exit 1;; esac; \ - diff -u $(@F)-t $@; st=$$?; rm -f $(@F)-t; exit $$st; \ + < $(@F)-t1 > $(@F)-t3; \ + case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\ + diff -u $(@F)-t3 $@; st=$$?; rm -f $(@F)-t?; exit $$st; \ + fi; \ else \ echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2; \ echo 'WARNING: install the dwarves package to get pdwtags' >&2; \ -- 2.47.3