mirror of
https://github.com/golang/go
synced 2024-11-11 20:50:23 -07:00
misc/cgo/testsanitizer: don't run msan tests if msan doesn't work
Confirm that a trivial executable can build and execute using -fsanitize=memory. Fixes #18335 (by skipping the tests when they don't work). Change-Id: Icb7a276ba7b57ea3ce31be36f74352cc68dc89d5 Reviewed-on: https://go-review.googlesource.com/34505 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
29cb72154d
commit
115e9cac80
@ -24,8 +24,14 @@ msan=yes
|
||||
|
||||
TMPDIR=${TMPDIR:-/tmp}
|
||||
echo 'int main() { return 0; }' > ${TMPDIR}/testsanitizers$$.c
|
||||
if $CC -fsanitize=memory -c ${TMPDIR}/testsanitizers$$.c -o ${TMPDIR}/testsanitizers$$.o 2>&1 | grep "unrecognized" >& /dev/null; then
|
||||
echo "skipping msan tests: -fsanitize=memory not supported"
|
||||
if $CC -fsanitize=memory -o ${TMPDIR}/testsanitizers$$ ${TMPDIR}/testsanitizers$$.c 2>&1 | grep "unrecognized" >& /dev/null; then
|
||||
echo "skipping msan tests: $CC -fsanitize=memory not supported"
|
||||
msan=no
|
||||
elif ! test -x ${TMPDIR}/testsanitizers$$; then
|
||||
echo "skipping msan tests: $CC -fsanitize-memory did not generate an executable"
|
||||
msan=no
|
||||
elif ! ${TMPDIR}/testsanitizers$$ >/dev/null 2>&1; then
|
||||
echo "skipping msan tests: $CC -fsanitize-memory generates broken executable"
|
||||
msan=no
|
||||
fi
|
||||
rm -f ${TMPDIR}/testsanitizers$$.*
|
||||
|
Loading…
Reference in New Issue
Block a user