diff options
| author | David Bremner <david@tethera.net> | 2020-12-25 23:22:23 -0400 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2021-03-19 22:06:44 -0300 |
| commit | 793d4305d3563082761a59ac418ce827d00bdc39 (patch) | |
| tree | bd8832fa6617a746ffce46b473543ed9762e6102 /test/T590-libconfig.sh | |
| parent | 6e6c319c260b779e6e91905f8c142ad2b82a41c9 (diff) | |
lib/open: support NOTMUCH_DATABASE environment variable
The additional code is trivial, but making sure we get the priority of
various options correct takes a few tests.
Diffstat (limited to 'test/T590-libconfig.sh')
| -rwxr-xr-x | test/T590-libconfig.sh | 67 |
1 files changed, 66 insertions, 1 deletions
diff --git a/test/T590-libconfig.sh b/test/T590-libconfig.sh index e7e6e08a..4e510e97 100755 --- a/test/T590-libconfig.sh +++ b/test/T590-libconfig.sh @@ -27,7 +27,7 @@ int main (int argc, char** argv) &db, &msg); if (stat != NOTMUCH_STATUS_SUCCESS) { - fprintf (stderr, "error opening database: %d %s\n", stat, msg ? msg : ""); + fprintf (stderr, "error opening database\n%s\n%s\n", notmuch_status_to_string (stat), msg ? msg : ""); exit (1); } EOF @@ -505,4 +505,69 @@ EOF test_expect_equal_file EXPECTED OUTPUT restore_database +test_begin_subtest "no config, fail to open database" +old_NOTMUCH_CONFIG=${NOTMUCH_CONFIG} +unset NOTMUCH_CONFIG +cat c_head - c_tail <<'EOF' | test_C %NULL% '' %NULL% +{ + printf("NOT RUN"); +} +EOF +NOTMUCH_CONFIG=${old_NOTMUCH_CONFIG} +cat <<'EOF' >EXPECTED +== stdout == +== stderr == +error opening database +Erroneous NULL pointer +Error: Cannot open a database for a NULL path. + +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "open database from NOTMUCH_DATABASE" +old_NOTMUCH_CONFIG=${NOTMUCH_CONFIG} +unset NOTMUCH_CONFIG +export NOTMUCH_DATABASE=${MAIL_DIR} +cat c_head - c_tail <<'EOF' | test_C %NULL% '' %NULL% +{ + EXPECT0(notmuch_database_get_config (db, "test.key1", &val)); + printf("test.key1 = %s\n", val); + EXPECT0(notmuch_database_get_config (db, "test.key2", &val)); + printf("test.key2 = %s\n", val); +} +EOF +NOTMUCH_CONFIG=${old_NOTMUCH_CONFIG} +unset NOTMUCH_DATABASE +cat <<'EOF' >EXPECTED +== stdout == +test.key1 = testvalue1 +test.key2 = testvalue2 +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "NOTMUCH_DATABASE overrides config" +old_path=$(notmuch config get database.path) +notmuch config set database.path /nonexistent +export NOTMUCH_DATABASE=${MAIL_DIR} +cat c_head - c_tail <<'EOF' | test_C %NULL% '' %NULL% +{ + EXPECT0(notmuch_database_get_config (db, "test.key1", &val)); + printf("test.key1 = %s\n", val); + EXPECT0(notmuch_database_get_config (db, "test.key2", &val)); + printf("test.key2 = %s\n", val); +} +EOF +NOTMUCH_CONFIG=${old_NOTMUCH_CONFIG} +unset NOTMUCH_DATABASE +cat <<'EOF' >EXPECTED +== stdout == +test.key1 = testvalue1 +test.key2 = testvalue2 +== stderr == +EOF +notmuch config set database.path "${old_path}" +test_expect_equal_file EXPECTED OUTPUT + + test_done |
