X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test%2FT030-config.sh;h=ba29cbacb3aedcaca1b2b84999df267a594fbaf1;hb=ecb91d056c1d99373316ccf7aff748bc91e90ef4;hp=ca4cf330eb57c2f9b014cb02acd1e42d2a64ac3e;hpb=957fc2e1a7d00636c7eaaf487edae65e7a63dc8f;p=notmuch diff --git a/test/T030-config.sh b/test/T030-config.sh index ca4cf330..ba29cbac 100755 --- a/test/T030-config.sh +++ b/test/T030-config.sh @@ -1,15 +1,18 @@ #!/usr/bin/env bash test_description='"notmuch config"' -. ./test-lib.sh +. $(dirname "$0")/test-lib.sh || exit 1 test_begin_subtest "Get string value" test_expect_equal "$(notmuch config get user.name)" "Notmuch Test Suite" test_begin_subtest "Get list value" -test_expect_equal "$(notmuch config get new.tags)" "\ +cat < EXPECTED +inbox unread -inbox" +EOF +notmuch config get new.tags | sort > OUTPUT +test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "Set string value" notmuch config set foo.string "this is a string value" @@ -43,10 +46,11 @@ notmuch config set foo.nonexistent test_expect_equal "$(notmuch config get foo.nonexistent)" "" test_begin_subtest "List all items" -notmuch config set database.path "/canonical/path" -output=$(notmuch config list) -test_expect_equal "$output" "\ -database.path=/canonical/path +notmuch config list > STDOUT 2> STDERR +printf "%s\n====\n%s\n" "$(< STDOUT)" "$(< STDERR)" | 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 @@ -55,7 +59,14 @@ new.ignore= search.exclude_tags= maildir.synchronize_flags=true foo.string=this is another string value -foo.list=this;is another;list 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. +EOF +test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "Top level --config=FILE option" cp "${NOTMUCH_CONFIG}" alt-config @@ -63,6 +74,14 @@ notmuch --config=alt-config config set user.name "Another Name" test_expect_equal "$(notmuch --config=alt-config config get user.name)" \ "Another Name" +test_begin_subtest "Top level --config:FILE option" +test_expect_equal "$(notmuch --config:alt-config config get user.name)" \ + "Another Name" + +test_begin_subtest "Top level --configFILE option" +test_expect_equal "$(notmuch --config alt-config config get user.name)" \ + "Another Name" + test_begin_subtest "Top level --config=FILE option changed the right file" test_expect_equal "$(notmuch config get user.name)" \ "Notmuch Test Suite" @@ -80,4 +99,32 @@ test_expect_equal "$(notmuch --config=alt-config-link config get user.name)" \ test_begin_subtest "Writing config file through symlink follows symlink" test_expect_equal "$(readlink alt-config-link)" "alt-config" +test_begin_subtest "Round trip arbitrary key" +key=g${RANDOM}.m${RANDOM} +value=${RANDOM} +notmuch config set ${key} ${value} +output=$(notmuch config get ${key}) +test_expect_equal "${output}" "${value}" + +test_begin_subtest "Clear arbitrary key" +notmuch config set ${key} +output=$(notmuch config get ${key}) +test_expect_equal "${output}" "" + +db_path=${HOME}/database-path + +test_begin_subtest "Absolute database path returned" +notmuch config set database.path ${HOME}/Maildir +test_expect_equal "$(notmuch config get database.path)" \ + "${HOME}/Maildir" + +ln -s `pwd`/mail home/Maildir +add_email_corpus +test_begin_subtest "Relative database path expanded in open" +notmuch config set database.path Maildir +path=$(notmuch config get database.path) +count=$(notmuch count '*') +test_expect_equal "${path} ${count}" \ + "Maildir 52" + test_done