summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2021-10-27 22:34:17 -0300
committerDavid Bremner <david@tethera.net>2021-12-03 20:49:36 -0400
commit378415a55762ff0222e3de6a2e20a9823ce1d07e (patch)
tree3edbe35f5f90699eb4df410157d41ad72e1c1e00
parent59a778ae4bae182101c43f1acde08452a6542299 (diff)
test: add known broken test for conflict with database parameter
This is arguably user error: having configuration file with bad settings in it (and/or having a bad NOTMUCH_CONFIG environment variable). On the other hand returning a different path than was actually opened is definitely a bug.
-rwxr-xr-xtest/T590-libconfig.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/T590-libconfig.sh b/test/T590-libconfig.sh
index 891ffb4f..0b3e54f3 100755
--- a/test/T590-libconfig.sh
+++ b/test/T590-libconfig.sh
@@ -952,4 +952,26 @@ db == NULL: 1
EOF
test_expect_equal_file EXPECTED OUTPUT
+test_begin_subtest "open: database parameter overrides implicit config"
+test_subtest_known_broken
+notmuch config set database.path ${MAIL_DIR}/nonexistent
+cat c_head3 - c_tail3 <<'EOF' | test_C ${MAIL_DIR}
+ const char *path = NULL;
+ notmuch_status_t st = notmuch_database_open_with_config(argv[1],
+ NOTMUCH_DATABASE_MODE_READ_ONLY,
+ NULL, NULL, &db, NULL);
+ printf ("status: %d\n", st);
+ path = notmuch_database_get_path (db);
+ printf ("path: %s\n", path ? path : "(null)");
+EOF
+cat <<EOF> EXPECTED
+== stdout ==
+status: 0
+path: MAIL_DIR
+db == NULL: 0
+== stderr ==
+EOF
+notmuch_dir_sanitize < OUTPUT > OUTPUT.clean
+test_expect_equal_file EXPECTED OUTPUT.clean
+
test_done