]> Zhao Yanbai Git Server - minix.git/commitdiff
Clean up the created temp file after running the test.
authorThomas Veerman <thomas@minix3.org>
Thu, 2 Sep 2010 09:33:37 +0000 (09:33 +0000)
committerThomas Veerman <thomas@minix3.org>
Thu, 2 Sep 2010 09:33:37 +0000 (09:33 +0000)
test/test54.c

index f3fc904c1d68e0e1dc936c1be5d9078952a7451d..ed9950d21c718eefb3d2080d6bdb838223970047 100644 (file)
@@ -6,7 +6,12 @@
 #include <err.h>
 #include <stdlib.h>
 
-int main(void)
+#define MAX_ERROR 3
+#include "common.c"
+
+int subtest = -1;
+
+void do_test(void)
 {
        int fd;
        char *wbuf, *rbuf;
@@ -17,48 +22,34 @@ int main(void)
        char *filename;
        int i;
 
-       printf("Test 54 ");
-       fflush(stdout);
-
-       if((filename = mktemp("/tmp/pwrite_test_XXXXXXX")) == NULL) {
-               err(1, "Failed to create tempfile");
-       }
+       subtest = 1;
 
-       if((fd = open(filename, O_CREAT|O_RDWR)) < 0) {
-               err(1, "Failed to open %s", filename);
-       }
+       if((filename = mktemp("pwrite_test_XXXXXXX")) == NULL) e(1);
+       if((fd = open(filename, O_CREAT|O_RDWR)) < 0) e(2);
 
        size = 1 + rand() % 4096;
        off = rand();
 
-       if((wbuf = malloc(sizeof(char)*size)) == NULL) {
-               errx(1, "Malloc failed.\n");
-       }
+       if((wbuf = malloc(sizeof(char)*size)) == NULL) e(3);
 
        for(i = 0; i < size; i++) {
                wbuf[i] = 1 + rand()%127;
        }
        
-       if((nwritten = pwrite(fd, wbuf, size, off)) < 0) {
-               err(1, "pwrite failed");
-       }
-
-       if((rbuf = malloc(sizeof(char)*nwritten)) == NULL) {
-               errx(1, "Malloc failed.\n");
-       }
-
-       if((nread = pread(fd, rbuf, nwritten, off)) < 0) {
-               err(1, "pread failed");
-       }
-
-       if(strncmp(rbuf, wbuf, nread) != 0) {
-               err(1, "Test failed.\n");
-       }
-
-       printf("ok\n");
+       if((nwritten = pwrite(fd, wbuf, size, off)) < 0) e(4);
+       if((rbuf = malloc(sizeof(char)*nwritten)) == NULL) e(5);
+       if((nread = pread(fd, rbuf, nwritten, off)) < 0) e(6);
+       if(strncmp(rbuf, wbuf, nread) != 0) e(7);
 
        close(fd);
        free(wbuf);
+       unlink(filename);
+}
+
 
-       return 0;
+int main(void)
+{
+       start(54);
+       do_test();
+       quit();
 }