Enable inc(1) to read from stdin
[mmh] / test / tests / inc / test-read-stdin
diff --git a/test/tests/inc/test-read-stdin b/test/tests/inc/test-read-stdin
new file mode 100644 (file)
index 0000000..d771d32
--- /dev/null
@@ -0,0 +1,66 @@
+#!/bin/sh
+##########################################################
+# Test incorporating mail from stdin with `inc -file -`. #
+##########################################################
+. "$MH_TEST_COMMON"
+
+# Test empty stdin from a pipe.
+runandcheck "printf '' |inc -file -" <<!
+Incorporating new mail into inbox...
+
+inc: no messages incorporated, continuing...
+!
+
+# Test empty stdin from redirected regular file.
+cd "$MMH_TEST_DIR"
+f=mbox
+runandcheck "printf '' >$f && inc -file - <$f" <<!
+Incorporating new mail into inbox...
+
+inc: no messages incorporated, continuing...
+!
+rm "$f"
+unset f
+
+# Test empty stdin from character device.
+runandcheck "inc -file - </dev/null" <<!
+Incorporating new mail into inbox...
+
+inc: no messages incorporated, continuing...
+!
+
+# Test nonempty pipe.
+runandcheck "packf +inbox |inc -file -" <<!
+Incorporating new mail into inbox...
+
+  11+ 2006-09-29 00:00  Test1              Testing message 1
+  12  2006-09-29 00:00  Test2              Testing message 2
+  13  2006-09-29 00:00  Test3              Testing message 3
+  14  2006-09-29 00:00  Test4              Testing message 4
+  15  2006-09-29 00:00  Test5              Testing message 5
+  16  2006-09-29 00:00  Test6              Testing message 6
+  17  2006-09-29 00:00  Test7              Testing message 7
+  18  2006-09-29 00:00  Test8              Testing message 8
+  19  2006-09-29 00:00  Test9              Testing message 9
+  20  2006-09-29 00:00  Test10             Testing message 10
+!
+
+# Test nonempty redirected stdin.
+cd "$MMH_TEST_DIR"
+f=mbox
+runandcheck "packf +inbox 1-10 >$f && inc -file - <$f" <<!
+Incorporating new mail into inbox...
+
+  21+ 2006-09-29 00:00  Test1              Testing message 1
+  22  2006-09-29 00:00  Test2              Testing message 2
+  23  2006-09-29 00:00  Test3              Testing message 3
+  24  2006-09-29 00:00  Test4              Testing message 4
+  25  2006-09-29 00:00  Test5              Testing message 5
+  26  2006-09-29 00:00  Test6              Testing message 6
+  27  2006-09-29 00:00  Test7              Testing message 7
+  28  2006-09-29 00:00  Test8              Testing message 8
+  29  2006-09-29 00:00  Test9              Testing message 9
+  30  2006-09-29 00:00  Test10             Testing message 10
+!
+rm "$f"
+unset f