qemu/tests/docker/test-tsan
Alex Bennée 171080d891 testing: update ubuntu2004 to ubuntu2204
The 22.04 LTS release has been out for almost a year now so its time
to update all the remaining images to the current LTS. We can also
drop some hacks we need for older clang TSAN support.

We will keep the ubuntu2004 container around for those who wish to
test builds on the currently still supported baseline.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230228190653.1602033-9-alex.bennee@linaro.org>
2023-03-01 10:31:46 +00: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 --cxx=clang++ \
--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