X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT055-path-config.sh;h=4897c8142ac73ea47023744cafcfd966985f1a98;hp=b6858d42e4287086ecf41192debc96cfb00fda81;hb=HEAD;hpb=e43bad4883cf8a0c1d58d50238da599f9e170307 diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh index b6858d42..1feb5624 100755 --- a/test/T055-path-config.sh +++ b/test/T055-path-config.sh @@ -92,7 +92,20 @@ xdg_config () { notmuch --config=${CONFIG_PATH} config set database.path } -for config in traditional split XDG XDG+profile symlink home_mail maildir_env; do +mailroot_only_config () { + local dir + + backup_config + notmuch config set database.mail_root ${TMP_DIRECTORY}/mail + notmuch config set database.path + DATABASE_PATH="${HOME}/.local/share/notmuch/default" + rm -rf $DATABASE_PATH + mkdir -p $DATABASE_PATH + XAPIAN_PATH="${DATABASE_PATH}/xapian" + mv mail/.notmuch/xapian $DATABASE_PATH +} + +for config in traditional split XDG XDG+profile symlink home_mail maildir_env mailroot_only; do #start each set of tests with an known set of messages add_email_corpus @@ -122,6 +135,9 @@ for config in traditional split XDG XDG+profile symlink home_mail maildir_env; d maildir_env) maildir_env_config ;; + mailroot_only) + mailroot_only_config + ;; esac test_begin_subtest "count ($config)" @@ -277,12 +293,13 @@ EOF built_with.compact=something built_with.field_processor=something built_with.retry_lock=something -built_with.sexpr_query=something +built_with.sexp_queries=something database.autocommit=8000 database.backup_dir database.hook_dir database.mail_root=MAIL_DIR database.path +index.as_text= maildir.synchronize_flags=true new.ignore= new.tags=unread;inbox @@ -293,6 +310,27 @@ user.primary_email=test_suite@notmuchmail.org EOF test_expect_equal_file EXPECTED OUTPUT + test_begin_subtest "Config list from python ($config)" + test_python < OUTPUT +from notmuch2 import Database +db=Database(config=Database.CONFIG.SEARCH) +for key in list(db.config): + print(key) +EOF + cat < EXPECTED +database.autocommit +database.backup_dir +database.hook_dir +database.mail_root +database.path +maildir.synchronize_flags +new.tags +user.name +user.other_email +user.primary_email +EOF + test_expect_equal_file EXPECTED OUTPUT + case $config in XDG*) test_begin_subtest "Set shadowed config value in database ($config)" @@ -318,20 +356,38 @@ to=m.header('To') print(to) EOF test_expect_equal_file EXPECTED OUTPUT + + test_begin_subtest ".notmuch not ignored in split config ($config)" + test_subtest_known_broken + generate_message '[dir]=.notmuch/cur' '[subject]="Do not ignore, very important"' + NOTMUCH_NEW > OUTPUT + notmuch search subject:Do-not-ignore | notmuch_search_sanitize >> OUTPUT + cat < EXPECTED +Added 1 new message to the database. +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Do not ignore, very important (inbox unread) +EOF + test_expect_equal_file EXPECTED OUTPUT + ;& + mailroot_only) + test_begin_subtest "create database parent dir ($config)" + rm -r ${DATABASE_PATH} + notmuch new + test_expect_equal "$(xapian-metadata get ${XAPIAN_PATH} version)" 3 + ;; + home_mail|maildir_env) + test_begin_subtest "No errors from config list ($config)" + notmuch config list 2>OUTPUT 1>/dev/null + test_expect_equal_file /dev/null OUTPUT ;; *) backup_database test_begin_subtest ".notmuch without xapian/ handled gracefully ($config)" - test_subtest_known_broken rm -r $XAPIAN_PATH test_expect_success "notmuch new" restore_database ;; esac - case $config in - split|XDG*) - esac restore_config rm -rf home/.local rm -rf home/.config