From d4ddc5b94d6abbd33a3001d27ff5d9698be3f820 Mon Sep 17 00:00:00 2001
From: Michael Vogt <michael.vogt@ubuntu.com>
Date: Sun, 17 Mar 2013 19:51:02 +0100
Subject: [PATCH] * test/libapt/assert.h, test/libapt/run-tests:   - exit with
 status 1 on test failure

---
 debian/changelog      | 8 ++++++++
 test/libapt/assert.h  | 2 ++
 test/libapt/run-tests | 9 ++++++++-
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index bfc4279b3..ef622c994 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+apt (0.9.7.8~exp3) UNRELEASEDexperimental; urgency=low
+
+  [ Niels Thykier ]
+  * test/libapt/assert.h, test/libapt/run-tests:
+    - exit with status 1 on test failure
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 17 Mar 2013 19:46:23 +0100
+
 apt (0.9.7.8~exp2) experimental; urgency=low
 
   * include two missing patches to really fix bug #696225, thanks to
diff --git a/test/libapt/assert.h b/test/libapt/assert.h
index fdf6740c6..113c057ed 100644
--- a/test/libapt/assert.h
+++ b/test/libapt/assert.h
@@ -1,4 +1,5 @@
 #include <iostream>
+#include <cstdlib>
 
 #define equals(x,y) assertEquals(y, x, __LINE__)
 #define equalsNot(x,y) assertEqualsNot(y, x, __LINE__)
@@ -6,6 +7,7 @@
 template < typename X, typename Y >
 void OutputAssertEqual(X expect, char const* compare, Y get, unsigned long const &line) {
 	std::cerr << "Test FAILED: »" << expect << "« " << compare << " »" << get << "« at line " << line << std::endl;
+	std::exit(EXIT_FAILURE);
 }
 
 template < typename X, typename Y >
diff --git a/test/libapt/run-tests b/test/libapt/run-tests
index 45a3157f7..f18be6d2b 100755
--- a/test/libapt/run-tests
+++ b/test/libapt/run-tests
@@ -7,6 +7,7 @@ echo "Compiling the tests …"
 echo "Running all testcases …"
 LDPATH="$DIR/../../build/bin"
 EXT="_libapt_test"
+EXIT_CODE=0
 
 # detect if output is on a terminal (colorful) or better not
 if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
@@ -106,9 +107,15 @@ do
 	fi
 
 	echo -n "Testing with ${NAME} "
-	LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} && echo "$TESTOKAY" || echo "$TESTFAIL"
+	if LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} ; then
+ 		echo "$TESTOKAY"
+	else
+		echo "$TESTFAIL"
+		EXIT_CODE=1
+	fi
 
 	if [ -n "$tmppath" -a -d "$tmppath" ]; then
 		rm -rf "$tmppath"
 	fi
 done
+exit $EXIT_CODE
-- 
2.47.2