fail in pick if a massage of -thread has no thread-id
authorPhilipp Takacs <philipp@bureaucracy.de>
Sat, 5 Jan 2019 13:30:57 +0000 (14:30 +0100)
committerPhilipp Takacs <philipp@bureaucracy.de>
Sat, 5 Jan 2019 13:45:38 +0000 (14:45 +0100)
If pick -thread is used with a message without a message-id
or a references header field pick now fails. This prevents
falling back to all messages as default.

test/tests/pick/test-thread-without-msgid
uip/pick.c

index d693439..6058815 100644 (file)
@@ -12,11 +12,13 @@ actual_out=$MH_TEST_DIR/$$.actual_out
 
 # All messages should be go to stdout
 cat > $expected_out <<EOF
-5
+0
 EOF
 # Nothing should to go stderr
-cat /dev/null > $expected_err
+cat > $expected_err <<EOF
+pick: message 5 is not part of a thread
+EOF
 
 pick -thread 5 > $actual_out 2> $actual_err
-diff -u $expected_err $actual_err
-diff -u $expected_out $actual_out
+diff -u $expected_err $actual_err || exit 1
+diff -u $expected_out $actual_out || exit 1
index 049be8a..f700a0c 100644 (file)
@@ -1330,6 +1330,7 @@ createpickthread(char *msgs)
        for (i = 0; i < files.size; i++) {
                buf = getthreadid(files.msgs[i]);
                if (!buf) {
+                       adios(EX_DATAERR, NULL, "message %s is not part of a thread", basename(files.msgs[i]));
                        continue;
                }