diff options
authorSergei Trofimovich <slyfox@gentoo.org>2019-06-27 10:09:56 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2019-06-27 10:09:56 +0100
commit604927f331829f971d3a32c2e67e0ad5ce3d8ee4 (patch)
parentscripts/gen_symbol_header.awk: undefine libc symbol aliases (diff)
tests: disable utimensat-3 on *-linux-musl
x86_64-gentoo-linux-musl fails a single test: 83: utimensat/3 FAILED (utimensat.at:3) The test checks if sandbox does not crash when utimensat(<filefd>, NULL, NULL, 0) is called. The behaviour is not specified by POSIX but glibc returns EINVAL for such a case. Thus the test behaves differently on varius libs. https://www.openwall.com/lists/musl/2019/06/25/1 has a conversation with musl upstream. The change restricts test down to glibc targets. Bug: https://bugs.gentoo.org/549108 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/atlocal.in b/tests/atlocal.in
index b9a631b..91b41b2 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -2,6 +2,7 @@
export abs_top_srcdir abs_top_builddir abs_srcdir abs_builddir
export AWK="@AWK@"
+export HOST="@host@"
if ! ${at_clean} ; then
export SB_UID=$(./get-user)
diff --git a/tests/utimensat-3.sh b/tests/utimensat-3.sh
index 4ecd4b3..a7b9843 100755
--- a/tests/utimensat-3.sh
+++ b/tests/utimensat-3.sh
@@ -1,6 +1,17 @@
# make sure NULL filename is handled correctly
+# Note: this test is dependent on glibc internals
+# other libcs chose not to validate invalid parameters:
+# https://bugs.gentoo.org/549108#c28
+# https://www.openwall.com/lists/musl/2019/06/25/1
+# Run this test only on glibc systems.
+case $HOST in
+ *-linux-gnu);;
+ *) exit 77;;
addwrite $PWD
exec utimensat-0 -1:22 'f:O_WRONLY|O_CREAT:0666' NULL NULL 0