X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT560-lib-error.sh;h=9f5f7aefeea2e2c6fd44abc28c5e7ca29031840c;hp=828a44b77ab12ab21cda19a5fe9f1adf1a4cf52d;hb=b59ad1a9cc6ea03764b1cd3d038920581ac5a9c4;hpb=703c8f9511c6f96023fb180b0e9d831e762befc9 diff --git a/test/T560-lib-error.sh b/test/T560-lib-error.sh index 828a44b7..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 @@ -202,7 +240,7 @@ test_begin_subtest "Xapian exception finding message" cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} { notmuch_message_t *message = NULL; - stat = notmuch_database_find_message (db, "id:nonexistant", &message); + stat = notmuch_database_find_message (db, "id:nonexistent", &message); } EOF sed 's/^\(A Xapian exception [^:]*\):.*$/\1/' < OUTPUT > OUTPUT.clean