Back to home page

OSCL-LXR

 
 

    


0001 #!/bin/sh
0002 # SPDX-License-Identifier: GPL-2.0
0003 # description: event trigger - test synthetic_events syntax parser
0004 # requires: set_event synthetic_events
0005 
0006 do_reset() {
0007     reset_trigger
0008     echo > set_event
0009     clear_trace
0010 }
0011 
0012 fail() { #msg
0013     do_reset
0014     echo $1
0015     exit_fail
0016 }
0017 
0018 reset_tracer
0019 do_reset
0020 
0021 echo "Test synthetic_events syntax parser"
0022 
0023 echo > synthetic_events
0024 
0025 # synthetic event must have a field
0026 ! echo "myevent" >> synthetic_events
0027 echo "myevent u64 var1" >> synthetic_events
0028 
0029 # synthetic event must be found in synthetic_events
0030 grep "myevent[[:space:]]u64 var1" synthetic_events
0031 
0032 # it is not possible to add same name event
0033 ! echo "myevent u64 var2" >> synthetic_events
0034 
0035 # make sure !synthetic event doesn't require a field
0036 echo "!myevent" >> synthetic_events
0037 echo "myevent u64 var1" >> synthetic_events
0038 
0039 # Non-append open will cleanup all events and add new one
0040 echo "myevent u64 var2" > synthetic_events
0041 
0042 # multiple fields with different spaces
0043 echo "myevent u64 var1; u64 var2;" > synthetic_events
0044 grep "myevent[[:space:]]u64 var1; u64 var2" synthetic_events
0045 echo "myevent u64 var1 ; u64 var2 ;" > synthetic_events
0046 grep "myevent[[:space:]]u64 var1; u64 var2" synthetic_events
0047 echo "myevent u64 var1 ;u64 var2" > synthetic_events
0048 grep "myevent[[:space:]]u64 var1; u64 var2" synthetic_events
0049 
0050 # test field types
0051 echo "myevent u32 var" > synthetic_events
0052 echo "myevent u16 var" > synthetic_events
0053 echo "myevent u8 var" > synthetic_events
0054 echo "myevent s64 var" > synthetic_events
0055 echo "myevent s32 var" > synthetic_events
0056 echo "myevent s16 var" > synthetic_events
0057 echo "myevent s8 var" > synthetic_events
0058 
0059 echo "myevent char var" > synthetic_events
0060 echo "myevent int var" > synthetic_events
0061 echo "myevent long var" > synthetic_events
0062 echo "myevent pid_t var" > synthetic_events
0063 
0064 echo "myevent unsigned char var" > synthetic_events
0065 echo "myevent unsigned int var" > synthetic_events
0066 echo "myevent unsigned long var" > synthetic_events
0067 grep "myevent[[:space:]]unsigned long var" synthetic_events
0068 
0069 # test string type
0070 echo "myevent char var[10]" > synthetic_events
0071 grep "myevent[[:space:]]char\[10\] var" synthetic_events
0072 
0073 do_reset
0074 
0075 exit 0