* [PATCH 1/3] test: Add compact test @ 2013-10-27 20:30 Ben Gamari 2013-10-27 20:30 ` [PATCH 2/3] compact: Give user more feedback on failure renaming Ben Gamari 2013-10-27 20:30 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari 0 siblings, 2 replies; 7+ messages in thread From: Ben Gamari @ 2013-10-27 20:30 UTC (permalink / raw) To: notmuch Signed-off-by: Ben Gamari <bgamari.foss@gmail.com> --- test/compact | 35 +++++++++++++++++++++++++++++++++++ test/notmuch-test | 1 + 2 files changed, 36 insertions(+) create mode 100755 test/compact diff --git a/test/compact b/test/compact new file mode 100755 index 0000000..54e85ab --- /dev/null +++ b/test/compact @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +test_description='"notmuch compact"' +. ./test-lib.sh + +add_message '[subject]=One' +add_message '[subject]=Two' +add_message '[subject]=Three' + +notmuch tag +tag1 \* +notmuch tag +tag2 subject:Two +notmuch tag -tag1 +tag3 subject:Three + +test_begin_subtest "Compacting" +notmuch compact +test_expect_success "compact" "notmuch compact" + +notmuch search \* +output=$(notmuch search \* | notmuch_search_sanitize) +test_expect_equal "$output" "\ +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)" + +test_begin_subtest "Restoring backup" +rm -Rf ${TEST_TMPDIR}/mail/xapian +mv ${TEST_TMPDIR}/mail/xapian.old ${TEST_TMPDIR}/mail/xapian + +notmuch search \* +output=$(notmuch search \* | notmuch_search_sanitize) +test_expect_equal "$output" "\ +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)" + +test_done diff --git a/test/notmuch-test b/test/notmuch-test index aa28bb0..ec94baf 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -19,6 +19,7 @@ cd $(dirname "$0") TESTS=" basic help-test + compact config setup new -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] compact: Give user more feedback on failure renaming 2013-10-27 20:30 [PATCH 1/3] test: Add compact test Ben Gamari @ 2013-10-27 20:30 ` Ben Gamari 2013-10-27 20:30 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari 1 sibling, 0 replies; 7+ messages in thread From: Ben Gamari @ 2013-10-27 20:30 UTC (permalink / raw) To: notmuch Provide the user with instructions after we fail to move the old un-compacted database out of the way. Signed-off-by: Ben Gamari <bgamari.foss@gmail.com> --- lib/database.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/database.cc b/lib/database.cc index 06f1c0a..57c2292 100644 --- a/lib/database.cc +++ b/lib/database.cc @@ -922,7 +922,14 @@ notmuch_database_compact (const char* path, if (old_xapian_path != NULL) { if (rename(xapian_path, old_xapian_path)) { - fprintf (stderr, "Error moving old database out of the way\n"); + fprintf (stderr, "Error moving old database out of the way: %s\n", + strerror(errno)); + fprintf (stderr, "\n"); + fprintf (stderr, "Old database: %s\n", xapian_path); + fprintf (stderr, "Compacted database: %s\n", compact_xapian_path); + fprintf (stderr, "\n"); + fprintf (stderr, "At this point it's probably best to remove the compacted database,\n"); + fprintf (stderr, "find the cause of this error, and try compacting again.\n"); ret = NOTMUCH_STATUS_FILE_ERROR; goto DONE; } -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] compact: Provide user with more error feedback 2013-10-27 20:30 [PATCH 1/3] test: Add compact test Ben Gamari 2013-10-27 20:30 ` [PATCH 2/3] compact: Give user more feedback on failure renaming Ben Gamari @ 2013-10-27 20:30 ` Ben Gamari 2013-10-27 21:48 ` Tomi Ollila 1 sibling, 1 reply; 7+ messages in thread From: Ben Gamari @ 2013-10-27 20:30 UTC (permalink / raw) To: notmuch Provide instructions on what to do when we couldn't move the compacted database into place. Signed-off-by: Ben Gamari <bgamari.foss@gmail.com> --- lib/database.cc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/database.cc b/lib/database.cc index 57c2292..6f9fed1 100644 --- a/lib/database.cc +++ b/lib/database.cc @@ -938,7 +938,23 @@ notmuch_database_compact (const char* path, } if (rename(compact_xapian_path, xapian_path)) { - fprintf (stderr, "Error moving compacted database\n"); + fprintf (stderr, "Error moving compacted database into place: %s\n", strerror(errno)); + fprintf (stderr, "\n"); + fprintf (stderr, "Encountered error %s while moving the compacted database,\n", + strerror(errno)); + fprintf (stderr, "\n"); + fprintf (stderr, " %s\n", compact_xapian_path); + fprintf (stderr, "\n"); + fprintf (stderr, "to\n"); + fprintf (stderr, "\n"); + fprintf (stderr, " %s\n", xapian_path); + fprintf (stderr, "\n"); + fprintf (stderr, "Please identify the reason for this and move the compacted database into place manually.\n"); + if (backup_path != NULL) { + fprintf (stderr, "Otherwise, you can revert to the backup database located at,\n"); + fprintf (stderr, "\n"); + fprintf (stderr, " %s\n", backup_path); + } ret = NOTMUCH_STATUS_FILE_ERROR; goto DONE; } -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] compact: Provide user with more error feedback 2013-10-27 20:30 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari @ 2013-10-27 21:48 ` Tomi Ollila 2013-10-28 22:12 ` Ben Gamari 0 siblings, 1 reply; 7+ messages in thread From: Tomi Ollila @ 2013-10-27 21:48 UTC (permalink / raw) To: Ben Gamari, notmuch On Sun, Oct 27 2013, Ben Gamari <bgamari.foss@gmail.com> wrote: > Provide instructions on what to do when we couldn't move the compacted > database into place. > > Signed-off-by: Ben Gamari <bgamari.foss@gmail.com> > --- > lib/database.cc | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) > > diff --git a/lib/database.cc b/lib/database.cc > index 57c2292..6f9fed1 100644 > --- a/lib/database.cc > +++ b/lib/database.cc > @@ -938,7 +938,23 @@ notmuch_database_compact (const char* path, > } > > if (rename(compact_xapian_path, xapian_path)) { > - fprintf (stderr, "Error moving compacted database\n"); > + fprintf (stderr, "Error moving compacted database into place: %s\n", strerror(errno)); > + fprintf (stderr, "\n"); > + fprintf (stderr, "Encountered error %s while moving the compacted database,\n", > + strerror(errno)); You probably missed my comments in id:m2d2mz7qv7.fsf@guru.guru-group.fi ? Tomi > + fprintf (stderr, "\n"); > + fprintf (stderr, " %s\n", compact_xapian_path); > + fprintf (stderr, "\n"); > + fprintf (stderr, "to\n"); > + fprintf (stderr, "\n"); > + fprintf (stderr, " %s\n", xapian_path); > + fprintf (stderr, "\n"); > + fprintf (stderr, "Please identify the reason for this and move the compacted database into place manually.\n"); > + if (backup_path != NULL) { > + fprintf (stderr, "Otherwise, you can revert to the backup database located at,\n"); > + fprintf (stderr, "\n"); > + fprintf (stderr, " %s\n", backup_path); > + } > ret = NOTMUCH_STATUS_FILE_ERROR; > goto DONE; > } > -- > 1.8.3.2 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] compact: Provide user with more error feedback 2013-10-27 21:48 ` Tomi Ollila @ 2013-10-28 22:12 ` Ben Gamari 0 siblings, 0 replies; 7+ messages in thread From: Ben Gamari @ 2013-10-28 22:12 UTC (permalink / raw) To: Tomi Ollila, notmuch [-- Attachment #1: Type: text/plain, Size: 1107 bytes --] Tomi Ollila <tomi.ollila@iki.fi> writes: > On Sun, Oct 27 2013, Ben Gamari <bgamari.foss@gmail.com> wrote: > >> Provide instructions on what to do when we couldn't move the compacted >> database into place. >> >> Signed-off-by: Ben Gamari <bgamari.foss@gmail.com> >> --- >> lib/database.cc | 18 +++++++++++++++++- >> 1 file changed, 17 insertions(+), 1 deletion(-) >> >> diff --git a/lib/database.cc b/lib/database.cc >> index 57c2292..6f9fed1 100644 >> --- a/lib/database.cc >> +++ b/lib/database.cc >> @@ -938,7 +938,23 @@ notmuch_database_compact (const char* path, >> } >> >> if (rename(compact_xapian_path, xapian_path)) { >> - fprintf (stderr, "Error moving compacted database\n"); >> + fprintf (stderr, "Error moving compacted database into place: %s\n", strerror(errno)); >> + fprintf (stderr, "\n"); >> + fprintf (stderr, "Encountered error %s while moving the compacted database,\n", >> + strerror(errno)); > > You probably missed my comments in id:m2d2mz7qv7.fsf@guru.guru-group.fi ? > Indeed I did. My apologies. New set coming. Cheers, - Ben [-- Attachment #2: Type: application/pgp-signature, Size: 489 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] Compact tests and error handling @ 2013-10-15 1:13 Ben Gamari 2013-10-15 1:13 ` [PATCH 1/3] test: Add compact test Ben Gamari 0 siblings, 1 reply; 7+ messages in thread From: Ben Gamari @ 2013-10-15 1:13 UTC (permalink / raw) To: notmuch Here are a few patches adding a test case and some more user feedback on rename failure during compaction. Cheers, - Ben ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] test: Add compact test 2013-10-15 1:13 [PATCH] Compact tests and error handling Ben Gamari @ 2013-10-15 1:13 ` Ben Gamari 2013-10-20 12:18 ` David Bremner 0 siblings, 1 reply; 7+ messages in thread From: Ben Gamari @ 2013-10-15 1:13 UTC (permalink / raw) To: notmuch Signed-off-by: Ben Gamari <bgamari.foss@gmail.com> --- test/compact | 35 +++++++++++++++++++++++++++++++++++ test/notmuch-test | 1 + 2 files changed, 36 insertions(+) create mode 100755 test/compact diff --git a/test/compact b/test/compact new file mode 100755 index 0000000..54e85ab --- /dev/null +++ b/test/compact @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +test_description='"notmuch compact"' +. ./test-lib.sh + +add_message '[subject]=One' +add_message '[subject]=Two' +add_message '[subject]=Three' + +notmuch tag +tag1 \* +notmuch tag +tag2 subject:Two +notmuch tag -tag1 +tag3 subject:Three + +test_begin_subtest "Compacting" +notmuch compact +test_expect_success "compact" "notmuch compact" + +notmuch search \* +output=$(notmuch search \* | notmuch_search_sanitize) +test_expect_equal "$output" "\ +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)" + +test_begin_subtest "Restoring backup" +rm -Rf ${TEST_TMPDIR}/mail/xapian +mv ${TEST_TMPDIR}/mail/xapian.old ${TEST_TMPDIR}/mail/xapian + +notmuch search \* +output=$(notmuch search \* | notmuch_search_sanitize) +test_expect_equal "$output" "\ +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)" + +test_done diff --git a/test/notmuch-test b/test/notmuch-test index aa28bb0..ec94baf 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -19,6 +19,7 @@ cd $(dirname "$0") TESTS=" basic help-test + compact config setup new -- 1.8.1.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/3] test: Add compact test 2013-10-15 1:13 ` [PATCH 1/3] test: Add compact test Ben Gamari @ 2013-10-20 12:18 ` David Bremner 0 siblings, 0 replies; 7+ messages in thread From: David Bremner @ 2013-10-20 12:18 UTC (permalink / raw) To: Ben Gamari, notmuch Hi Ben; Thanks for writing these tests. I have some proposed changes. I didn't understand why you called notmuch search twice, and for whatever reason test_begin_subtest doesn't pair up with test_expect_success diff --git a/test/compact b/test/compact index 54e85ab..5bb5cea 100755 --- a/test/compact +++ b/test/compact @@ -10,11 +10,9 @@ notmuch tag +tag1 \* notmuch tag +tag2 subject:Two notmuch tag -tag1 +tag3 subject:Three -test_begin_subtest "Compacting" -notmuch compact -test_expect_success "compact" "notmuch compact" +test_expect_success "Running compact" "notmuch compact" -notmuch search \* +test_begin_subtest "Compact preserves database" output=$(notmuch search \* | notmuch_search_sanitize) test_expect_equal "$output" "\ thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread) @@ -25,7 +23,6 @@ test_begin_subtest "Restoring backup" rm -Rf ${TEST_TMPDIR}/mail/xapian mv ${TEST_TMPDIR}/mail/xapian.old ${TEST_TMPDIR}/mail/xapian -notmuch search \* output=$(notmuch search \* | notmuch_search_sanitize) test_expect_equal "$output" "\ thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread) ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-10-28 22:12 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-10-27 20:30 [PATCH 1/3] test: Add compact test Ben Gamari 2013-10-27 20:30 ` [PATCH 2/3] compact: Give user more feedback on failure renaming Ben Gamari 2013-10-27 20:30 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari 2013-10-27 21:48 ` Tomi Ollila 2013-10-28 22:12 ` Ben Gamari -- strict thread matches above, loose matches on Subject: below -- 2013-10-15 1:13 [PATCH] Compact tests and error handling Ben Gamari 2013-10-15 1:13 ` [PATCH 1/3] test: Add compact test Ben Gamari 2013-10-20 12:18 ` David Bremner
Code repositories for project(s) associated with this public inbox https://yhetil.org/notmuch.git/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).