This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The nmh Mail Handling System".

The branch, master has been updated
       via  67473e912ec0a0849a70cb61d9368c75dae614ee (commit)
      from  18b138a1003cf07114c2a4d03e4372e4e7bdc5f4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/nmh.git/commit/?id=67473e912ec0a0849a70cb61d9368c75dae614ee


commit 67473e912ec0a0849a70cb61d9368c75dae614ee
Author: David Levine <levin...@acm.org>
Date:   Sat Feb 18 09:42:04 2012 -0600

    Added mhpath test.  Updated mhpath man page to reflect actual behavior for 
a message number greater than that of the highest existing message in a folder.

diff --git a/Makefile.am b/Makefile.am
index dc63866..7358c78 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -46,11 +46,13 @@ TESTS = test/bad-input/test-header test/folder/test-create \
        test/format/test-mymbox \
        test/inc/test-deb359167 test/inc/test-eom-align \
        test/manpages/test-manpages test/mhbuild/test-forw \
+       test/mhpath/test-mhpath \
        test/mhshow/test-cte-binary test/mhshow/test-qp \
        test/mhshow/test-subpart test/new/test-basic test/pick/test-stderr \
        test/repl/test-if-str test/scan/test-scan \
        test/whatnow/test-attach-detach test/whatnow/test-cd \
-       test/whatnow/test-ls test/cleanup
+       test/whatnow/test-ls \
+       test/cleanup ## The "cleanup" test should always be last.
 
 check_SCRIPTS = test/common.sh
 check_PROGRAMS = test/getfullname
diff --git a/man/mhpath.man b/man/mhpath.man
index e04c4a3..4ad442c 100644
--- a/man/mhpath.man
+++ b/man/mhpath.man
@@ -48,9 +48,14 @@ message, if the folder contains messages.
 .IP 3) 4
 An empty folder is not in itself an error.
 .PP
