aboutsummaryrefslogtreecommitdiff
path: root/tests/sys/aio
diff options
context:
space:
mode:
Diffstat (limited to 'tests/sys/aio')
-rw-r--r--tests/sys/aio/Makefile1
-rw-r--r--tests/sys/aio/aio_kqueue_test.c2
-rw-r--r--tests/sys/aio/aio_test.c45
-rw-r--r--tests/sys/aio/lio_kqueue_test.c2
-rw-r--r--tests/sys/aio/lio_test.c2
5 files changed, 10 insertions, 42 deletions
diff --git a/tests/sys/aio/Makefile b/tests/sys/aio/Makefile
index 5cddb28c27a6..578d16b7bf32 100644
--- a/tests/sys/aio/Makefile
+++ b/tests/sys/aio/Makefile
@@ -2,6 +2,7 @@ TESTSDIR= ${TESTSBASE}/sys/aio
ATF_TESTS_C+= aio_test
ATF_TESTS_C+= lio_test
+TEST_METADATA+= required_kmods="aio"
TEST_METADATA.aio_test+= timeout="30"
TEST_METADATA.lio_test+= timeout="10"
# Some lio_test testcases involve system resource limitations, so cannot run concurrently
diff --git a/tests/sys/aio/aio_kqueue_test.c b/tests/sys/aio/aio_kqueue_test.c
index 5e5cb40d0752..43a7ebf91f96 100644
--- a/tests/sys/aio/aio_kqueue_test.c
+++ b/tests/sys/aio/aio_kqueue_test.c
@@ -45,7 +45,6 @@
#include <string.h>
#include <unistd.h>
-#include "freebsd_test_suite/macros.h"
#include "local.h"
#define PATH_TEMPLATE "aio.XXXXXXXXXX"
@@ -70,7 +69,6 @@ main (int argc, char *argv[])
int tmp_file = 0;
int i, j;
- PLAIN_REQUIRE_KERNEL_MODULE("aio", 0);
PLAIN_REQUIRE_UNSAFE_AIO(0);
max_queue_per_proc_size = sizeof(max_queue_per_proc);
diff --git a/tests/sys/aio/aio_test.c b/tests/sys/aio/aio_test.c
index 64939825ec66..def8a9d548d6 100644
--- a/tests/sys/aio/aio_test.c
+++ b/tests/sys/aio/aio_test.c
@@ -63,7 +63,6 @@
#include <atf-c.h>
-#include "freebsd_test_suite/macros.h"
#include "local.h"
/*
@@ -452,7 +451,6 @@ aio_file_test(completion comp, struct sigevent *sev, bool vectored)
struct aio_context ac;
int fd;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600);
@@ -514,7 +512,6 @@ aio_fifo_test(completion comp, struct sigevent *sev)
int error, read_fd = -1, write_fd = -1;
struct aio_context ac;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
ATF_REQUIRE_MSG(mkfifo(FIFO_PATHNAME, 0600) != -1,
@@ -588,8 +585,6 @@ aio_unix_socketpair_test(completion comp, struct sigevent *sev, bool vectored)
struct rusage ru_before, ru_after;
int sockets[2];
- ATF_REQUIRE_KERNEL_MODULE("aio");
-
ATF_REQUIRE_MSG(socketpair(PF_UNIX, SOCK_STREAM, 0, sockets) != -1,
"socketpair failed: %s", strerror(errno));
@@ -662,7 +657,6 @@ aio_pty_test(completion comp, struct sigevent *sev)
struct termios ts;
int error;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
ATF_REQUIRE_MSG(openpty(&read_fd, &write_fd, NULL, NULL, NULL) == 0,
@@ -732,7 +726,6 @@ aio_pipe_test(completion comp, struct sigevent *sev)
struct aio_context ac;
int pipes[2];
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
ATF_REQUIRE_MSG(pipe(pipes) != -1,
@@ -782,7 +775,7 @@ ATF_TC_BODY(pipe_waitcomplete, tc)
aio_pipe_test(waitcomplete, NULL);
}
-#define MD_LEN GLOBAL_MAX
+#define DEVICE_IO_LEN GLOBAL_MAX
#define MDUNIT_LINK "mdunit_link"
static int
@@ -793,8 +786,6 @@ aio_md_setup(void)
struct md_ioctl mdio;
char buf[80];
- ATF_REQUIRE_KERNEL_MODULE("aio");
-
mdctl_fd = open("/dev/" MDCTL_NAME, O_RDWR, 0);
ATF_REQUIRE_MSG(mdctl_fd != -1,
"opening /dev/%s failed: %s", MDCTL_NAME, strerror(errno));
@@ -803,7 +794,7 @@ aio_md_setup(void)
mdio.md_version = MDIOVERSION;
mdio.md_type = MD_MALLOC;
mdio.md_options = MD_AUTOUNIT | MD_COMPRESS;
- mdio.md_mediasize = GLOBAL_MAX;
+ mdio.md_mediasize = 1024 * 1024; /* 1 MB, enough for max_buf_aio up to 2047 */
mdio.md_sectorsize = 512;
strlcpy(buf, __func__, sizeof(buf));
mdio.md_label = buf;
@@ -865,7 +856,7 @@ aio_md_test(completion comp, struct sigevent *sev, bool vectored)
int fd;
fd = aio_md_setup();
- aio_context_init(&ac, fd, fd, MD_LEN);
+ aio_context_init(&ac, fd, fd, DEVICE_IO_LEN);
if (vectored) {
aio_writev_test(&ac, comp, sev);
aio_readv_test(&ac, comp, sev);
@@ -985,9 +976,6 @@ aio_zvol_setup(const char *unique)
char zvol_name[160];
char devname[160];
- ATF_REQUIRE_KERNEL_MODULE("aio");
- ATF_REQUIRE_KERNEL_MODULE("zfs");
-
pid = getpid();
snprintf(vdev_name, sizeof(vdev_name), "%s", ZVOL_VDEV_PATHNAME);
snprintf(pool_name, sizeof(pool_name), "%s_%s.%d", POOL_NAME, unique,
@@ -1057,7 +1045,6 @@ ATF_TC_BODY(aio_large_read_test, tc)
int clamped;
#endif
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
#ifdef __LP64__
@@ -1133,7 +1120,6 @@ ATF_TC_BODY(aio_socket_two_reads, tc)
int s[2];
char c;
- ATF_REQUIRE_KERNEL_MODULE("aio");
#if __FreeBSD_version < 1100101
aft_tc_skip("kernel version %d is too old (%d required)",
__FreeBSD_version, 1100101);
@@ -1187,8 +1173,6 @@ aio_socket_blocking_short_write_test(bool vectored)
socklen_t len;
int s[2];
- ATF_REQUIRE_KERNEL_MODULE("aio");
-
ATF_REQUIRE(socketpair(PF_UNIX, SOCK_STREAM, 0, s) != -1);
len = sizeof(sb_size);
@@ -1356,8 +1340,6 @@ ATF_TC_BODY(aio_socket_short_write_cancel, tc)
socklen_t len;
int s[2];
- ATF_REQUIRE_KERNEL_MODULE("aio");
-
ATF_REQUIRE(socketpair(PF_UNIX, SOCK_STREAM, 0, s) != -1);
len = sizeof(sb_size);
@@ -1423,8 +1405,6 @@ ATF_TC_BODY(aio_socket_shutdown, tc)
size_t bsz;
int error, s[2];
- ATF_REQUIRE_KERNEL_MODULE("aio");
-
ATF_REQUIRE(socketpair(PF_UNIX, SOCK_STREAM, 0, s) != -1);
bsz = 1024;
@@ -1485,7 +1465,6 @@ ATF_TC_BODY(aio_fsync_errors, tc)
int fd;
struct aiocb iocb;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600);
@@ -1529,7 +1508,6 @@ aio_fsync_test(int op)
unsigned i;
int fd;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600);
@@ -1618,7 +1596,6 @@ ATF_TC_BODY(aio_writev_dos_iov_len, tc)
ssize_t r;
int fd;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
fd = open("testfile", O_RDWR | O_CREAT, 0600);
@@ -1656,7 +1633,6 @@ ATF_TC_BODY(aio_writev_dos_iovcnt, tc)
ssize_t len;
int fd;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
fd = open("testfile", O_RDWR | O_CREAT, 0600);
@@ -1693,7 +1669,6 @@ ATF_TC_BODY(aio_writev_efault, tc)
long seed;
int fd;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
fd = aio_md_setup();
@@ -1728,7 +1703,6 @@ ATF_TC_BODY(aio_writev_empty_file_poll, tc)
struct aiocb aio;
int fd;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
fd = open("testfile", O_RDWR | O_CREAT, 0600);
@@ -1751,7 +1725,6 @@ ATF_TC_BODY(aio_writev_empty_file_signal, tc)
struct aiocb aio;
int fd;
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
fd = open("testfile", O_RDWR | O_CREAT, 0600);
@@ -1781,8 +1754,6 @@ ATF_TC_BODY(ev_oneshot, tc)
struct kevent events[1];
struct timespec timeout;
- ATF_REQUIRE_KERNEL_MODULE("aio");
-
kq = kqueue();
ATF_REQUIRE(kq >= 0);
@@ -1844,7 +1815,6 @@ ATF_TC_BODY(vectored_big_iovcnt, tc)
int fd, i;
ssize_t sysctl_len = sizeof(max_buf_aio);
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
if (sysctlbyname(oid, &max_buf_aio, &sysctl_len, NULL, 0) == -1)
@@ -1876,7 +1846,9 @@ ATF_TC_BODY(vectored_big_iovcnt, tc)
atf_tc_fail("aio failed: %s", strerror(errno));
if (len != buflen)
- atf_tc_fail("aio short write (%jd)", (intmax_t)len);
+ atf_tc_fail("aio short write: got %jd, expected: %jd "
+ "(max_buf_aio=%d, iovcnt=%zu)",
+ (intmax_t)len, (intmax_t)buflen, max_buf_aio, aio.aio_iovcnt);
bzero(&aio, sizeof(aio));
aio.aio_fildes = fd;
@@ -1946,6 +1918,7 @@ ATF_TC_HEAD(vectored_unaligned, tc)
"Vectored AIO should still work even if the iov contains elements "
"that aren't a multiple of the sector size.");
atf_tc_set_md_var(tc, "require.user", "root");
+ atf_tc_set_md_var(tc, "require.kmods", "zfs");
}
ATF_TC_BODY(vectored_unaligned, tc)
{
@@ -1958,7 +1931,6 @@ ATF_TC_BODY(vectored_unaligned, tc)
if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false))
atf_tc_skip("https://bugs.freebsd.org/258766");
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
/*
@@ -2025,7 +1997,7 @@ aio_zvol_test(completion comp, struct sigevent *sev, bool vectored,
int fd;
fd = aio_zvol_setup(unique);
- aio_context_init(&ac, fd, fd, MD_LEN);
+ aio_context_init(&ac, fd, fd, DEVICE_IO_LEN);
if (vectored) {
aio_writev_test(&ac, comp, sev);
aio_readv_test(&ac, comp, sev);
@@ -2045,6 +2017,7 @@ ATF_TC_WITH_CLEANUP(vectored_zvol_poll);
ATF_TC_HEAD(vectored_zvol_poll, tc)
{
atf_tc_set_md_var(tc, "require.user", "root");
+ atf_tc_set_md_var(tc, "require.kmods", "zfs");
}
ATF_TC_BODY(vectored_zvol_poll, tc)
{
diff --git a/tests/sys/aio/lio_kqueue_test.c b/tests/sys/aio/lio_kqueue_test.c
index f891ab95f3ca..6ac99af9254c 100644
--- a/tests/sys/aio/lio_kqueue_test.c
+++ b/tests/sys/aio/lio_kqueue_test.c
@@ -40,7 +40,6 @@
#include <string.h>
#include <unistd.h>
-#include "freebsd_test_suite/macros.h"
#include "local.h"
#define PATH_TEMPLATE "aio.XXXXXXXXXX"
@@ -68,7 +67,6 @@ main(int argc, char *argv[])
char *file, pathname[sizeof(PATH_TEMPLATE)];
int tmp_file = 0, failed = 0;
- PLAIN_REQUIRE_KERNEL_MODULE("aio", 0);
PLAIN_REQUIRE_UNSAFE_AIO(0);
max_queue_per_proc_size = sizeof(max_queue_per_proc);
diff --git a/tests/sys/aio/lio_test.c b/tests/sys/aio/lio_test.c
index a59f9bd518bc..546cd6c5b790 100644
--- a/tests/sys/aio/lio_test.c
+++ b/tests/sys/aio/lio_test.c
@@ -38,7 +38,6 @@
#include <atf-c.h>
#include "local.h"
-#include "freebsd_test_suite/macros.h"
static sem_t completions;
@@ -71,7 +70,6 @@ ATF_TC_BODY(lio_listio_eagain_kevent, tc)
const char *path="tempfile";
void *udata[2];
- ATF_REQUIRE_KERNEL_MODULE("aio");
ATF_REQUIRE_UNSAFE_AIO();
max_queue_per_proc_size = sizeof(max_queue_per_proc);