3 # SPDX-FileCopyrightText: 2024 Kienan Stewart <kstewart@efficios.com>
4 # SPDX-License-Identifier: GPL-2.0-or-later
8 # shellcheck disable=SC2317
11 killall lttng-sessiond
14 trap cleanup EXIT SIGINT SIGTERM
16 LD_LIBRARY_PATH
="${LD_LIBRARY_PATH:-}"
20 # RHEL and SLES both use lib64 but don't bother shipping a default autoconf
21 # site config that matches this.
22 if [[ ( -f /etc
/redhat-release ||
-f /etc
/products.d
/SLES.prod ||
-f /etc
/yocto-release
) ]]; then
23 # Detect the userspace bitness in a distro agnostic way
24 if file -L /bin
/bash |
grep '64-bit' >/dev
/null
2>&1; then
25 LIBDIR_ARCH
="${LIBDIR}64"
29 # Work-around for the sles12sp5, sles15sp4 where the last successful builds were
30 # completed before 'followSymlinks' was set to try, and is thus missing the
31 # links for all the libraries.
32 if [[ -f /etc
/products.d
/SLES.prod
]] ; then
33 pushd "${WORKSPACE}/deps/build/${LIBDIR_ARCH}"
34 while read -r LIB
; do
35 LIB_ANY
=$
(echo "${LIB}" |
rev | cut
-d'.' -f4- |
rev)
36 LIB_MAJOR
=$
(echo "${LIB}" |
rev | cut
-d'.' -f3- |
rev)
37 if [[ ! -f "${LIB_ANY}" ]]; then
38 ln -s "$(realpath "${LIB}")" "${LIB_ANY}"
40 if [[ ! -f "${LIB_MAJOR}" ]] ; then
41 ln -s "$(realpath "${LIB}")" "${LIB_MAJOR}"
43 done < <(find .
-type f
-iregex '.*\.so\.[0-9]+\.[0-9]+\.[0-9]+')
47 if [[ -z "${JAVA_HOME:-}" ]] ; then
48 export JAVA_HOME
="/usr/lib/jvm/default-java"
51 DEPS_JAVA
="${WORKSPACE/deps/build/share/java}"
52 export CLASSPATH
="$DEPS_JAVA/lttng-ust-agent-all.jar:/usr/share/java/log4j-api.jar:/usr/share/java/log4j-core.jar:/usr/share/java/log4j-1.2.jar"
54 LTTNG_UST_JAVA_TESTS_ENV
=(
55 # Some ci nodes (eg. SLES12) don't have maven distributed by their
56 # package manager. As a result, the maven binary is deployed in
57 # '/opt/apache/maven/bin'.
58 PATH
="${WORKSPACE}/deps/build/bin/:$PATH:/opt/apache/maven/bin/"
59 LD_LIBRARY_PATH
="${WORKSPACE}/deps/build/${LIBDIR}/:${WORKSPACE}/deps/build/${LIBDIR_ARCH}:$LD_LIBRARY_PATH"
61 LTTNG_CONSUMERD32_BIN
="${WORKSPACE}/deps/build/${LIBDIR_ARCH}/lttng/libexec/lttng-consumerd"
62 LTTNG_CONSUMERD64_BIN
="${WORKSPACE}/deps/build/${LIBDIR_ARCH}/lttng/libexec/lttng-consumerd"
63 LTTNG_SESSION_CONFIG_XSD_PATH
="${WORKSPACE}/deps/build/share/xml/lttng"
64 BABELTRACE_PLUGIN_PATH
="${WORKSPACE}/deps/build/${LIBDIR_ARCH}/babeltrace2/plugins"
65 LIBBABELTRACE2_PLUGIN_PROVIDER_DIR
="${WORKSPACE}/deps/build/${LIBDIR_ARCH}/babeltrace2/plugin-providers"
67 LTTNG_UST_JAVA_TESTS_MAVEN_OPTS
=(
68 "-Dmaven.test.failure.ignore=true"
69 "-Dcommon-jar-location=${WORKSPACE}/deps/build/share/java/lttng-ust-agent-common.jar"
70 "-Djul-jar-location=${WORKSPACE}/deps/build/share/java/lttng-ust-agent-jul.jar"
71 "-Dlog4j-jar-location=${WORKSPACE}/deps/build/share/java/lttng-ust-agent-log4j.jar"
72 "-Dlog4j2-jar-location=${WORKSPACE}/deps/build/share/java/lttng-ust-agent-log4j2.jar"
73 "-DargLine=-Djava.library.path=${WORKSPACE}/deps/build/${LIBDIR_ARCH}"
74 '-Dgroups=!domain:log4j2'
77 # Start the lttng-sessiond
78 mkdir
-p "${WORKSPACE}/log"
79 env
"${LTTNG_UST_JAVA_TESTS_ENV[@]}" lttng-sessiond
-b -vvv > "${WORKSPACE}/log/lttng-sessiond.log" 2>&1
81 cd src
/lttng-ust-java-tests
82 env
"${LTTNG_UST_JAVA_TESTS_ENV[@]}" mvn
-version
83 env
"${LTTNG_UST_JAVA_TESTS_ENV[@]}" mvn
"${LTTNG_UST_JAVA_TESTS_MAVEN_OPTS[@]}" clean verify