Files
poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
Xiangyu Chen 276332d289 lttng-tools: skip kernel tests if no kernel modules present
The current tests will run both userspace and kernel testing. Some of use cases
only use lttng for one kind of tracing (e.g. userspace). If the lttng
modules(.ko files) is not present during the test,it would end up with lots of
failing.

Add a check in ptest script, if current system doesn't contain lttng kernel
modules, passing LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1 to make to skip all lttng
kernel related testing.

(From OE-Core rev: e0d8494b569bc5fb45d9a4bafa25527a0ee3d970)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-03-18 12:21:45 +00:00

1.3 KiB
Executable File

#!/bin/sh

Without --ignore-exit, the tap harness causes any FAILs within a

test plan to raise ERRORs; this is just noise.

#Detecting whether current system has lttng kernel modules LTTNG_KMOD_PATH=/lib/modules/$(uname -r)/kernel/lttng-modules/lttng-tracer.ko function validate_lttng_modules_present() { # Check for loadable modules. if [ -f "$LTTNG_KMOD_PATH" ]; then return 0 fi

# Check for builtin modules.
ls /proc/lttng > /dev/null 2>&1
if [ $? -eq 0 ]; then
	return 0
fi

return 1

}

export LD_LIBRARY_PATH=FIXMEPTESTPATH/tests/utils/testapp/userspace-probe-elf-binary/.libs makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=FIXMEPTESTPATH top_builddir=FIXMEPTESTPATH"

#If current system doesn't have lttng kernel modules, disable lttng kernel related tests. validate_lttng_modules_present || { makeargs="$makeargs LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1" }

make -k -t all >error.log 2>&1

Can specify a test e.g.:

-C tests/regression/ check TESTS='kernel/test_callstack'

make -k -s $makeargs check 2>error.log | sed -e 's#/tmp/tmp...........#/tmp/tmp.XXXXXXXXXX#g' exitcode=$? if [ -e error.log ]; then cat error.log fi if [ -e tests/unit/test-suite.log ]; then cat tests/unit/test-suite.log fi if [ -e tests/regression/test-suite.log ]; then cat tests/regression/test-suite.log fi exit $exitcode