From d79f904ad2fe504bdf03deb2d8893ddcc6d65dcd Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Fri, 2 Jan 2015 22:49:05 +0000 Subject: [PATCH] Link lib/libc/c063 tests to the build. Some files lack required #include . The #ifdef is per ngie's request; the includes are clearly necessary for struct stat. The faccessat test fails because it tries to use AT_SYMLINK_NOFOLLOW with faccessat(), which is not specified by POSIX.1-2008. Differential Revision: https://reviews.freebsd.org/D1411 Reviewed by: ngie --- .../netbsd-tests/lib/libc/c063/t_faccessat.c | 3 ++ .../netbsd-tests/lib/libc/c063/t_fchmodat.c | 3 ++ .../netbsd-tests/lib/libc/c063/t_fchownat.c | 3 ++ .../netbsd-tests/lib/libc/c063/t_fstatat.c | 3 ++ lib/libc/tests/c063/Makefile | 30 ++++++++++--------- 5 files changed, 28 insertions(+), 14 deletions(-) diff --git a/contrib/netbsd-tests/lib/libc/c063/t_faccessat.c b/contrib/netbsd-tests/lib/libc/c063/t_faccessat.c index c9e0cc803158..5afdee990932 100644 --- a/contrib/netbsd-tests/lib/libc/c063/t_faccessat.c +++ b/contrib/netbsd-tests/lib/libc/c063/t_faccessat.c @@ -165,6 +165,9 @@ ATF_TC_BODY(faccessat_fdlink, tc) ATF_REQUIRE(faccessat(dfd, BASELINK, F_OK, 0) == -1); ATF_REQUIRE(errno == ENOENT); +#ifdef __FreeBSD__ + atf_tc_expect_fail("Depends on non-standard behavior not mentioned in POSIX.1-2008"); +#endif ATF_REQUIRE(faccessat(dfd, BASELINK, F_OK, AT_SYMLINK_NOFOLLOW) == 0); ATF_REQUIRE(close(dfd) == 0); diff --git a/contrib/netbsd-tests/lib/libc/c063/t_fchmodat.c b/contrib/netbsd-tests/lib/libc/c063/t_fchmodat.c index 462d53d9e961..6598059c5f8e 100644 --- a/contrib/netbsd-tests/lib/libc/c063/t_fchmodat.c +++ b/contrib/netbsd-tests/lib/libc/c063/t_fchmodat.c @@ -40,6 +40,9 @@ __RCSID("$NetBSD: t_fchmodat.c,v 1.2 2013/03/17 04:46:06 jmmv Exp $"); #include #include #include +#ifdef __FreeBSD__ +#include +#endif #define DIR "dir" #define FILE "dir/fchmodat" diff --git a/contrib/netbsd-tests/lib/libc/c063/t_fchownat.c b/contrib/netbsd-tests/lib/libc/c063/t_fchownat.c index 80c760683eb9..2ca14cf35790 100644 --- a/contrib/netbsd-tests/lib/libc/c063/t_fchownat.c +++ b/contrib/netbsd-tests/lib/libc/c063/t_fchownat.c @@ -41,6 +41,9 @@ __RCSID("$NetBSD: t_fchownat.c,v 1.3 2013/03/17 04:46:06 jmmv Exp $"); #include #include #include +#ifdef __FreeBSD__ +#include +#endif #define DIR "dir" #define FILE "dir/fchownat" diff --git a/contrib/netbsd-tests/lib/libc/c063/t_fstatat.c b/contrib/netbsd-tests/lib/libc/c063/t_fstatat.c index a48cd5781384..b23f62583f0a 100644 --- a/contrib/netbsd-tests/lib/libc/c063/t_fstatat.c +++ b/contrib/netbsd-tests/lib/libc/c063/t_fstatat.c @@ -40,6 +40,9 @@ __RCSID("$NetBSD: t_fstatat.c,v 1.2 2013/03/17 04:46:06 jmmv Exp $"); #include #include #include +#ifdef __FreeBSD__ +#include +#endif #define DIR "dir" #define FILE "dir/fstatat" diff --git a/lib/libc/tests/c063/Makefile b/lib/libc/tests/c063/Makefile index b7431653fee2..0b8f3b0974fc 100644 --- a/lib/libc/tests/c063/Makefile +++ b/lib/libc/tests/c063/Makefile @@ -4,21 +4,23 @@ TESTSDIR= ${TESTSBASE}/lib/libc/c063 #TODO: t_o_search, t_utimensat -NETBSD_ATF_TESTS_C= t_faccessat -NETBSD_ATF_TESTS_C+= t_fchmodat -NETBSD_ATF_TESTS_C+= t_fchownat -NETBSD_ATF_TESTS_C+= t_fexecve -NETBSD_ATF_TESTS_C+= t_fstatat -NETBSD_ATF_TESTS_C+= t_linkat -NETBSD_ATF_TESTS_C+= t_mkdirat -NETBSD_ATF_TESTS_C+= t_mkfifoat -NETBSD_ATF_TESTS_C+= t_mknodat -NETBSD_ATF_TESTS_C+= t_openat -NETBSD_ATF_TESTS_C+= t_readlinkat -NETBSD_ATF_TESTS_C+= t_renameat -NETBSD_ATF_TESTS_C+= t_symlinkat -NETBSD_ATF_TESTS_C+= t_unlinkat +NETBSD_ATF_TESTS_C= faccessat +NETBSD_ATF_TESTS_C+= fchmodat +NETBSD_ATF_TESTS_C+= fchownat +NETBSD_ATF_TESTS_C+= fexecve +NETBSD_ATF_TESTS_C+= fstatat +NETBSD_ATF_TESTS_C+= linkat +NETBSD_ATF_TESTS_C+= mkdirat +NETBSD_ATF_TESTS_C+= mkfifoat +NETBSD_ATF_TESTS_C+= mknodat +NETBSD_ATF_TESTS_C+= openat +NETBSD_ATF_TESTS_C+= readlinkat +NETBSD_ATF_TESTS_C+= renameat +NETBSD_ATF_TESTS_C+= symlinkat +NETBSD_ATF_TESTS_C+= unlinkat CFLAGS+= -D_INCOMPLETE_XOPEN_C063 +.include "../Makefile.netbsd-tests" + .include