test: add two known broken tests for missing config files

The documentation claims that the database will be set to NULL in this
case, but it is currently not happening. Based on a reproducer [1]
from Austin Ray.

[1]: id:20211021190401.imirxau2ewke6e2m@athena
This commit is contained in:
David Bremner 2021-10-23 10:22:33 -03:00
parent fb02817943
commit a942cb8ee3

View file

@ -849,4 +849,47 @@ zzzafter afterval
EOF
test_expect_equal_file EXPECTED OUTPUT
cat <<EOF > c_head3
#include <notmuch-test.h>
int main (int argc, char **argv) {
notmuch_status_t stat;
notmuch_database_t *db = NULL;
EOF
cat <<EOF > c_tail3
printf("db == NULL: %d\n", db == NULL);
}
EOF
test_begin_subtest "open: database set to null on missing config"
test_subtest_known_broken
cat c_head3 - c_tail3 <<'EOF' | test_C ${MAIL_DIR}
notmuch_status_t st = notmuch_database_open_with_config(argv[1],
NOTMUCH_DATABASE_MODE_READ_ONLY,
"/nonexistent", NULL, &db, NULL);
EOF
cat <<EOF> EXPECTED
== stdout ==
db == NULL: 1
== stderr ==
EOF
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "open: database set to null on missing config (env)"
test_subtest_known_broken
old_NOTMUCH_CONFIG=${NOTMUCH_CONFIG}
NOTMUCH_CONFIG="/nonexistent"
cat c_head3 - c_tail3 <<'EOF' | test_C ${MAIL_DIR}
notmuch_status_t st = notmuch_database_open_with_config(argv[1],
NOTMUCH_DATABASE_MODE_READ_ONLY,
NULL, NULL, &db, NULL);
EOF
NOTMUCH_CONFIG=${old_NOTMUCH_CONFIG}
cat <<EOF> EXPECTED
== stdout ==
db == NULL: 1
== stderr ==
EOF
test_expect_equal_file EXPECTED OUTPUT
test_done