From 378415a55762ff0222e3de6a2e20a9823ce1d07e Mon Sep 17 00:00:00 2001 From: David Bremner Date: Wed, 27 Oct 2021 22:34:17 -0300 Subject: [PATCH] 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. --- test/T590-libconfig.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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 < 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