test: improve error handling in lib-error tests
authorDavid Bremner <david@tethera.net>
Sat, 9 Apr 2016 01:49:47 +0000 (22:49 -0300)
committerDavid Bremner <david@tethera.net>
Tue, 12 Apr 2016 23:04:03 +0000 (20:04 -0300)
There is at least one bug fixed here (missing parameter to printf), even
if exiting via segfault is considered OK.

test/T560-lib-error.sh

index 59a479c849e998f16c7a08abd5d7b43ec83169a4..49d36740ceb08d237a94df6d47fcefef25ff0bee 100755 (executable)
@@ -202,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]);
    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) {