mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 11:11:08 +00:00
ef745265be
Avoid polluting the pwd/current checkout you are working from Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7591>
49 lines
1.3 KiB
Bash
Executable file
49 lines
1.3 KiB
Bash
Executable file
#! /bin/bash
|
|
|
|
builddir="$1"
|
|
tests="$2"
|
|
|
|
if [[ -z "$builddir" || -z "$tests" ]]; then
|
|
echo "Usage: test.sh <build_directory> <test_name>"
|
|
exit 1
|
|
fi
|
|
|
|
set -eux
|
|
|
|
_jobs=$(nproc || sysctl -n hw.ncpu)
|
|
jobs="${FDO_CI_CONCURRENT:-$_jobs}"
|
|
|
|
timeout="${TIMEOUT_FACTOR:="2"}"
|
|
validate="${EXTRA_VALIDATE_ARGS:=""}"
|
|
parent="${CI_PROJECT_DIR:-$(pwd)}"
|
|
|
|
# Put the runtime dir inside CI_PROJECT_DIR or in /tmp if we are running locally
|
|
export XDG_RUNTIME_DIR="$(mktemp -p "${CI_PROJECT_DIR:-/tmp}" -d xdg-runtime-XXXXXX)"
|
|
echo "-> Running $tests"
|
|
|
|
# Disable all cpu extensions post AVX to match what valgrind supports
|
|
# https://github.com/openssl/openssl/blob/master/NOTES-VALGRIND.md
|
|
export OPENSSL_ia32cap=":0"
|
|
|
|
# Force Software rendering for GL and Vulkan so the tests run locally
|
|
# like they would do in the CI.
|
|
export LIBGL_ALWAYS_SOFTWARE="true"
|
|
# This the hardcoded value for llvmpipe
|
|
export MESA_VK_DEVICE_SELECT="10005:0"
|
|
|
|
./gst-env.py \
|
|
"--builddir=$builddir" \
|
|
gst-validate-launcher "$tests" \
|
|
--jobs "$jobs" \
|
|
--check-bugs \
|
|
--dump-on-failure \
|
|
--mute \
|
|
--shuffle \
|
|
--no-display \
|
|
--validate-generate-expectations=disabled \
|
|
--meson-no-rebuild \
|
|
--timeout-factor "$timeout" \
|
|
--fail-on-testlist-change \
|
|
-l "$parent/validate-logs/" \
|
|
--xunit-file "$parent/validate-logs/xunit.xml" \
|
|
$validate
|