commit: 604927f331829f971d3a32c2e67e0ad5ce3d8ee4
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 27 09:09:56 2019 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Thu Jun 27 09:09:56 2019 +0000
URL: https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=604927f3
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 <AT> gentoo.org>
tests/atlocal.in | 1 +
tests/utimensat-3.sh | 11 +++++++++++
2 files changed, 12 insertions(+)
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 @@
#!/bin/sh
# 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;;
+esac
+
addwrite $PWD
exec utimensat-0 -1:22 'f:O_WRONLY|O_CREAT:0666' NULL NULL 0