X-Git-Url: https://git.cworth.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT570-revision-tracking.sh;h=e1cc684de35c32dbb67aed25e03a151668b59628;hp=e0a57030f404249308bb7a1b17a33b49f10f91c8;hb=2707c06a0fc587a68096a3ec6f054ba4f0d7e7c7;hpb=98ee460eaa98f1428aecf03dd39fcf314e6f62c0 diff --git a/test/T570-revision-tracking.sh b/test/T570-revision-tracking.sh index e0a57030..e1cc684d 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); @@ -34,4 +39,60 @@ UUID 53 EOF test_expect_equal_file EXPECTED CLEAN +grep '^[0-9a-f]' OUTPUT > INITIAL_OUTPUT + +test_begin_subtest "output of count matches test code" +notmuch count --lastmod '*' | cut -f2-3 > OUTPUT +test_expect_equal_file INITIAL_OUTPUT OUTPUT + +test_begin_subtest "modification count increases" +before=$(notmuch count --lastmod '*' | cut -f3) +notmuch tag +a-random-tag-8743632 '*' +after=$(notmuch count --lastmod '*' | cut -f3) +result=$(($before < $after)) +test_expect_equal 1 ${result} + +notmuch count --lastmod '*' | cut -f2 > UUID + +test_begin_subtest "search succeeds with correct uuid" +test_expect_success "notmuch search --uuid=$(cat UUID) '*'" + +test_begin_subtest "uuid works as global option" +test_expect_success "notmuch --uuid=$(cat UUID) search '*'" + +test_begin_subtest "uuid works as global option II" +test_expect_code 1 "notmuch --uuid=this-is-no-uuid search '*'" + +test_begin_subtest "search fails with incorrect uuid" +test_expect_code 1 "notmuch search --uuid=this-is-no-uuid '*'" + +test_begin_subtest "show succeeds with correct uuid" +test_expect_success "notmuch show --uuid=$(cat UUID) '*'" + +test_begin_subtest "show fails with incorrect uuid" +test_expect_code 1 "notmuch show --uuid=this-is-no-uuid '*'" + +test_begin_subtest "tag succeeds with correct uuid" +test_expect_success "notmuch tag --uuid=$(cat UUID) +test '*'" + +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 '*') +modtotal=$(notmuch count lastmod:0..) +test_expect_equal "$total" "$modtotal" + +test_begin_subtest 'lastmod:1000000.. matches nothing' +modtotal=$(notmuch count lastmod:1000000..) +test_expect_equal 0 "$modtotal" + +test_begin_subtest 'exclude one message using lastmod' +lastmod=$(notmuch count --lastmod '*' | cut -f3) +total=$(notmuch count '*') +notmuch tag +4EFC743A.3060609@april.org id:4EFC743A.3060609@april.org +subtotal=$(notmuch count lastmod:..$lastmod) +result=$(($subtotal == $total-1)) +test_expect_equal 1 "$result" + test_done