X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test%2FT055-path-config.sh;h=fe2953247302db5d1a5da8568b5667c1a64a000c;hb=f4dc32e71b6fbaca933e0c7edd6d08b65feed0ec;hp=7c7d81b1ccbd0f04d3623be9d5f52af45d4bd923;hpb=8376e814412f8165b781aa21dac654c2fc948306;p=notmuch diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh index 7c7d81b1..fe295324 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,15 +135,16 @@ 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)" - [[ "$config" = maildir_env ]] && test_subtest_known_broken output=$(notmuch count '*') test_expect_equal "$output" '52' test_begin_subtest "count+tag ($config)" - [[ "$config" = maildir_env ]] && test_subtest_known_broken tag="tag${RANDOM}" notmuch tag +$tag '*' output=$(notmuch count tag:$tag) @@ -138,7 +152,6 @@ for config in traditional split XDG XDG+profile symlink home_mail maildir_env; d test_expect_equal "$output" '52' test_begin_subtest "address ($config)" - [[ "$config" = maildir_env ]] && test_subtest_known_broken notmuch address --deduplicate=no --sort=newest-first --output=sender --output=recipients path:foo >OUTPUT cat <EXPECTED Carl Worth @@ -147,7 +160,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "dump ($config)" - [[ "$config" = maildir_env ]] && test_subtest_known_broken notmuch dump is:attachment and is:signed | sort > OUTPUT cat < EXPECTED #notmuch-dump batch-tag:3 config,properties,tags @@ -161,28 +173,25 @@ EOF notmuch tag -inbox '*' notmuch restore < EXPECTED notmuch dump > OUTPUT - test_expect_equal_file EXPECTED OUTPUT + test_expect_equal_file_nonempty EXPECTED OUTPUT test_begin_subtest "reindex ($config)" notmuch search --output=messages '*' > EXPECTED notmuch reindex '*' notmuch search --output=messages '*' > OUTPUT - test_expect_equal_file EXPECTED OUTPUT + test_expect_equal_file_nonempty EXPECTED OUTPUT test_begin_subtest "use existing database ($config)" - [[ "$config" = "maildir_env" ]] && test_subtest_known_broken output=$(notmuch new) test_expect_equal "$output" 'No new mail.' test_begin_subtest "create database ($config)" - [[ "$config" = "maildir_env" ]] && test_subtest_known_broken rm -rf $DATABASE_PATH/{.notmuch,}/xapian notmuch new output=$(notmuch count '*') test_expect_equal "$output" '52' test_begin_subtest "detect new files ($config)" - [[ "$config" = "maildir_env" ]] && test_subtest_known_broken generate_message generate_message notmuch new @@ -190,14 +199,12 @@ EOF test_expect_equal "$output" '54' test_begin_subtest "Show a raw message ($config)" - [[ "$config" = "maildir_env" ]] && test_subtest_known_broken add_message notmuch show --format=raw id:$gen_msg_id > OUTPUT - test_expect_equal_file $gen_msg_filename OUTPUT + test_expect_equal_file_nonempty $gen_msg_filename OUTPUT rm -f $gen_msg_filename test_begin_subtest "reply ($config)" - [[ "$config" = "maildir_env" ]] && test_subtest_known_broken add_message '[from]="Sender "' \ [to]=test_suite@notmuchmail.org \ [subject]=notmuch-reply-test \ @@ -217,7 +224,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "insert+search ($config)" - [[ "$config" = "maildir_env" ]] && test_subtest_known_broken generate_message \ "[subject]=\"insert-subject\"" \ "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ @@ -225,17 +231,15 @@ EOF mkdir -p "$MAIL_DIR"/{cur,new,tmp} notmuch insert < "$gen_msg_filename" cur_msg_filename=$(notmuch search --output=files "subject:insert-subject") - test_expect_equal_file "$cur_msg_filename" "$gen_msg_filename" - + test_expect_equal_file_nonempty "$cur_msg_filename" "$gen_msg_filename" test_begin_subtest "compact+search ($config)" notmuch search --output=messages '*' | sort > EXPECTED notmuch compact notmuch search --output=messages '*' | sort > OUTPUT - test_expect_equal_file EXPECTED OUTPUT + test_expect_equal_file_nonempty EXPECTED OUTPUT test_begin_subtest "upgrade backup ($config)" - [[ "$config" = "maildir_env" ]] && test_subtest_known_broken features=$(xapian-metadata get $XAPIAN_PATH features | grep -v "^relative directory paths") xapian-metadata set $XAPIAN_PATH features "$features" output=$(notmuch new | grep Welcome) @@ -269,7 +273,6 @@ EOF test_expect_equal "${output}+${output2}" "${value}+" test_begin_subtest "Set config value in database ($config)" - [[ "$config" = "maildir_env" ]] && test_subtest_known_broken name=${RANDOM} value=${RANDOM} notmuch config set --database test${test_count}.${name} ${value} @@ -279,8 +282,7 @@ EOF test_expect_equal "${output}+${output2}" "${value}+" test_begin_subtest "Config list ($config)" - [[ "$config" = "maildir_env" ]] && test_subtest_known_broken - notmuch config list | notmuch_dir_sanitize | \ + notmuch config list | notmuch_config_sanitize | \ sed -e "s/^database.backup_dir=.*$/database.backup_dir/" \ -e "s/^database.hook_dir=.*$/database.hook_dir/" \ -e "s/^database.path=.*$/database.path/" \ @@ -288,9 +290,11 @@ EOF -e "s,^database.mail_root=CWD/home/env_points_here,database.mail_root=MAIL_DIR," \ > OUTPUT cat < EXPECTED -built_with.compact=true -built_with.field_processor=true -built_with.retry_lock=true +built_with.compact=something +built_with.field_processor=something +built_with.retry_lock=something +built_with.sexp_queries=something +database.autocommit=8000 database.backup_dir database.hook_dir database.mail_root=MAIL_DIR @@ -305,6 +309,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,8 +343,45 @@ EOF output2=$(notmuch --config='' config get ${key}) notmuch config set ${key} test_expect_equal "${output}+${output2}" "${value}+" + ;& + split) + test_begin_subtest "'to' header does not crash (python-cffi) ($config)" + echo 'notmuch@notmuchmail.org' > EXPECTED + test_python < 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 + ;; + *) + backup_database + test_begin_subtest ".notmuch without xapian/ handled gracefully ($config)" + rm -r $XAPIAN_PATH + test_expect_success "notmuch new" + restore_database ;; esac + restore_config rm -rf home/.local rm -rf home/.config