summaryrefslogtreecommitdiffstats
path: root/contrib/netbsd-tests/lib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/netbsd-tests/lib/libc')
-rw-r--r--contrib/netbsd-tests/lib/libc/sys/t_mknod.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/contrib/netbsd-tests/lib/libc/sys/t_mknod.c b/contrib/netbsd-tests/lib/libc/sys/t_mknod.c
index b394b31..1c5cd9b 100644
--- a/contrib/netbsd-tests/lib/libc/sys/t_mknod.c
+++ b/contrib/netbsd-tests/lib/libc/sys/t_mknod.c
@@ -58,8 +58,15 @@ ATF_TC_BODY(mknod_err, tc)
(void)memset(buf, 'x', sizeof(buf));
+#ifndef __FreeBSD__
+ /*
+ * As of FreeBSD 6.0 device nodes may be created in regular file systems but
+ * such nodes cannot be used to access devices. As a result an invalid dev
+ * argument is unchecked.
+ */
errno = 0;
ATF_REQUIRE_ERRNO(EINVAL, mknod(path, S_IFCHR, -1) == -1);
+#endif
errno = 0;
ATF_REQUIRE_ERRNO(ENAMETOOLONG, mknod(buf, S_IFCHR, 0) == -1);
@@ -166,6 +173,9 @@ ATF_TC_BODY(mknod_stat, tc)
(void)memset(&st, 0, sizeof(struct stat));
+#ifdef __FreeBSD__
+ atf_tc_expect_fail("mknod does not allow S_IFREG");
+#endif
ATF_REQUIRE(mknod(path, S_IFREG, 0) == 0);
ATF_REQUIRE(stat(path, &st) == 0);
OpenPOWER on IntegriCloud