Module Name:    src
Committed By:   kre
Date:           Sun Nov 21 20:50:35 UTC 2021

Modified Files:
        src/tests/bin/sh: t_redir.sh

Log Message:
Deal with a lot more pipes into atf_check missed last time.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/tests/bin/sh/t_redir.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/bin/sh/t_redir.sh
diff -u src/tests/bin/sh/t_redir.sh:1.13 src/tests/bin/sh/t_redir.sh:1.14
--- src/tests/bin/sh/t_redir.sh:1.13	Tue Nov 16 11:15:26 2021
+++ src/tests/bin/sh/t_redir.sh	Sun Nov 21 20:50:35 2021
@@ -1,4 +1,4 @@
-# $NetBSD: t_redir.sh,v 1.13 2021/11/16 11:15:26 kre Exp $
+# $NetBSD: t_redir.sh,v 1.14 2021/11/21 20:50:35 kre Exp $
 #
 # Copyright (c) 2016 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -42,30 +42,36 @@ basic_test_method_test_body()
 {
 	cat <<- 'DONE' |
 	DONE
-	atf_check -s exit:0 -o empty -e empty ${TEST_SH}
+	atf_check -s exit:0 -o empty -e empty ${TEST_SH} ||
+		atf_fail 'empty piped input'
 	cat <<- 'DONE' |
 	DONE
-	atf_check -s exit:0 -o match:0 -e empty ${TEST_SH} -c 'wc -l'
+	atf_check -s exit:0 -o match:0 -e empty ${TEST_SH} -c 'wc -l' ||
+		atf_fail 'empty piped input line count'
 
 	cat <<- 'DONE' |
 		echo hello
 	DONE
-	atf_check -s exit:0 -o match:hello -e empty ${TEST_SH} 
+	atf_check -s exit:0 -o match:hello -e empty ${TEST_SH}  ||
+		atf_fail 'piped hello'
 	cat <<- 'DONE' |
 		echo hello
 	DONE
-	atf_check -s exit:0 -o match:1 -e empty ${TEST_SH} -c 'wc -l'
+	atf_check -s exit:0 -o match:1 -e empty ${TEST_SH} -c 'wc -l' ||
+		atf_fail 'piped hello line count'
 
 	cat <<- 'DONE' |
 		echo hello\
 					world
 	DONE
-	atf_check -s exit:0 -o match:helloworld -e empty ${TEST_SH} 
+	atf_check -s exit:0 -o match:helloworld -e empty ${TEST_SH}  ||
+		atf_fail 'piped hello world'
 	cat <<- 'DONE' |
 		echo hello\
 					world
 	DONE
-	atf_check -s exit:0 -o match:2 -e empty ${TEST_SH} -c 'wc -l'
+	atf_check -s exit:0 -o match:2 -e empty ${TEST_SH} -c 'wc -l' ||
+		atf_fail 'piped hello world line check'
 
 	printf '%s\n%s\n%s\n' Line1 Line2 Line3 > File
 	atf_check -s exit:0 -o inline:'Line1\nLine2\nLine3\n' -e empty \
@@ -83,7 +89,16 @@ basic_test_method_test_body()
 		EOF
 	DONE
 	atf_check -s exit:0 -o match:ARGS=4 -o match:'-X- -- -- -Y-' \
-		-o match:X=X -o match:'Y=\$4' -e empty ${TEST_SH} 
+		-o match:X=X -o match:'Y=\$4' -e empty ${TEST_SH}  ||
+			atf_fail "complex piped input"
+
+	cat <<- 'DONE' |
+		echo expect to see a non-detected failure here
+	DONE
+	atf_check -s exit:1 -o empty -e empty ${TEST_SH} &&
+		atf_fail "Failed to fail as expected"
+
+	return 0
 }
 
 atf_test_case do_input_redirections
@@ -129,7 +144,8 @@ do_input_redirections_body()
 	EOF
 	atf_check -s exit:0 -e empty \
 		-o inline:'First Line\nFirst Line\nFirst Line\n' \
-		${TEST_SH}
+		${TEST_SH} ||
+			atf_fail 'loop rereading first line'
 
 	cat <<- 'EOF' |
 		for l in 1 2 3; do
@@ -139,7 +155,8 @@ do_input_redirections_body()
 	EOF
 	atf_check -s exit:0 -e empty \
 		-o inline:'First Line\nSecond Line\nLine 3\n' \
-		${TEST_SH}
+		${TEST_SH} ||
+			atf_fail 'loop reading file'
 
 	cat <<- 'EOF' |
 		for l in 1 2 3; do
@@ -149,7 +166,8 @@ do_input_redirections_body()
 	EOF
 	atf_check -s exit:0 -e empty \
 		-o inline:'First Line\nFirst Line\nFirst Line\n' \
-		${TEST_SH}
+		${TEST_SH} ||
+			atf_fail 'double redirect'
 
 	cat <<- 'EOF' |
 		line=
@@ -160,7 +178,8 @@ do_input_redirections_body()
 	EOF
 	atf_check -s exit:0 -e empty \
 		-o inline:'First Line\nSecond Line\nLine 3\nEND\n' \
