X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2FT560-lib-error.sh;h=e775216ee29bd47ff55f31fa03a202580c663eea;hb=0bb3b3b8e8680ec2292dc8b10911e0247baf5cdc;hp=9f5f7aefeea2e2c6fd44abc28c5e7ca29031840c;hpb=b59ad1a9cc6ea03764b1cd3d038920581ac5a9c4;p=notmuch diff --git a/test/T560-lib-error.sh b/test/T560-lib-error.sh index 9f5f7aef..e775216e 100755 --- a/test/T560-lib-error.sh +++ b/test/T560-lib-error.sh @@ -1,21 +1,12 @@ #!/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 -test_expect_success "building database" "NOTMUCH_NEW" +test_begin_subtest "building database" +test_expect_success "NOTMUCH_NEW" test_begin_subtest "Open null pointer" test_C <<'EOF' @@ -36,7 +27,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 +45,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 +97,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 +184,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 +203,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) {