mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 10:58:10 +01:00
Merge branch 'release'
Merge changes for notmuch-insert error handling, debian bugfix release
This commit is contained in:
commit
71f1228a51
6 changed files with 58 additions and 18 deletions
6
debian/changelog
vendored
6
debian/changelog
vendored
|
@ -1,3 +1,9 @@
|
||||||
|
notmuch (0.23.3-3) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Disable gdb using tests on kfreebsd-*, due to apparent gdb breakage
|
||||||
|
|
||||||
|
-- David Bremner <bremner@debian.org> Mon, 05 Dec 2016 08:25:32 -0400
|
||||||
|
|
||||||
notmuch (0.23.3-2) unstable; urgency=medium
|
notmuch (0.23.3-2) unstable; urgency=medium
|
||||||
|
|
||||||
* Add missing depends to notmuch-emacs. Thanks to micah for the
|
* Add missing depends to notmuch-emacs. Thanks to micah for the
|
||||||
|
|
2
debian/control
vendored
2
debian/control
vendored
|
@ -22,7 +22,7 @@ Build-Depends:
|
||||||
ruby, ruby-dev (>>1:1.9.3~),
|
ruby, ruby-dev (>>1:1.9.3~),
|
||||||
emacs24-nox | emacs24 (>=24~) | emacs24-lucid (>=24~) |
|
emacs24-nox | emacs24 (>=24~) | emacs24-lucid (>=24~) |
|
||||||
emacs23-nox | emacs23 (>=23~) | emacs23-lucid (>=23~),
|
emacs23-nox | emacs23 (>=23~) | emacs23-lucid (>=23~),
|
||||||
gdb [!s390x !ia64 !armel !ppc64el !mips !mipsel !mips64el],
|
gdb [!s390x !ia64 !armel !ppc64el !mips !mipsel !mips64el !kfreebsd-any],
|
||||||
dtach (>= 0.8),
|
dtach (>= 0.8),
|
||||||
gpgsm <!nocheck>,
|
gpgsm <!nocheck>,
|
||||||
gnupg <!nocheck>,
|
gnupg <!nocheck>,
|
||||||
|
|
|
@ -489,6 +489,9 @@ print_status_database (const char *loc,
|
||||||
const notmuch_database_t *database,
|
const notmuch_database_t *database,
|
||||||
notmuch_status_t status);
|
notmuch_status_t status);
|
||||||
|
|
||||||
|
int
|
||||||
|
status_to_exit (notmuch_status_t status);
|
||||||
|
|
||||||
#include "command-line-arguments.h"
|
#include "command-line-arguments.h"
|
||||||
|
|
||||||
extern char *notmuch_requested_db_uuid;
|
extern char *notmuch_requested_db_uuid;
|
||||||
|
|
|
@ -532,19 +532,20 @@ notmuch_insert_command (notmuch_config_t *config, int argc, char *argv[])
|
||||||
action.sa_flags = 0;
|
action.sa_flags = 0;
|
||||||
sigaction (SIGINT, &action, NULL);
|
sigaction (SIGINT, &action, NULL);
|
||||||
|
|
||||||
if (notmuch_database_open (notmuch_config_get_database_path (config),
|
|
||||||
NOTMUCH_DATABASE_MODE_READ_WRITE, ¬much))
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
|
|
||||||
notmuch_exit_if_unmatched_db_uuid (notmuch);
|
|
||||||
|
|
||||||
/* Write the message to the Maildir new directory. */
|
/* Write the message to the Maildir new directory. */
|
||||||
newpath = maildir_write_new (config, STDIN_FILENO, maildir);
|
newpath = maildir_write_new (config, STDIN_FILENO, maildir);
|
||||||
if (! newpath) {
|
if (! newpath) {
|
||||||
notmuch_database_destroy (notmuch);
|
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
status = notmuch_database_open (notmuch_config_get_database_path (config),
|
||||||
|
NOTMUCH_DATABASE_MODE_READ_WRITE, ¬much);
|
||||||
|
if (status)
|
||||||
|
return keep ? NOTMUCH_STATUS_SUCCESS : status_to_exit (status);
|
||||||
|
|
||||||
|
notmuch_exit_if_unmatched_db_uuid (notmuch);
|
||||||
|
|
||||||
|
|
||||||
/* Index the message. */
|
/* Index the message. */
|
||||||
status = add_file (notmuch, newpath, tag_ops, synchronize_flags, keep);
|
status = add_file (notmuch, newpath, tag_ops, synchronize_flags, keep);
|
||||||
|
|
||||||
|
@ -577,5 +578,5 @@ notmuch_insert_command (notmuch_config_t *config, int argc, char *argv[])
|
||||||
notmuch_run_hook (db_path, "post-insert");
|
notmuch_run_hook (db_path, "post-insert");
|
||||||
}
|
}
|
||||||
|
|
||||||
return status ? EXIT_FAILURE : EXIT_SUCCESS;
|
return status_to_exit (status);
|
||||||
}
|
}
|
||||||
|
|
16
status.c
16
status.c
|
@ -36,3 +36,19 @@ print_status_database (const char *loc,
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
status_to_exit (notmuch_status_t status)
|
||||||
|
{
|
||||||
|
switch (status) {
|
||||||
|
case NOTMUCH_STATUS_SUCCESS:
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
case NOTMUCH_STATUS_OUT_OF_MEMORY:
|
||||||
|
case NOTMUCH_STATUS_XAPIAN_EXCEPTION:
|
||||||
|
case NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID:
|
||||||
|
case NOTMUCH_STATUS_FILE_ERROR:
|
||||||
|
return EX_TEMPFAIL;
|
||||||
|
default:
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -189,7 +189,6 @@ notmuch config set new.tags $OLDCONFIG
|
||||||
|
|
||||||
for code in OUT_OF_MEMORY XAPIAN_EXCEPTION FILE_NOT_EMAIL \
|
for code in OUT_OF_MEMORY XAPIAN_EXCEPTION FILE_NOT_EMAIL \
|
||||||
READ_ONLY_DATABASE UPGRADE_REQUIRED PATH_ERROR; do
|
READ_ONLY_DATABASE UPGRADE_REQUIRED PATH_ERROR; do
|
||||||
gen_insert_msg
|
|
||||||
cat <<EOF > index-file-$code.gdb
|
cat <<EOF > index-file-$code.gdb
|
||||||
set breakpoint pending on
|
set breakpoint pending on
|
||||||
set logging file index-file-$code.log
|
set logging file index-file-$code.log
|
||||||
|
@ -201,15 +200,30 @@ continue
|
||||||
end
|
end
|
||||||
run
|
run
|
||||||
EOF
|
EOF
|
||||||
test_begin_subtest "error exit when add_message returns $code"
|
done
|
||||||
gdb --batch-silent --return-child-result -x index-file-$code.gdb \
|
|
||||||
--args notmuch insert < $gen_msg_filename
|
|
||||||
test_expect_equal $? 1
|
|
||||||
|
|
||||||
test_begin_subtest "success exit with --keep when add_message returns $code"
|
gen_insert_msg
|
||||||
gdb --batch-silent --return-child-result -x index-file-$code.gdb \
|
|
||||||
--args notmuch insert --keep < $gen_msg_filename
|
for code in FILE_NOT_EMAIL READ_ONLY_DATABASE UPGRADE_REQUIRED PATH_ERROR; do
|
||||||
test_expect_equal $? 0
|
test_expect_code 1 "EXIT_FAILURE when add_message returns $code" \
|
||||||
|
"gdb --batch-silent --return-child-result \
|
||||||
|
-ex 'set args insert < $gen_msg_filename' \
|
||||||
|
-x index-file-$code.gdb notmuch"
|
||||||
|
test_expect_code 0 "success exit with --keep when add_message returns $code" \
|
||||||
|
"gdb --batch-silent --return-child-result \
|
||||||
|
-ex 'set args insert --keep < $gen_msg_filename' \
|
||||||
|
-x index-file-$code.gdb notmuch"
|
||||||
|
done
|
||||||
|
|
||||||
|
for code in OUT_OF_MEMORY XAPIAN_EXCEPTION ; do
|
||||||
|
test_expect_code 75 "EX_TEMPFAIL when add_message returns $code" \
|
||||||
|
"gdb --batch-silent --return-child-result \
|
||||||
|
-ex 'set args insert < $gen_msg_filename' \
|
||||||
|
-x index-file-$code.gdb notmuch"
|
||||||
|
test_expect_code 0 "success exit with --keep when add_message returns $code" \
|
||||||
|
"gdb --batch-silent --return-child-result \
|
||||||
|
-ex 'set args insert --keep < $gen_msg_filename' \
|
||||||
|
-x index-file-$code.gdb notmuch"
|
||||||
done
|
done
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Loading…
Reference in a new issue