qemu/tests/docker/test-tsan
Daniel P. Berrangé 888673bbb9 tests/docker: remove FEATURES env var from templates
In preparation for switching to auto-generated dockerfiles, remove the
FEATURES env variable. The equivalent functionality can be achieved in
most cases by just looking for existance of a binary.

The cases which don't correspond to binaries are simply dropped because
configure/meson will probe for any requested feature anyway.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210623142245.307776-6-berrange@redhat.com>
Message-Id: <20210709143005.1554-14-alex.bennee@linaro.org>
2021-07-14 14:33:53 +01:00

45 lines
1.4 KiB
Bash
Executable File

#!/bin/bash -e
#
# This test will use TSan as part of a build and a make check.
#
# Copyright (c) 2020 Linaro
# Copyright (c) 2016 Red Hat Inc.
#
# Authors:
# Robert Foley <robert.foley@linaro.org>
# Originally based on test-quick from Fam Zheng <famz@redhat.com>
#
# This work is licensed under the terms of the GNU GPL, version 2
# or (at your option) any later version. See the COPYING file in
# the top-level directory.
. common.rc
setup_tsan()
{
requires_binary clang
tsan_log_dir="/tmp/qemu-test/build/tsan"
mkdir -p $tsan_log_dir > /dev/null || true
EXTRA_CONFIGURE_OPTS="${EXTRA_CONFIGURE_OPTS} --enable-tsan \
--cc=clang-10 --cxx=clang++-10 \
--disable-werror --extra-cflags=-O0"
# detect deadlocks is false currently simply because
# TSan crashes immediately with deadlock detector enabled.
# We have maxed out the history size to get the best chance of finding
# warnings during testing.
# Note, to get TSan to fail on warning, use exitcode=66 below.
tsan_opts="suppressions=/tmp/qemu-test/src/tests/tsan/suppressions.tsan\
detect_deadlocks=false history_size=7\
halt_on_error=0 exitcode=0 verbose=5\
log_path=$tsan_log_dir/tsan_warning"
export TSAN_OPTIONS="$tsan_opts"
}
cd "$BUILD_DIR"
TARGET_LIST=${TARGET_LIST:-$DEF_TARGET_LIST} \
setup_tsan
build_qemu
check_qemu
install_qemu