-		${TEST_SH}
+		${TEST_SH} ||
+			atf_fail 'read and test content'
 
 	cat <<- 'EOF' |
 		while :; do
@@ -170,7 +189,8 @@ do_input_redirections_body()
 	EOF
 	atf_check -s exit:0 -e empty \
 		-o inline:'First Line\nSecond Line\nLine 3\nEND\n' \
-		${TEST_SH}
+		${TEST_SH} ||
+			atf_fail 'read and test status'
 
 	cat <<- 'EOF' |
 		l=''
@@ -184,7 +204,8 @@ do_input_redirections_body()
 	EOF
 	atf_check -s exit:0 -e empty \
 		-o inline:'First Line\nFirst Line\nFirst Line\nDONE\n' \
-		${TEST_SH}
+		${TEST_SH} ||
+			atf_fail 'read 3 lines'
 
 	cat <<- 'EOF' |
 		while read line
@@ -195,7 +216,8 @@ do_input_redirections_body()
 	EOF
 	atf_check -s exit:0 -e empty \
 		-o inline:'First Line\nSecond Line\nLine 3\nEND\nDONE\n' \
-		${TEST_SH}
+		${TEST_SH} ||
+			atf_fail 'read to EOF'
 
 	cat <<- 'EOF' |
 		l=''
@@ -208,7 +230,9 @@ do_input_redirections_body()
 		echo DONE
 	EOF
 	atf_check -s exit:0 -e empty \
-		-o inline:'First Line\nSecond Line\nLine 3\nDONE\n' ${TEST_SH}
+		-o inline:'First Line\nSecond Line\nLine 3\nDONE\n' \
+		${TEST_SH} ||
+			atf_fail 'read 3 and break'
 
 	cat <<- 'EOF' |
 		l=''
@@ -223,7 +247,8 @@ do_input_redirections_body()
 	EOF
 	atf_check -s exit:0 -e empty \
 	    -o inline:'First Line:First Line\nFirst Line:Second Line\nDONE\n' \
-		${TEST_SH}
+		${TEST_SH} ||
+			atf_fail 'read and read again'
 }
 
 atf_test_case do_output_redirections
@@ -305,7 +330,8 @@ nl='
 			echo "$arg" > Out1
 		done > Out2
 	EOF
-	atf_check -s exit:0 -o empty -e empty ${TEST_SH} 
+	atf_check -s exit:0 -o empty -e empty ${TEST_SH}  ||
+		atf_fail "#$T:  not empty/empty/0"
 	test "$(cat Out1)" = "line 3" || atf_fail \
 		"#$T:  Incorrect Out1: Should be 'line 3' is '$(cat Out1)'"
 	test "$(cat Out2)" = "line 1${nl}line 2${nl}line 3" || atf_fail \
@@ -319,7 +345,8 @@ nl='
 			echo "$arg" >> Out1
 		done > Out2
 	EOF
-	atf_check -s exit:0 -o empty -e empty ${TEST_SH} 
+	atf_check -s exit:0 -o empty -e empty ${TEST_SH}  ||
+		atf_fail "#$T:  not empty/empty/0"
 	test "$(cat Out1)" = "line 1${nl}line 2${nl}line 3" || atf_fail \
     "#$T: Incorrect Out1: Should be 'line 1\\nline 2\\nline 3' is '$(cat Out1)'"
 	test "$(cat Out2)" = "line 1${nl}line 2${nl}line 3" || atf_fail \
@@ -702,7 +729,8 @@ redir_here_doc_body()
 		EOF
 	DONE
 	atf_check -s exit:0 -o match:printf -o match:'hello\\n' \
-		-e empty ${TEST_SH} 
+		-e empty ${TEST_SH}  ||
+			atf_fail "redir_here_doc failed"
 }
 
 atf_test_case subshell_redirections
@@ -733,7 +761,8 @@ subshell_redirections_body()
 		echo Bye="$bye"
 	DONE
 	atf_check -s exit:0 -o match:Bye=bye-bye -e empty \
-		${TEST_SH}
+		${TEST_SH} ||
+			atf_fail 'bye-bye failure'
 
 	cat <<- 'DONE' |
 		for arg in one-4 two-24 three-14
@@ -765,7 +794,8 @@ subshell_redirections_body()
 		)
 	DONE
 	atf_check -s exit:0 -o inline:'line-1\nline-2\nline-3\n' \
-		-e empty ${TEST_SH}
+		-e empty ${TEST_SH} ||
+			atf_fail 'complex 3 line redirects'
 
 	cat <<- 'DONE' |
 		for arg in one-4-5 two-6-7 three-8-9 four-11-10 five-3-12
@@ -788,7 +818,8 @@ subshell_redirections_body()
 		( ( ( cat <&7 >&1 ) 7<&6 >&10 ) 10>&2 6<&8 ) 2>&1
 	DONE
 	atf_check -s exit:0 -o inline:'line-1\nline-2\nline-3\n' \
-		-e empty ${TEST_SH}
+		-e empty ${TEST_SH} ||
+			atf_fail 'absurd 3 line redirects'
 }
 
 atf_test_case ulimit_redirection_interaction

Reply via email to