X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT560-lib-error.sh;h=087c6bd74707736384994f71d8720e2539475233;hp=9f5f7aefeea2e2c6fd44abc28c5e7ca29031840c;hb=13a59c4a8fc4ee418424e0b7ee4c8bbd5aae5da2;hpb=b59ad1a9cc6ea03764b1cd3d038920581ac5a9c4 diff --git a/test/T560-lib-error.sh b/test/T560-lib-error.sh index 9f5f7aef..087c6bd7 100755 --- a/test/T560-lib-error.sh +++ b/test/T560-lib-error.sh @@ -1,17 +1,7 @@ #!/usr/bin/env bash test_description="error reporting for library" -. ./test-lib.sh - -backup_database () { - rm -rf notmuch-dir-backup - cp -pR ${MAIL_DIR}/.notmuch notmuch-dir-backup -} -restore_database () { - rm -rf ${MAIL_DIR}/.notmuch - cp -pR notmuch-dir-backup ${MAIL_DIR}/.notmuch -} - +. ./test-lib.sh || exit 1 add_email_corpus @@ -36,7 +26,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "Open relative path" -test_subtest_known_broken test_C <<'EOF' #include #include @@ -55,7 +44,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "Create database in relative path" -test_subtest_known_broken test_C <<'EOF' #include #include @@ -108,21 +96,21 @@ Error: Cannot create a database for a NULL path. EOF test_expect_equal_file EXPECTED OUTPUT -test_begin_subtest "Create database in non-existant directory" -test_C <<'EOF' +test_begin_subtest "Create database in nonexistent directory" +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_create ("./nonexistent/foo", &db); + stat = notmuch_database_create (argv[1], &db); } EOF cat <<'EOF' >EXPECTED == stdout == == stderr == -Error: Cannot create database at ./nonexistent/foo: No such file or directory. +Error: Cannot create database at CWD/nonexistent/foo: No such file or directory. EOF test_expect_equal_file EXPECTED OUTPUT @@ -195,13 +183,13 @@ int main (int argc, char** argv) EOF cat <<'EOF' >EXPECTED == stdout == -Path already exists: CWD/mail +Path already exists: MAIL_DIR == stderr == EOF test_expect_equal_file EXPECTED OUTPUT -cat <<'EOF' > c_head +cat < c_head #include #include #include @@ -214,16 +202,20 @@ int main (int argc, char** argv) notmuch_database_t *db; notmuch_status_t stat; char *path; + char *msg = NULL; int fd; - stat = notmuch_database_open (argv[1], NOTMUCH_DATABASE_MODE_READ_WRITE, &db); + stat = notmuch_database_open_verbose (argv[1], NOTMUCH_DATABASE_MODE_READ_WRITE, &db, &msg); if (stat != NOTMUCH_STATUS_SUCCESS) { - fprintf (stderr, "error opening database: %d\n", stat); + fprintf (stderr, "error opening database: %d %s\n", stat, msg ? msg : ""); + exit (1); } - path = talloc_asprintf (db, "%s/.notmuch/xapian/postlist.DB", argv[1]); + path = talloc_asprintf (db, "%s/.notmuch/xapian/postlist.${db_ending}", argv[1]); fd = open(path,O_WRONLY|O_TRUNC); - if (fd < 0) - fprintf (stderr, "error opening %s\n"); + if (fd < 0) { + fprintf (stderr, "error opening %s\n", argv[1]); + exit (1); + } EOF cat <<'EOF' > c_tail if (stat) {