X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT560-lib-error.sh;h=9f5f7aefeea2e2c6fd44abc28c5e7ca29031840c;hp=6947aa833f7be65f299700524ceba7467fea1b6e;hb=b59ad1a9cc6ea03764b1cd3d038920581ac5a9c4;hpb=2e9ecb611a7f698808add756b2ddcbdfcd8b7c8b diff --git a/test/T560-lib-error.sh b/test/T560-lib-error.sh index 6947aa83..9f5f7aef 100755 --- a/test/T560-lib-error.sh +++ b/test/T560-lib-error.sh @@ -35,7 +35,27 @@ Error: Cannot open a database for a NULL path. EOF test_expect_equal_file EXPECTED OUTPUT -test_begin_subtest "Open nonexistent database" +test_begin_subtest "Open relative path" +test_subtest_known_broken +test_C <<'EOF' +#include +#include +int main (int argc, char** argv) +{ + notmuch_database_t *db; + notmuch_status_t stat; + stat = notmuch_database_open ("./nonexistent/foo", 0, 0); +} +EOF +cat <<'EOF' >EXPECTED +== stdout == +== stderr == +Error: Database path must be absolute. +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Create database in relative path" +test_subtest_known_broken test_C <<'EOF' #include #include @@ -43,13 +63,31 @@ int main (int argc, char** argv) { notmuch_database_t *db; notmuch_status_t stat; - stat = notmuch_database_open ("/nonexistent/foo", 0, 0); + stat = notmuch_database_create ("./nonexistent/foo", &db); +} +EOF +cat <<'EOF' >EXPECTED +== stdout == +== stderr == +Error: Database path must be absolute. +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Open nonexistent database" +test_C ${PWD}/nonexistent/foo <<'EOF' +#include +#include +int main (int argc, char** argv) +{ + notmuch_database_t *db; + notmuch_status_t stat; + stat = notmuch_database_open (argv[1], 0, 0); } EOF cat <<'EOF' >EXPECTED == stdout == == stderr == -Error opening database at /nonexistent/foo/.notmuch: No such file or directory +Error opening database at CWD/nonexistent/foo/.notmuch: No such file or directory EOF test_expect_equal_file EXPECTED OUTPUT @@ -78,13 +116,13 @@ int main (int argc, char** argv) { notmuch_database_t *db; notmuch_status_t stat; - stat = notmuch_database_create ("/nonexistent/foo", &db); + stat = notmuch_database_create ("./nonexistent/foo", &db); } EOF cat <<'EOF' >EXPECTED == stdout == == stderr == -Error: Cannot create database at /nonexistent/foo: No such file or directory. +Error: Cannot create database at ./nonexistent/foo: No such file or directory. EOF test_expect_equal_file EXPECTED OUTPUT @@ -125,7 +163,7 @@ int main (int argc, char** argv) if (stat != NOTMUCH_STATUS_SUCCESS) { fprintf (stderr, "error opening database: %d\n", stat); } - stat = notmuch_database_add_message (db, "/nonexistent", NULL); + stat = notmuch_database_add_message (db, "./nonexistent", NULL); if (stat) { char *status_string = notmuch_database_status_string (db); if (status_string) fputs (status_string, stderr); @@ -135,7 +173,7 @@ EOF cat <<'EOF' >EXPECTED == stdout == == stderr == -Error opening /nonexistent: No such file or directory +Error opening ./nonexistent: No such file or directory EOF test_expect_equal_file EXPECTED OUTPUT