~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/testing/selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc (Architecture i386) and /tools/testing/selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc (Architecture mips)


  1 #!/bin/sh                                           1 #!/bin/sh
  2 # SPDX-License-Identifier: GPL-2.0                  2 # SPDX-License-Identifier: GPL-2.0
  3 # description: event trigger - test histogram       3 # description: event trigger - test histogram expression parsing
  4 # requires: set_event events/sched/sched_proce      4 # requires: set_event events/sched/sched_process_fork/trigger events/sched/sched_process_fork/hist error_log "<var1>=<field|var_ref|numeric_literal>":README
  5                                                     5 
  6                                                     6 
  7 fail() { #msg                                       7 fail() { #msg
  8     echo $1                                         8     echo $1
  9     exit_fail                                       9     exit_fail
 10 }                                                  10 }
 11                                                    11 
 12 test_hist_expr() { # test_name expression expe     12 test_hist_expr() { # test_name expression expected_val
 13     trigger="events/sched/sched_process_fork/t     13     trigger="events/sched/sched_process_fork/trigger"
 14                                                    14 
 15     reset_trigger_file $trigger                    15     reset_trigger_file $trigger
 16                                                    16 
 17     echo "Test hist trigger expressions - $1"      17     echo "Test hist trigger expressions - $1"
 18                                                    18 
 19     echo "hist:keys=common_pid:x=$2" > $trigge     19     echo "hist:keys=common_pid:x=$2" > $trigger
 20                                                    20 
 21     for i in `seq 1 10` ; do ( echo "forked" >     21     for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
 22                                                    22 
 23     actual=`grep -o 'x=[[:digit:]]*' $trigger      23     actual=`grep -o 'x=[[:digit:]]*' $trigger | awk -F= '{ print $2 }'`
 24                                                    24 
 25     if [ $actual != $3 ]; then                     25     if [ $actual != $3 ]; then
 26         fail "Failed hist trigger expression e     26         fail "Failed hist trigger expression evaluation: Expression: $2 Expected: $3, Actual: $actual"
 27     fi                                             27     fi
 28                                                    28 
 29     reset_trigger_file $trigger                    29     reset_trigger_file $trigger
 30 }                                                  30 }
 31                                                    31 
 32 check_error() { # test_name command-with-error     32 check_error() { # test_name command-with-error-pos-by-^
 33     trigger="events/sched/sched_process_fork/t     33     trigger="events/sched/sched_process_fork/trigger"
 34                                                    34 
 35     echo "Test hist trigger expressions - $1"      35     echo "Test hist trigger expressions - $1"
 36     ftrace_errlog_check 'hist:sched:sched_proc     36     ftrace_errlog_check 'hist:sched:sched_process_fork' "$2" $trigger
 37 }                                                  37 }
 38                                                    38 
 39 test_hist_expr "Variable assignment" "123" "12     39 test_hist_expr "Variable assignment" "123" "123"
 40                                                    40 
 41 test_hist_expr "Subtraction not associative" "     41 test_hist_expr "Subtraction not associative" "16-8-4-2" "2"
 42                                                    42 
 43 test_hist_expr "Division not associative" "64/     43 test_hist_expr "Division not associative" "64/8/4/2" "1"
 44                                                    44 
 45 test_hist_expr "Same precedence operators (+,-     45 test_hist_expr "Same precedence operators (+,-) evaluated left to right" "16-8+4+2" "14"
 46                                                    46 
 47 test_hist_expr "Same precedence operators (*,/     47 test_hist_expr "Same precedence operators (*,/) evaluated left to right" "4*3/2*2" "12"
 48                                                    48 
 49 test_hist_expr "Multiplication evaluated befor     49 test_hist_expr "Multiplication evaluated before addition/subtraction" "4+3*2-2" "8"
 50                                                    50 
 51 test_hist_expr "Division evaluated before addi     51 test_hist_expr "Division evaluated before addition/subtraction" "4+6/2-2" "5"
 52                                                    52 
 53 # err pos for "too many subexpressions" is dep     53 # err pos for "too many subexpressions" is dependent on where
 54 # the last subexpression was detected. This ca     54 # the last subexpression was detected. This can vary depending
 55 # on how the expression tree was generated.        55 # on how the expression tree was generated.
 56 check_error "Too many subexpressions" 'hist:ke     56 check_error "Too many subexpressions" 'hist:keys=common_pid:x=32+^10*3/20-4'
 57 check_error "Too many subexpressions" 'hist:ke     57 check_error "Too many subexpressions" 'hist:keys=common_pid:x=^1+2+3+4+5'
 58                                                    58 
 59 check_error "Unary minus not supported in sube     59 check_error "Unary minus not supported in subexpression" 'hist:keys=common_pid:x=-(^1)+2'
 60                                                    60 
 61 check_error "Division by zero" 'hist:keys=comm     61 check_error "Division by zero" 'hist:keys=common_pid:x=3/^0'
 62                                                    62 
 63 exit 0                                             63 exit 0
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php