X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fperf%2Ftest_perf_raw.in;h=f293ccd71e5ece6f3821cdc04513f7cb882df76c;hp=550c0e9a3dc3840f9b68ae85011caebed9c1f55e;hb=HEAD;hpb=d0e263e7e628d2eba76c883ffc6fb92065e440c7 diff --git a/tests/perf/test_perf_raw.in b/tests/perf/test_perf_raw.in index 550c0e9a3..00cdebc55 100644 --- a/tests/perf/test_perf_raw.in +++ b/tests/perf/test_perf_raw.in @@ -40,14 +40,31 @@ function have_libpfm() function test_ust_raw() { - TRACE_PATH=$(mktemp -d) - SESSION_NAME="ust_perf" - CHAN_NAME="mychan" - EVENT_NAME="tp:tptest" - PMU="UNHALTED_REFERENCE_CYCLES" - PERFID=$($CURDIR/find_event $PMU) - test $? -eq "0" - ok $? "Find PMU $PMU" + local SESSION_NAME="ust_perf" + local CHAN_NAME="mychan" + local EVENT_NAME="tp:tptest" + local PMU="UNHALTED_REFERENCE_CYCLES" + local tests_to_skip=9 + local ret + local TRACE_PATH + + # Find the raw perf id of the event. + PERFID=$("$CURDIR/find_event" "$PMU") + ret=$? + if [ "$ret" -eq "0" ]; then + pass "Find PMU $PMU" + elif [ "$ret" -eq "1" ]; then + skip 0 "PMU event not found." $tests_to_skip + return + elif [ "$ret" -eq "2" ]; then + skip 0 "PMU event not actionable." $tests_to_skip + return + else + fail "find_event returned $ret." + return + fi + + TRACE_PATH=$(mktemp -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX") create_lttng_session_ok $SESSION_NAME $TRACE_PATH @@ -72,14 +89,32 @@ function test_ust_raw() function test_kernel_raw() { - TRACE_PATH=$(mktemp -d) - SESSION_NAME="kernel_perf" - CHAN_NAME="mychan" - EVENT_NAME="lttng_test_filter_event" - PMU="UNHALTED_REFERENCE_CYCLES" - PERFID=$($CURDIR/find_event $PMU) - test $? -eq "0" - ok $? "Find PMU $PMU" + local SESSION_NAME="kernel_perf" + local CHAN_NAME="mychan" + local EVENT_NAME="lttng_test_filter_event" + local PMU="UNHALTED_REFERENCE_CYCLES" + local PERFID="" + local tests_to_skip=9 + local ret + local TRACE_PATH + + # Find the raw perf id of the event. + PERFID=$("$CURDIR/find_event" "$PMU") + ret=$? + if [ "$ret" -eq "0" ]; then + pass "Find PMU $PMU" + elif [ "$ret" -eq "1" ]; then + skip 0 "PMU event not found." $tests_to_skip + return + elif [ "$ret" -eq "2" ]; then + skip 0 "PMU event not actionable." $tests_to_skip + return + else + fail "find_event returned $ret." + return + fi + + TRACE_PATH=$(mktemp -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX") create_lttng_session_ok $SESSION_NAME $TRACE_PATH @@ -102,12 +137,6 @@ function test_kernel_raw() rm -rf $TRACE_PATH } -if [ "$(id -u)" == "0" ]; then - isroot=1 -else - isroot=0 -fi - # MUST set TESTDIR before calling those functions plan_tests $NUM_TESTS @@ -119,7 +148,7 @@ have_libpfm test_ust_raw -skip $isroot "Root access is needed for kernel testing, skipping." 9 || +check_skip_kernel_test 9 || { modprobe lttng-test test_kernel_raw