[Spice-devel] [spice-streaming-agent 1/2] tests: Fix hexdump.sh when builddir != srcdir

Christophe Fergeau cfergeau at redhat.com
Thu Nov 9 10:37:12 UTC 2017


This script currently expects the reference file and the generated file
to both be in the same directory, which is not the case when doing a
build with builddir != srcdir (or when running make distcheck)
---
 src/unittests/Makefile.am |  1 +
 src/unittests/hexdump.sh  | 13 +++++++------
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/unittests/Makefile.am b/src/unittests/Makefile.am
index 0dc2328..1a5f339 100644
--- a/src/unittests/Makefile.am
+++ b/src/unittests/Makefile.am
@@ -16,6 +16,7 @@ check_PROGRAMS = \
 	test-hexdump \
 	$(NULL)
 
+AM_TESTS_ENVIRONMENT = SRCDIR=$(srcdir); export SRCDIR; BUILDDIR=$(builddir); export BUILDDIR;
 TESTS = \
 	hexdump.sh \
 	$(NULL)
diff --git a/src/unittests/hexdump.sh b/src/unittests/hexdump.sh
index 602b501..4509a7b 100755
--- a/src/unittests/hexdump.sh
+++ b/src/unittests/hexdump.sh
@@ -6,10 +6,11 @@ set -e
 # ascii part of the dump
 export LANG=C
 
-for f in hexdump*.in; do
-    out=`echo $f | sed 's,\.in,.out,'`
-    rm -f $out.test
-    ./test-hexdump $out.test < $f
-    cmp $out.test $out
-    rm -f $out.test
+for f in "$SRCDIR"/hexdump*.in; do
+    reference=`echo $f | sed 's,\.in,.out,'`
+    out="$BUILDDIR"/`basename $reference`.test
+    rm -f $out
+    ./test-hexdump $out < $f
+    cmp $out $reference
+    rm -f $out
 done
-- 
2.13.6



More information about the Spice-devel mailing list