-Message numbers greater than the highest existing message in a folder
-as part of a range designation are replaced with the next free message
-number.
+A message number less than that of the smallest existing message in a
+folder is treated as if the message already exists.  A message number
+greater than that of the highest existing message in a folder causes
+an \*(lqout of range\*(rq error message to be displayed.
+.PP
+As part of a range designation that contains messages that do exist,
+message numbers less than the smallest, or greater than the highest,
+existing message in a folder are ignored.
 .PP
 Examples: The current folder foo contains messages 3 5 6.
 Cur is 4.
@@ -66,7 +71,7 @@ Cur is 4.
 /r/phyl/Mail/foo/6
 
 % mhpath 2001
-/r/phyl/Mail/foo/7
+mhpath: message 2001 out of range 1-6
 
 % mhpath 1\-2001
 /r/phyl/Mail/foo/3
@@ -81,13 +86,13 @@ Cur is 4.
 /r/phyl/Mail/foo/7
 
 % mhpath last\-new
-bad message list \*(lqlast\-new\*(rq.
+mhpath: bad message list last\-new
 
 % mhpath cur
 /r/phyl/Mail/foo/4
 
 % mhpath 1\-2
-no messages in range \*(lq1\-2\*(rq.
+mhpath: no messages in range 1\-2
 
 % mhpath first:2
 /r/phyl/Mail/foo/3
diff --git a/test/mhpath/test-mhpath b/test/mhpath/test-mhpath
new file mode 100755
index 0000000..2f88eb0
--- /dev/null
+++ b/test/mhpath/test-mhpath
@@ -0,0 +1,139 @@
+#!/bin/sh
+######################################################
+#
+# Test mhpath
+#
+######################################################
+
+set -e
+
+if test -z "${MH_OBJ_DIR}"; then
+    srcdir=`dirname $0`/../..
+    MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR
+fi
+
+. "$MH_OBJ_DIR/test/common.sh"
+
+setup_test
+
+expected=$MH_TEST_DIR/$$.expected
+actual=$MH_TEST_DIR/$$.actual
+
+
+# check -help
+cat > $expected <<EOF
+Usage: mhpath [+folder] [msgs] [switches]
+  switches are:
+  -version
+  -help
+EOF
+# The exit status is 1 with -help, so invert it to prevent
+# triggering immediate exit due to set -e.
+! mhpath -help > $actual 2>&1
+check $expected $actual
+
+# check -version
+if ! mhpath -v | grep '^mhpath --' > /dev/null; then
+  echo "$0: mhpath -v generated unexpected output" 1>&2
+  failed=`expr ${failed:-0} + 1`
+fi
+
+# check +
+check_string "mhpath +" "$MH_TEST_DIR/Mail"
+
+# check with no options
+folder -fast +inbox > /dev/null
+check_string "mhpath" "$MH_TEST_DIR/Mail/inbox"
+
+# check +inbox
+check_string "mhpath +inbox" "$MH_TEST_DIR/Mail/inbox"
+
+# check all
+cat > $expected <<EOF
+$MH_TEST_DIR/Mail/inbox/1
+$MH_TEST_DIR/Mail/inbox/2
+$MH_TEST_DIR/Mail/inbox/3
+$MH_TEST_DIR/Mail/inbox/4
+$MH_TEST_DIR/Mail/inbox/5
+$MH_TEST_DIR/Mail/inbox/6
+$MH_TEST_DIR/Mail/inbox/7
+$MH_TEST_DIR/Mail/inbox/8
+$MH_TEST_DIR/Mail/inbox/9
+$MH_TEST_DIR/Mail/inbox/10
+EOF
+mhpath all > $actual 2>&1
+check $expected $actual
+
+# check message number greater than highest
+check_string "mhpath 11" "mhpath: message 11 out of range 1-10"
+check_string "mhpath 10 11" "mhpath: message 11 out of range 1-10"
+
+# check range with message number greater than highest
+cat > $expected <<EOF
+$MH_TEST_DIR/Mail/inbox/1
+$MH_TEST_DIR/Mail/inbox/2
+$MH_TEST_DIR/Mail/inbox/3
+$MH_TEST_DIR/Mail/inbox/4
+$MH_TEST_DIR/Mail/inbox/5
+$MH_TEST_DIR/Mail/inbox/6
+$MH_TEST_DIR/Mail/inbox/7
+$MH_TEST_DIR/Mail/inbox/8
+$MH_TEST_DIR/Mail/inbox/9
+$MH_TEST_DIR/Mail/inbox/10
+EOF
+mhpath 1-99999 > $actual 2>&1
+check $expected $actual
+
+# check new
+check_string "mhpath new" "$MH_TEST_DIR/Mail/inbox/11"
+
+# check multiple msgs, including new
+cat > $expected <<EOF
+$MH_TEST_DIR/Mail/inbox/1
+$MH_TEST_DIR/Mail/inbox/10
+$MH_TEST_DIR/Mail/inbox/11
+EOF
+mhpath first last new > $actual 2>&1
+check $expected $actual
+
+# check invalid message list using names
+check_string "mhpath last-new" "mhpath: bad message list last-new"
+
+# check cur
+folder +inbox 5 > /dev/null
+check_string "mhpath cur" "$MH_TEST_DIR/Mail/inbox/5"
+
+# check prev
+check_string "mhpath prev" "$MH_TEST_DIR/Mail/inbox/4"
+
+# check next
+check_string "mhpath next" "$MH_TEST_DIR/Mail/inbox/6"
+
+# check invalid message list using numbers
+rmm 1-2
+check_string "mhpath 1-2" "mhpath: no messages in range 1-2"
+
+# check ignoring of out-of-range message numbers in ranges
+check_string "mhpath 1-3" "$MH_TEST_DIR/Mail/inbox/3"
+check_string "mhpath first-3" "$MH_TEST_DIR/Mail/inbox/3"
+check_string "mhpath 10-11" "$MH_TEST_DIR/Mail/inbox/10"
+check_string "mhpath last-11" "$MH_TEST_DIR/Mail/inbox/10"
+
+# check reference to existing messages
+cat > $expected <<EOF
+$MH_TEST_DIR/Mail/inbox/3
+$MH_TEST_DIR/Mail/inbox/4
+EOF
+mhpath first:2 > $actual 2>&1
+check $expected $actual
+
+# check reference to non-existant messages
+cat > $expected <<EOF
+$MH_TEST_DIR/Mail/inbox/1
+$MH_TEST_DIR/Mail/inbox/2
+EOF
+mhpath 1 2 > $actual 2>&1
+check $expected $actual
+
+
+exit $failed

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am             |    4 +-
 man/mhpath.man          |   17 ++++--
 test/mhpath/test-mhpath |  139 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 153 insertions(+), 7 deletions(-)
 create mode 100755 test/mhpath/test-mhpath


hooks/post-receive
-- 
The nmh Mail Handling System

_______________________________________________
Nmh-commits mailing list
Nmh-commits@nongnu.org
https://lists.nongnu.org/mailman/listinfo/nmh-commits

Reply via email to