]> diplodocus.org Git - nmh/blobdiff - test/scan/test-scan
scan(1) now checks for full output device [Bug #50925].
[nmh] / test / scan / test-scan
index 79ac85d5d81a6c93249c904aaade6dcb422c2a9d..510ad36ac3463845d032acd9381814eb9d740d0a 100755 (executable)
@@ -14,10 +14,15 @@ fi
 
 setup_test
 
-expected=$MH_TEST_DIR/$$.expected
-actual=$MH_TEST_DIR/$$.actual
+check_exit '-eq 1' scan -
 
-cat > $expected <<EOF
+expected="$MH_TEST_DIR/$$.expected"
+actual="$MH_TEST_DIR/$$.actual"
+
+
+# check -width
+start_test '-width'
+cat >"$expected" <<EOF
    1  09/29 Test1              Testing message 1<<This is message number 1 >>
    2  09/29 Test2              Testing message 2<<This is message number 2 >>
    3  09/29 Test3              Testing message 3<<This is message number 3 >>
@@ -30,12 +35,22 @@ cat > $expected <<EOF
   10  09/29 Test10             Testing message 10<<This is message number 10 >>
 EOF
 
-scan +inbox -width 80 > $actual || exit 1
-
+run_prog scan +inbox -width 80 >"$actual" || exit 1
 check "$expected" "$actual"
 
+
+# check full output device, if one exists
+if test -c /dev/full; then
+  start_test 'full output device'
+  printf 'scan: failed to fflush stdout: No space left on device\n' >"$expected"
+  scan last >/dev/full 2>"$actual"  &&  false
+  check "$expected" "$actual"
+fi
+
+
 # check highlighting
-cat > $expected <<EOF
+start_test 'highlighting'
+cat >"$expected" <<EOF
    1  09/29 Test1              Testing message 1<<This is message number 1 >>\e[m
    2  09/29 Test2              Testing message 2<<This is message number 2 >>\e[m
    3  09/29 Test3              Testing message 3<<This is message number 3 >>\e[m
@@ -51,9 +66,14 @@ EOF
 printf 'Unseen-Sequence: unseen\n' >> $MH
 mark -sequence cur 5
 mark -sequence unseen 10
-scan -form scan.highlighted -width 80 > $actual || exit 1
-
+run_prog scan -form scan.highlighted -width 80 >"$actual" || exit 1
 check "$expected" "$actual"
 
 
+# check null input
+start_test 'null input'
+run_test 'scan -format "" -file /dev/null' ''
+
+
+finish_test
 exit $failed