Message ID | 20220905070633.187725-1-ammar.faizi@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [liburing,v1] test/ringbuf-read: Delete `.ringbuf-read.%d` before exit | expand |
On Mon, Sep 5, 2022 at 2:12 PM Ammar Faizi wrote: > fd = open(fname, O_WRONLY); > if (fd < 0) { > perror("open"); > - goto err; > + ret = 1; > + goto out; > } > for (i = 0; i < NR_BUFS; i++) { > memset(buf, i + 1, BUF_SIZE); > ret = write(fd, buf, BUF_SIZE); > if (ret != BUF_SIZE) { > fprintf(stderr, "bad file prep write\n"); > - goto err; > + ret = 1; > + close(fd); > + goto out; > } > } should use T_EXIT_* for ret? -- Viro
On 9/5/22 3:42 PM, Alviro Iskandar Setiawan wrote: > On Mon, Sep 5, 2022 at 2:12 PM Ammar Faizi wrote: >> fd = open(fname, O_WRONLY); >> if (fd < 0) { >> perror("open"); >> - goto err; >> + ret = 1; >> + goto out; >> } >> for (i = 0; i < NR_BUFS; i++) { >> memset(buf, i + 1, BUF_SIZE); >> ret = write(fd, buf, BUF_SIZE); >> if (ret != BUF_SIZE) { >> fprintf(stderr, "bad file prep write\n"); >> - goto err; >> + ret = 1; >> + close(fd); >> + goto out; >> } >> } > > should use T_EXIT_* for ret? Yes, we should. I forgot, will send a v2.
diff --git a/test/ringbuf-read.c b/test/ringbuf-read.c index 673f2de..060eb1d 100644 --- a/test/ringbuf-read.c +++ b/test/ringbuf-read.c @@ -133,63 +133,64 @@ static int test(const char *filename, int dio, int async) int main(int argc, char *argv[]) { char buf[BUF_SIZE]; char fname[80]; int ret, fd, i, do_unlink; if (argc > 1) { strcpy(fname, argv[1]); do_unlink = 0; } else { sprintf(fname, ".ringbuf-read.%d", getpid()); t_create_file(fname, FSIZE); do_unlink = 1; } fd = open(fname, O_WRONLY); if (fd < 0) { perror("open"); - goto err; + ret = 1; + goto out; } for (i = 0; i < NR_BUFS; i++) { memset(buf, i + 1, BUF_SIZE); ret = write(fd, buf, BUF_SIZE); if (ret != BUF_SIZE) { fprintf(stderr, "bad file prep write\n"); - goto err; + ret = 1; + close(fd); + goto out; } } close(fd); ret = test(fname, 1, 0); if (ret) { fprintf(stderr, "dio test failed\n"); - return ret; + goto out; + } + if (no_buf_ring) { + ret = 0; + goto out; } - if (no_buf_ring) - return 0; ret = test(fname, 0, 0); if (ret) { fprintf(stderr, "buffered test failed\n"); - return ret; + goto out; } ret = test(fname, 1, 1); if (ret) { fprintf(stderr, "dio async test failed\n"); - return ret; + goto out; } ret = test(fname, 0, 1); - if (ret) { + if (ret) fprintf(stderr, "buffered async test failed\n"); - return ret; - } - - return 0; -err: +out: if (do_unlink) unlink(fname); - return 1; + return ret; }