From 604927f331829f971d3a32c2e67e0ad5ce3d8ee4 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 27 Jun 2019 10:09:56 +0100 Subject: [PATCH] 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(, 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 --- 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 -- 2.22.0