X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2FT570-revision-tracking.sh;h=a748005056d77c06ff511f8de2bf3d7333081364;hb=2e5ef69fbf9ce9d67720d5d4abba3026302734e5;hp=0936011ae6a1e50e3611d74846653afcffa5bf2f;hpb=cb08a2ee019e52dc29ba393d139fce8d7282c632;p=notmuch diff --git a/test/T570-revision-tracking.sh b/test/T570-revision-tracking.sh index 0936011a..a7480050 100755 --- a/test/T570-revision-tracking.sh +++ b/test/T570-revision-tracking.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash test_description="database revision tracking" -. ./test-lib.sh || exit 1 +. $(dirname "$0")/test-lib.sh || exit 1 add_email_corpus @@ -19,7 +19,12 @@ int main (int argc, char** argv) unsigned long rev; - stat = notmuch_database_open (argv[1], NOTMUCH_DATABASE_MODE_READ_ONLY, &db); + char* msg = NULL; + stat = notmuch_database_open_with_config (argv[1], + NOTMUCH_DATABASE_MODE_READ_ONLY, + "", NULL, &db, &msg); + if (msg) fputs (msg, stderr); + if (stat) fputs ("open failed\n", stderr); revision = notmuch_database_get_revision (db, &uuid); @@ -49,29 +54,29 @@ test_expect_equal 1 ${result} notmuch count --lastmod '*' | cut -f2 > UUID -test_expect_success 'search succeeds with correct uuid' \ - "notmuch search --uuid=$(cat UUID) '*'" +test_begin_subtest "search succeeds with correct uuid" +test_expect_success "notmuch search --uuid=$(cat UUID) '*'" -test_expect_success 'uuid works as global option ' \ - "notmuch --uuid=$(cat UUID) search '*'" +test_begin_subtest "uuid works as global option" +test_expect_success "notmuch --uuid=$(cat UUID) search '*'" -test_expect_code 1 'uuid works as global option II' \ - "notmuch --uuid=this-is-no-uuid search '*'" +test_begin_subtest "uuid works as global option II" +test_expect_code 1 "notmuch --uuid=this-is-no-uuid search '*'" -test_expect_code 1 'search fails with incorrect uuid' \ - "notmuch search --uuid=this-is-no-uuid '*'" +test_begin_subtest "search fails with incorrect uuid" +test_expect_code 1 "notmuch search --uuid=this-is-no-uuid '*'" -test_expect_success 'show succeeds with correct uuid' \ - "notmuch show --uuid=$(cat UUID) '*'" +test_begin_subtest "show succeeds with correct uuid" +test_expect_success "notmuch show --uuid=$(cat UUID) '*'" -test_expect_code 1 'show fails with incorrect uuid' \ - "notmuch show --uuid=this-is-no-uuid '*'" +test_begin_subtest "show fails with incorrect uuid" +test_expect_code 1 "notmuch show --uuid=this-is-no-uuid '*'" -test_expect_success 'tag succeeds with correct uuid' \ - "notmuch tag --uuid=$(cat UUID) +test '*'" +test_begin_subtest "tag succeeds with correct uuid" +test_expect_success "notmuch tag --uuid=$(cat UUID) +test '*'" -test_expect_code 1 'tag fails with incorrect uuid' \ - "notmuch tag --uuid=this-is-no-uuid '*' +test2" +test_begin_subtest "tag fails with incorrect uuid" +test_expect_code 1 "notmuch tag --uuid=this-is-no-uuid '*' +test2" test_begin_subtest 'lastmod:0.. matches everything' total=$(notmuch count '*') @@ -90,4 +95,31 @@ subtotal=$(notmuch count lastmod:..$lastmod) result=$(($subtotal == $total-1)) test_expect_equal 1 "$result" +if [ $NOTMUCH_HAVE_SFSEXP -eq 1 ]; then + test_begin_subtest 'exclude one message using negative lastmod (sexp)' + total=$(notmuch count '*') + notmuch tag +${RANDOM} id:4EFC743A.3060609@april.org + count=$(notmuch count --query=sexp '(lastmod -1 *)') + test_expect_equal 1 "$count" +fi + +test_begin_subtest 'exclude one message using negative lastmod' +total=$(notmuch count '*') +notmuch tag +${RANDOM} id:4EFC743A.3060609@april.org +count=$(notmuch count lastmod:-1..) +test_expect_equal 1 "$count" + +test_begin_subtest 'exclude one message using negative lastmod (second param)' +total=$(notmuch count '*') +notmuch tag +${RANDOM} id:4EFC743A.3060609@april.org +count=$(notmuch count lastmod:..-1) +test_expect_equal 51 "$count" + +test_begin_subtest 'negative lastmod (two parameters)' +notmuch tag +${RANDOM} '*' +before=$(notmuch count --lastmod '*' | cut -f3) +notmuch tag +${RANDOM} id:4EFC743A.3060609@april.org +count=$(notmuch count lastmod:-100..$before) +test_expect_equal 51 "$count" + test_done