Clean up the created temp file after running the test.
This commit is contained in:
		
							parent
							
								
									eca25a6cab
								
							
						
					
					
						commit
						e7252adc1e
					
				| @ -6,7 +6,12 @@ | |||||||
| #include <err.h> | #include <err.h> | ||||||
| #include <stdlib.h> | #include <stdlib.h> | ||||||
| 
 | 
 | ||||||
| int main(void) | #define MAX_ERROR 3 | ||||||
|  | #include "common.c" | ||||||
|  | 
 | ||||||
|  | int subtest = -1; | ||||||
|  | 
 | ||||||
|  | void do_test(void) | ||||||
| { | { | ||||||
| 	int fd; | 	int fd; | ||||||
| 	char *wbuf, *rbuf; | 	char *wbuf, *rbuf; | ||||||
| @ -17,48 +22,34 @@ int main(void) | |||||||
| 	char *filename; | 	char *filename; | ||||||
| 	int i; | 	int i; | ||||||
| 
 | 
 | ||||||
| 	printf("Test 54 "); | 	subtest = 1; | ||||||
| 	fflush(stdout); |  | ||||||
| 
 | 
 | ||||||
| 	if((filename = mktemp("/tmp/pwrite_test_XXXXXXX")) == NULL) { | 	if((filename = mktemp("pwrite_test_XXXXXXX")) == NULL) e(1); | ||||||
| 		err(1, "Failed to create tempfile"); | 	if((fd = open(filename, O_CREAT|O_RDWR)) < 0) e(2); | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if((fd = open(filename, O_CREAT|O_RDWR)) < 0) { |  | ||||||
| 		err(1, "Failed to open %s", filename); |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	size = 1 + rand() % 4096; | 	size = 1 + rand() % 4096; | ||||||
| 	off = rand(); | 	off = rand(); | ||||||
| 
 | 
 | ||||||
| 	if((wbuf = malloc(sizeof(char)*size)) == NULL) { | 	if((wbuf = malloc(sizeof(char)*size)) == NULL) e(3); | ||||||
| 		errx(1, "Malloc failed.\n"); |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	for(i = 0; i < size; i++) { | 	for(i = 0; i < size; i++) { | ||||||
| 		wbuf[i] = 1 + rand()%127; | 		wbuf[i] = 1 + rand()%127; | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	if((nwritten = pwrite(fd, wbuf, size, off)) < 0) { | 	if((nwritten = pwrite(fd, wbuf, size, off)) < 0) e(4); | ||||||
| 		err(1, "pwrite failed"); | 	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); | ||||||
| 	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"); |  | ||||||
| 
 | 
 | ||||||
| 	close(fd); | 	close(fd); | ||||||
| 	free(wbuf); | 	free(wbuf); | ||||||
| 
 | 	unlink(filename); | ||||||
| 	return 0; | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | int main(void) | ||||||
|  | { | ||||||
|  | 	start(54); | ||||||
|  | 	do_test(); | ||||||
|  | 	quit(); | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Thomas Veerman
						Thomas Veerman