summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/lttng/lttng-tools/run-ptest
blob: 39d93e2bbf15a039ebb8c925f80591d66e6bcd5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/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