| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 |
|
| 13 |
|
| 14 | . "$(dirname $0)/../common/settings.sh"
|
| 15 | . "$(dirname $0)/../common/patterns.sh"
|
| 16 |
|
| 17 | THIS_TEST_NAME=`basename $0 .sh`
|
| 18 |
|
| 19 | _echo()
|
| 20 | {
|
| 21 | test "$TESTLOG_VERBOSITY" -ne 0 && echo -e "$@"
|
| 22 | }
|
| 23 |
|
| 24 | print_results()
|
| 25 | {
|
| 26 | PERF_RETVAL="$1"; shift
|
| 27 | CHECK_RETVAL="$1"; shift
|
| 28 | FAILURE_REASON=""
|
| 29 | TASK_COMMENT="$*"
|
| 30 | if [ $PERF_RETVAL -eq 0 ] && [ $CHECK_RETVAL -eq 0 ]; then
|
| 31 | _echo "$MPASS-- [ PASS ] --$MEND $TEST_NAME :: $THIS_TEST_NAME :: $TASK_COMMENT"
|
| 32 | return 0
|
| 33 | else
|
| 34 | if [ $PERF_RETVAL -ne 0 ]; then
|
| 35 | FAILURE_REASON="command exitcode"
|
| 36 | fi
|
| 37 | if [ $CHECK_RETVAL -ne 0 ]; then
|
| 38 | test -n "$FAILURE_REASON" && FAILURE_REASON="$FAILURE_REASON + "
|
| 39 | FAILURE_REASON="$FAILURE_REASON""output regexp parsing"
|
| 40 | fi
|
| 41 | _echo "$MFAIL-- [ FAIL ] --$MEND $TEST_NAME :: $THIS_TEST_NAME :: $TASK_COMMENT ($FAILURE_REASON)"
|
| 42 | return 1
|
| 43 | fi
|
| 44 | }
|
| 45 |
|
| 46 | print_overall_results()
|
| 47 | {
|
| 48 | RETVAL="$1"; shift
|
| 49 | TASK_COMMENT="$*"
|
| 50 | test -n "$TASK_COMMENT" && TASK_COMMENT=":: $TASK_COMMENT"
|
| 51 |
|
| 52 | if [ $RETVAL -eq 0 ]; then
|
| 53 | _echo "$MALLPASS## [ PASS ] ##$MEND $TEST_NAME :: $THIS_TEST_NAME SUMMARY"
|
| 54 | else
|
| 55 | _echo "$MALLFAIL## [ FAIL ] ##$MEND $TEST_NAME :: $THIS_TEST_NAME SUMMARY :: $RETVAL failures found $TASK_COMMENT"
|
| 56 | fi
|
| 57 | return $RETVAL
|
| 58 | }
|
| 59 |
|
| 60 | print_testcase_skipped()
|
| 61 | {
|
| 62 | TASK_COMMENT="$*"
|
| 63 | _echo "$MSKIP-- [ SKIP ] --$MEND $TEST_NAME :: $THIS_TEST_NAME :: $TASK_COMMENT :: testcase skipped"
|
| 64 | return 0
|
| 65 | }
|
| 66 |
|
| 67 | print_overall_skipped()
|
| 68 | {
|
| 69 | _echo "$MSKIP## [ SKIP ] ##$MEND $TEST_NAME :: $THIS_TEST_NAME :: testcase skipped"
|
| 70 | return 0
|
| 71 | }
|
| 72 |
|
| 73 | print_warning()
|
| 74 | {
|
| 75 | WARN_COMMENT="$*"
|
| 76 | _echo "$MWARN-- [ WARN ] --$MEND $TEST_NAME :: $THIS_TEST_NAME :: $WARN_COMMENT"
|
| 77 | return 0
|
| 78 | }
|
| 79 |
|
| 80 | |
| 81 | |
| 82 | |
| 83 | |
| 84 | |
| 85 | consider_skipping()
|
| 86 | {
|
| 87 | TESTCASE_RUNMODE="$1"
|
| 88 | |
| 89 | if [ $PERFTOOL_TESTSUITE_RUNMODE -lt $TESTCASE_RUNMODE ]; then
|
| 90 | print_overall_skipped
|
| 91 | exit 2
|
| 92 | fi
|
| 93 | }
|
| 94 |
|
| 95 | detect_baremetal()
|
| 96 | {
|
| 97 | |
| 98 | |
| 99 | |
| 100 | |
| 101 | VIRT=`systemd-detect-virt 2>/dev/null`
|
| 102 | test $? -eq 127 && return 2
|
| 103 | test "$VIRT" = "none"
|
| 104 | }
|
| 105 |
|
| 106 | detect_intel()
|
| 107 | {
|
| 108 | |
| 109 | |
| 110 | |
| 111 | grep "vendor_id" < /proc/cpuinfo | grep -q "GenuineIntel"
|
| 112 | }
|
| 113 |
|
| 114 | detect_amd()
|
| 115 | {
|
| 116 | |
| 117 | |
| 118 | |
| 119 | grep "vendor_id" < /proc/cpuinfo | grep -q "AMD"
|
| 120 | }
|
| 121 |
|
| 122 | |
| 123 | check_kprobes_available()
|
| 124 | {
|
| 125 | test -e /sys/kernel/debug/tracing/kprobe_events
|
| 126 | }
|
| 127 |
|
| 128 | check_uprobes_available()
|
| 129 | {
|
| 130 | test -e /sys/kernel/debug/tracing/uprobe_events
|
| 131 | }
|
| 132 |
|
| 133 | clear_all_probes()
|
| 134 | {
|
| 135 | echo 0 > /sys/kernel/debug/tracing/events/enable
|
| 136 | check_kprobes_available && echo > /sys/kernel/debug/tracing/kprobe_events
|
| 137 | check_uprobes_available && echo > /sys/kernel/debug/tracing/uprobe_events
|
| 138 | }
|
| 139 |
|
| 140 | check_sdt_support()
|
| 141 | {
|
| 142 | $CMD_PERF list sdt | grep sdt > /dev/null 2> /dev/null
|
| 143 | }
|