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)
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 <<EOF >EXPECTED
Carl Worth <cworth@cworth.org>
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 <<EOF > EXPECTED
#notmuch-dump batch-tag:3 config,properties,tags
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
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 <sender@example.com>"' \
[to]=test_suite@notmuchmail.org \
[subject]=notmuch-reply-test \
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\"" \
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)
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}
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/" \
-e "s,^database.mail_root=CWD/home/env_points_here,database.mail_root=MAIL_DIR," \
> OUTPUT
cat <<EOF > 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.sexpr_query=something
+database.autocommit=8000
database.backup_dir
database.hook_dir
database.mail_root=MAIL_DIR
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 <<EOF
+from notmuch2 import Database
+db=Database(config=Database.CONFIG.SEARCH)
+m=db.find('20091117232137.GA7669@griffis1.net')
+to=m.header('To')
+print(to)
+EOF
+ test_expect_equal_file EXPECTED OUTPUT
;;
+ *)
+ backup_database
+ test_begin_subtest ".notmuch without xapian/ handled gracefully ($config)"
+ rm -r $XAPIAN_PATH
+ test_expect_success "notmuch new"
+ restore_database
+ ;;
+ esac
+
+ case $config in
+ split|XDG*)
esac
restore_config
rm -rf home/.local