]> git.ozlabs.org Git - ccan/blobdiff - ccan/err/test/run.c
err: fix warn-unused-result warning in test (-O2)
[ccan] / ccan / err / test / run.c
index c0407a9322b1c3e8fe60a454a497d6dbe4deee41..c103f7cda6e0039092a5b19e14b2a6adb2008b11 100644 (file)
@@ -1,4 +1,4 @@
-#include <ccan/err/err.h>
+#include <ccan/err/err.c>
 #include <ccan/tap/tap.h>
 #include <unistd.h>
 #include <string.h>
 
 #define BUFFER_MAX 1024
 
-int main(void)
+int main(int argc, char *argv[])
 {
        int pfd[2];
+       const char *base;
 
-       plan_tests(20);
-       fflush(stdout);
+       plan_tests(24);
+
+       err_set_progname(argv[0]);
+
+       /* In case it only prints out the basename of argv[0]. */
+       base = strrchr(argv[0], '/');
+       if (base)
+               base++;
+       else
+               base = argv[0];
 
        /* Test err() in child */
-       pipe(pfd);
+       if (pipe(pfd))
+               abort();
+       fflush(stdout);
        if (fork()) {
                char buffer[BUFFER_MAX+1];
                unsigned int i;
@@ -31,6 +42,7 @@ int main(void)
                                buffer[i] = '\0';
                                ok1(strstr(buffer, "running err:"));
                                ok1(strstr(buffer, strerror(ENOENT)));
+                               ok1(strstr(buffer, base));
                                ok1(buffer[i-1] == '\n');
                                break;
                        }
@@ -48,7 +60,8 @@ int main(void)
        }
 
        /* Test errx() in child */
-       pipe(pfd);
+       if (pipe(pfd))
+               abort();
        fflush(stdout);
        if (fork()) {
                char buffer[BUFFER_MAX+1];
@@ -61,6 +74,7 @@ int main(void)
                        if (read(pfd[0], buffer + i, 1) == 0) {
                                buffer[i] = '\0';
                                ok1(strstr(buffer, "running errx\n"));
+                               ok1(strstr(buffer, base));
                                break;
                        }
                }
@@ -77,7 +91,8 @@ int main(void)
 
 
        /* Test warn() in child */
-       pipe(pfd);
+       if (pipe(pfd))
+               abort();
        fflush(stdout);
        if (fork()) {
                char buffer[BUFFER_MAX+1];
@@ -91,6 +106,7 @@ int main(void)
                                buffer[i] = '\0';
                                ok1(strstr(buffer, "running warn:"));
                                ok1(strstr(buffer, strerror(ENOENT)));
+                               ok1(strstr(buffer, base));
                                ok1(buffer[i-1] == '\n');
                                break;
                        }
@@ -108,7 +124,8 @@ int main(void)
        }
 
        /* Test warnx() in child */
-       pipe(pfd);
+       if (pipe(pfd))
+               abort();
        fflush(stdout);
        if (fork()) {
                char buffer[BUFFER_MAX+1];
@@ -121,6 +138,7 @@ int main(void)
                        if (read(pfd[0], buffer + i, 1) == 0) {
                                buffer[i] = '\0';
                                ok1(strstr(buffer, "running warnx\n"));
+                               ok1(strstr(buffer, base));
                                break;
                        }
                }