File: eprobes_syntax_errors.tc

package info (click to toggle)
linux 6.1.139-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 1,495,880 kB
  • sloc: ansic: 23,469,452; asm: 266,614; sh: 110,522; makefile: 49,887; python: 36,990; perl: 36,834; cpp: 6,056; yacc: 4,908; lex: 2,725; awk: 1,440; ruby: 25; sed: 5
file content (29 lines) | stat: -rw-r--r-- 1,356 bytes parent folder | download | duplicates (15)
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
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# description: Event probe event parser error log check
# requires: dynamic_events events/syscalls/sys_enter_openat "<attached-group>.<attached-event> [<args>]":README error_log

check_error() { # command-with-error-pos-by-^
    ftrace_errlog_check 'event_probe' "$1" 'dynamic_events'
}

check_error 'e ^a.'			# NO_EVENT_INFO
check_error 'e ^.b'			# NO_EVENT_INFO
check_error 'e ^a.b'			# BAD_ATTACH_EVENT
check_error 'e syscalls/sys_enter_openat ^foo'	# BAD_ATTACH_ARG
check_error 'e:^/bar syscalls/sys_enter_openat'	# NO_GROUP_NAME
check_error 'e:^12345678901234567890123456789012345678901234567890123456789012345/bar syscalls/sys_enter_openat'	# GROUP_TOO_LONG

check_error 'e:^foo.1/bar syscalls/sys_enter_openat'	# BAD_GROUP_NAME
check_error 'e:^ syscalls/sys_enter_openat'		# NO_EVENT_NAME
check_error 'e:foo/^12345678901234567890123456789012345678901234567890123456789012345 syscalls/sys_enter_openat'	# EVENT_TOO_LONG
check_error 'e:foo/^bar.1 syscalls/sys_enter_openat'	# BAD_EVENT_NAME

check_error 'e:foo/bar syscalls/sys_enter_openat arg=^dfd'	# BAD_FETCH_ARG
check_error 'e:foo/bar syscalls/sys_enter_openat ^arg=$foo'	# BAD_ATTACH_ARG

if grep -q '<attached-group>\.<attached-event>.*\[if <filter>\]' README; then
  check_error 'e:foo/bar syscalls/sys_enter_openat if ^'	# NO_EP_FILTER
fi

exit 0