X-Git-Url: https://git.cworth.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT030-config.sh;h=43bbce31057d4fc108621c505057618d5b0d9990;hp=ba29cbacb3aedcaca1b2b84999df267a594fbaf1;hb=a06b76b9b3c1212b17d2bb170bdd511711f578f8;hpb=ecb91d056c1d99373316ccf7aff748bc91e90ef4 diff --git a/test/T030-config.sh b/test/T030-config.sh index ba29cbac..43bbce31 100755 --- a/test/T030-config.sh +++ b/test/T030-config.sh @@ -46,28 +46,56 @@ notmuch config set foo.nonexistent test_expect_equal "$(notmuch config get foo.nonexistent)" "" test_begin_subtest "List all items" -notmuch config list > STDOUT 2> STDERR -printf "%s\n====\n%s\n" "$(< STDOUT)" "$(< STDERR)" | notmuch_config_sanitize > OUTPUT - +notmuch config list 2>&1 | notmuch_config_sanitize > OUTPUT cat < EXPECTED -database.path=MAIL_DIR -user.name=Notmuch Test Suite -user.primary_email=test_suite@notmuchmail.org -user.other_email=test_suite_other@notmuchmail.org;test_suite@otherdomain.org -new.tags=unread;inbox; -new.ignore= -search.exclude_tags= -maildir.synchronize_flags=true -foo.string=this is another string value -foo.list=this;is another;list value; built_with.compact=something built_with.field_processor=something built_with.retry_lock=something -==== -Error: Cannot open database at MAIL_DIR/.notmuch: No such file or directory. +built_with.sexp_queries=something +database.autocommit=8000 +database.mail_root=MAIL_DIR +database.path=MAIL_DIR +foo.list=this;is another;list value; +foo.string=this is another string value +maildir.synchronize_flags=true +new.ignore= +new.tags=unread;inbox +search.exclude_tags= +user.name=Notmuch Test Suite +user.other_email=test_suite_other@notmuchmail.org;test_suite@otherdomain.org +user.primary_email=test_suite@notmuchmail.org EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "Round trip config item with leading spaces" +test_subtest_known_broken +notmuch config set foo.bar " thing" +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" " thing" + +test_begin_subtest "Round trip config item with leading tab" +test_subtest_known_broken +notmuch config set foo.bar " thing" +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" " thing" + +test_begin_subtest "Round trip config item with embedded tab" +notmuch config set foo.bar "thing other" +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" "thing other" + +test_begin_subtest "Round trip config item with embedded backslash" +notmuch config set foo.bar 'thing\other' +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" "thing\other" + +test_begin_subtest "Round trip config item with embedded NL/CR" +notmuch config set foo.bar 'thing + other' +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" "thing + other" + test_begin_subtest "Top level --config=FILE option" cp "${NOTMUCH_CONFIG}" alt-config notmuch --config=alt-config config set user.name "Another Name" @@ -120,11 +148,48 @@ test_expect_equal "$(notmuch config get database.path)" \ ln -s `pwd`/mail home/Maildir add_email_corpus -test_begin_subtest "Relative database path expanded in open" +test_begin_subtest "Relative database path expanded" notmuch config set database.path Maildir -path=$(notmuch config get database.path) +path=$(notmuch config get database.path | notmuch_dir_sanitize) count=$(notmuch count '*') test_expect_equal "${path} ${count}" \ - "Maildir 52" + "CWD/home/Maildir 52" + +test_begin_subtest "Add config to database" +notmuch new +key=g${RANDOM}.m${RANDOM} +value=${RANDOM} +notmuch config set --database ${key} ${value} +notmuch dump --include=config > OUTPUT +cat < EXPECTED +#notmuch-dump batch-tag:3 config +#@ ${key} ${value} +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Roundtrip config to/from database" +notmuch new +key=g${RANDOM}.m${RANDOM} +value=${RANDOM} +notmuch config set --database ${key} ${value} +output=$(notmuch config get ${key}) +test_expect_equal "${output}" "${value}" + +test_begin_subtest "set built_with.* yields error" +test_expect_code 1 "notmuch config set built_with.compact false" + +test_begin_subtest "get built_with.{compact,field_processor} prints true" +for key in compact field_processor; do + notmuch config get built_with.${key} +done > OUTPUT +cat < EXPECTED +true +true +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "get built_with.nonexistent prints false" +output=$(notmuch config get built_with.nonexistent) +test_expect_equal "$output" "false" test_done