#!/usr/bin/env bash
test_description='"notmuch setup"'
-. ./test-lib.sh
+. $(dirname "$0")/test-lib.sh || exit 1
test_begin_subtest "Notmuch new without a config suggests notmuch setup"
output=$(notmuch --config=new-notmuch-config new 2>&1)
test_expect_equal "$output" "\
-Configuration file new-notmuch-config not found.
+Error: cannot load config file.
Try running 'notmuch setup' to create a configuration."
test_begin_subtest "Create a new config interactively"
foo bar
baz
EOF
-output=$(notmuch --config=new-notmuch-config config list)
+
+output=$(notmuch --config=new-notmuch-config config list | notmuch_built_with_sanitize)
test_expect_equal "$output" "\
database.path=/path/to/maildir
user.name=Test Suite
new.tags=foo;bar;
new.ignore=
search.exclude_tags=baz;
-maildir.synchronize_flags=true"
+maildir.synchronize_flags=true
+built_with.compact=something
+built_with.field_processor=something
+built_with.retry_lock=something"
+
+test_begin_subtest "notmuch with a config but without a database suggests notmuch new"
+notmuch 2>&1 | notmuch_dir_sanitize > OUTPUT
+cat <<EOF > EXPECTED
+Notmuch is configured, but there's not yet a database at
+
+ MAIL_DIR/.notmuch
+
+You probably want to run "notmuch new" now to create that database.
+
+Note that the first run of "notmuch new" can take a very long time
+and that the resulting database will use roughly the same amount of
+storage space as the email being indexed.
+
+EOF
+test_expect_equal_file EXPECTED OUTPUT
test_done