TAPDIR="$WORKSPACE/tap"
PREFIX="/build"
LIBDIR="lib"
+LIBDIR_ARCH="$LIBDIR"
# RHEL and SLES both use lib64 but don't bother shipping a default autoconf
# site config that matches this.
-if [[ ( -f /etc/redhat-release || -f /etc/SuSE-release ) && ( "$(uname -m)" == "x86_64" ) ]]; then
- LIBDIR_ARCH="${LIBDIR}64"
-else
- LIBDIR_ARCH="$LIBDIR"
+if [[ ( -f /etc/redhat-release || -f /etc/products.d/SLES.prod || -f /etc/yocto-release ) ]]; then
+ # Detect the userspace bitness in a distro agnostic way
+ if file -L /bin/bash | grep '64-bit' >/dev/null 2>&1; then
+ LIBDIR_ARCH="${LIBDIR}64"
+ fi
fi
DEPS_INC="$WORKSPACE/deps/build/include"
;;
esac
-# The missing-field-initializers warning code is very dumb in GCC 4.8 on
-# SLES12 / EL7, disable it even if it's available.
+# Some warning flags are very dumb in GCC 4.8 on SLES12 / EL7, disable them
+# even if they are available.
if [[ $platform = sles12sp5* ]] || [[ $platform = el7* ]]; then
- CFLAGS="$CFLAGS -Wno-missing-field-initializers"
- CXXFLAGS="$CXXFLAGS -Wno-missing-field-initializers"
+ CFLAGS="$CFLAGS -Wno-missing-field-initializers -Wno-shadow"
+ CXXFLAGS="$CXXFLAGS -Wno-missing-field-initializers -Wno-shadow"
fi
case "$test_type" in
export JAVA_HOME="/usr/lib/jvm/default-java"
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"
- CONF_OPTS+=("--enable-test-java-agent-all" "--enable-test-python-agent-all")
+ CONF_OPTS+=("--enable-test-java-agent-all")
# Explicitly add '--enable-test-java-agent-log4j2', it's not part of '-all' in stable 2.12/2.13
if verlt "$PACKAGE_VERSION" "2.14"; then
CONF_OPTS+=("--enable-test-java-agent-log4j2")
fi
+
+ # Some distros don't ship python2 anymore
+ if command -v $PYTHON2 >/dev/null 2>&1; then
+ CONF_OPTS+=("--enable-test-python-agent-all")
+ else
+ CONF_OPTS+=("--enable-test-python3-agent")
+ fi
;;
relayd-only)
fi
make --keep-going check || failed_tests=1
+
+ # Copy tap logs for the jenkins tap parser before cleaning the build dir
rsync -a --exclude 'test-suite.log' --include '*/' --include '*.log' --exclude='*' tests/ "$TAPDIR"
+
+ # Copy the test suites top-level log which includes all tests failures
+ rsync -a --include 'test-suite.log' --include '*/' --exclude='*' tests/ "$WORKSPACE/log"
else
cd tests
mkdir -p "$TAPDIR/unit"