Petr Menšík e5f6b8
From cb616c6d5c2ece1fac37fa6e0bca2b53d4043098 Mon Sep 17 00:00:00 2001
Petr Menšík e5f6b8
From: Mark Andrews <marka@isc.org>
Petr Menšík e5f6b8
Date: Tue, 2 Jan 2018 10:20:58 +1100
Petr Menšík e5f6b8
Subject: [PATCH] 4851.   [port]          Support using kyua as well as atf-run
Petr Menšík e5f6b8
 to run the unit                         tests. [RT #46853]
Petr Menšík e5f6b8
Petr Menšík e5f6b8
(cherry picked from commit ccb5678066ea0055012352df5011ce2aa44e0eb0)
Petr Menšík e5f6b8
---
Petr Menšík e5f6b8
 unit/unittest.sh.in | 26 +++++++++++++++++++++++---
Petr Menšík e5f6b8
 1 file changed, 23 insertions(+), 3 deletions(-)
Petr Menšík e5f6b8
Petr Menšík e5f6b8
diff --git a/unit/unittest.sh.in b/unit/unittest.sh.in
Petr Menšík e5f6b8
index 899e00e..de304c6 100644
Petr Menšík e5f6b8
--- a/unit/unittest.sh.in
Petr Menšík e5f6b8
+++ b/unit/unittest.sh.in
Petr Menšík e5f6b8
@@ -2,17 +2,19 @@
Petr Menšík e5f6b8
 
Petr Menšík e5f6b8
 PATH="@ATFBIN@:${PATH}"
Petr Menšík e5f6b8
 export PATH
Petr Menšík e5f6b8
+ATFRUN=`type atf-run 2>/dev/null | awk '{print $3}'`
Petr Menšík e5f6b8
+KYUA=`type kyua 2>/dev/null | awk '{print $3}'`
Petr Menšík e5f6b8
 
Petr Menšík e5f6b8
 status=0
Petr Menšík e5f6b8
-if [ -n "@ATFBIN@" -a -f Atffile ]
Petr Menšík e5f6b8
+if [ -n "@UNITTESTS@" -a -x "$ATFRUN" -a -f Atffile ]
Petr Menšík e5f6b8
 then
Petr Menšík e5f6b8
 	echo "S:unit:`date`"
Petr Menšík e5f6b8
-        echo "T:unit:1:A"
Petr Menšík e5f6b8
+	echo "T:unit:1:A"
Petr Menšík e5f6b8
 	echo "I: unit tests"
Petr Menšík e5f6b8
 	atf-run > atf.out
Petr Menšík e5f6b8
 	status=$?
Petr Menšík e5f6b8
 
Petr Menšík e5f6b8
-        # | cat is there to force non-fancy output
Petr Menšík e5f6b8
+	# | cat is there to force non-fancy output
Petr Menšík e5f6b8
 	atf-report < atf.out | cat
Petr Menšík e5f6b8
 
Petr Menšík e5f6b8
 	if [ $status -eq 0 ]
Petr Menšík e5f6b8
@@ -23,5 +25,23 @@ then
Petr Menšík e5f6b8
 		echo R:FAIL
Petr Menšík e5f6b8
 	fi
Petr Menšík e5f6b8
 	echo "E:unit:`date`"
Petr Menšík e5f6b8
+elif [ -n "@UNITTESTS@" -a -x "$KYUA" -a -f Kyuafile ]
Petr Menšík e5f6b8
+then
Petr Menšík e5f6b8
+	echo "S:unit:`date`"
Petr Menšík e5f6b8
+	echo "T:unit:1:A"
Petr Menšík e5f6b8
+	echo "I: unit tests"
Petr Menšík e5f6b8
+	kyua --logfile kyua.log test
Petr Menšík e5f6b8
+	status=$?
Petr Menšík e5f6b8
+
Petr Menšík e5f6b8
+	kyua report
Petr Menšík e5f6b8
+
Petr Menšík e5f6b8
+	if [ $status -eq 0 ]
Petr Menšík e5f6b8
+	then
Petr Menšík e5f6b8
+		rm -f kyua.log
Petr Menšík e5f6b8
+		echo R:PASS
Petr Menšík e5f6b8
+	else
Petr Menšík e5f6b8
+		echo R:FAIL
Petr Menšík e5f6b8
+	fi
Petr Menšík e5f6b8
+	echo "E:unit:`date`"
Petr Menšík e5f6b8
 fi
Petr Menšík e5f6b8
 exit $status
Petr Menšík e5f6b8
-- 
Petr Menšík e5f6b8
2.9.5
Petr Menšík e5f6b8