1*c54cb811Schristos /* $NetBSD: t_io.c,v 1.2 2017/01/13 21:30:40 christos Exp $ */
2284f30f0Spooka
3284f30f0Spooka #include <sys/types.h>
4284f30f0Spooka #include <sys/mount.h>
5284f30f0Spooka #include <sys/socket.h>
6284f30f0Spooka
7284f30f0Spooka #include <assert.h>
8284f30f0Spooka #include <atf-c.h>
9284f30f0Spooka #include <err.h>
10284f30f0Spooka #include <errno.h>
11284f30f0Spooka #include <fcntl.h>
12284f30f0Spooka #include <pthread.h>
13284f30f0Spooka #include <puffs.h>
14284f30f0Spooka #include <puffsdump.h>
15284f30f0Spooka #include <stdio.h>
16284f30f0Spooka #include <unistd.h>
17284f30f0Spooka #include <string.h>
18284f30f0Spooka #include <stdlib.h>
19284f30f0Spooka
20284f30f0Spooka #include <rump/rump.h>
21284f30f0Spooka #include <rump/rump_syscalls.h>
22284f30f0Spooka
23*c54cb811Schristos #include "h_macros.h"
24284f30f0Spooka #include "../common/h_fsmacros.h"
25284f30f0Spooka
26284f30f0Spooka #define MAKEOPTS(...) \
27284f30f0Spooka char *theopts[] = {NULL, "-s", __VA_ARGS__, "dtfs", "n/a", NULL}
28284f30f0Spooka
29284f30f0Spooka ATF_TC(nocache);
ATF_TC_HEAD(nocache,tc)30284f30f0Spooka ATF_TC_HEAD(nocache, tc)
31284f30f0Spooka {
32284f30f0Spooka
33284f30f0Spooka atf_tc_set_md_var(tc, "descr", "tests large i/o without page cache");
34284f30f0Spooka }
35284f30f0Spooka
ATF_TC_BODY(nocache,tc)36284f30f0Spooka ATF_TC_BODY(nocache, tc)
37284f30f0Spooka {
38284f30f0Spooka MAKEOPTS("-o", "nopagecache");
39284f30f0Spooka char data[1024*1024];
40284f30f0Spooka void *args;
41284f30f0Spooka int fd;
42284f30f0Spooka
43284f30f0Spooka FSTEST_CONSTRUCTOR_FSPRIV(tc, puffs, args, theopts);
44284f30f0Spooka FSTEST_ENTER();
45284f30f0Spooka
46284f30f0Spooka RL(fd = rump_sys_open("afile", O_CREAT | O_RDWR, 0755));
47284f30f0Spooka RL(rump_sys_write(fd, data, sizeof(data)));
48284f30f0Spooka rump_sys_close(fd);
49284f30f0Spooka
50284f30f0Spooka FSTEST_EXIT();
51284f30f0Spooka FSTEST_DESTRUCTOR(tc, puffs, args);
52284f30f0Spooka }
53284f30f0Spooka
54284f30f0Spooka
ATF_TP_ADD_TCS(tp)55284f30f0Spooka ATF_TP_ADD_TCS(tp)
56284f30f0Spooka {
57284f30f0Spooka
58284f30f0Spooka ATF_TP_ADD_TC(tp, nocache);
59284f30f0Spooka
60284f30f0Spooka return atf_no_error();
61284f30f0Spooka }
62