19e14bae7SMasami Hiramatsu (Google)#!/bin/sh
29e14bae7SMasami Hiramatsu (Google)# SPDX-License-Identifier: GPL-2.0
39e14bae7SMasami Hiramatsu (Google)# description: Event probe event parser error log check
49e14bae7SMasami Hiramatsu (Google)# requires: dynamic_events events/syscalls/sys_enter_openat "<attached-group>.<attached-event> [<args>]":README error_log
59e14bae7SMasami Hiramatsu (Google)
69e14bae7SMasami Hiramatsu (Google)check_error() { # command-with-error-pos-by-^
79e14bae7SMasami Hiramatsu (Google)    ftrace_errlog_check 'event_probe' "$1" 'dynamic_events'
89e14bae7SMasami Hiramatsu (Google)}
99e14bae7SMasami Hiramatsu (Google)
109e14bae7SMasami Hiramatsu (Google)check_error 'e ^a.'			# NO_EVENT_INFO
119e14bae7SMasami Hiramatsu (Google)check_error 'e ^.b'			# NO_EVENT_INFO
129e14bae7SMasami Hiramatsu (Google)check_error 'e ^a.b'			# BAD_ATTACH_EVENT
139e14bae7SMasami Hiramatsu (Google)check_error 'e syscalls/sys_enter_openat ^foo'	# BAD_ATTACH_ARG
149e14bae7SMasami Hiramatsu (Google)check_error 'e:^/bar syscalls/sys_enter_openat'	# NO_GROUP_NAME
159e14bae7SMasami Hiramatsu (Google)check_error 'e:^12345678901234567890123456789012345678901234567890123456789012345/bar syscalls/sys_enter_openat'	# GROUP_TOO_LONG
169e14bae7SMasami Hiramatsu (Google)
179e14bae7SMasami Hiramatsu (Google)check_error 'e:^foo.1/bar syscalls/sys_enter_openat'	# BAD_GROUP_NAME
189e14bae7SMasami Hiramatsu (Google)check_error 'e:^ syscalls/sys_enter_openat'		# NO_EVENT_NAME
199e14bae7SMasami Hiramatsu (Google)check_error 'e:foo/^12345678901234567890123456789012345678901234567890123456789012345 syscalls/sys_enter_openat'	# EVENT_TOO_LONG
209e14bae7SMasami Hiramatsu (Google)check_error 'e:foo/^bar.1 syscalls/sys_enter_openat'	# BAD_EVENT_NAME
219e14bae7SMasami Hiramatsu (Google)
229e14bae7SMasami Hiramatsu (Google)check_error 'e:foo/bar syscalls/sys_enter_openat arg=^dfd'	# BAD_FETCH_ARG
239e14bae7SMasami Hiramatsu (Google)check_error 'e:foo/bar syscalls/sys_enter_openat ^arg=$foo'	# BAD_ATTACH_ARG
249e14bae7SMasami Hiramatsu (Google)
25*a457e944SMasami Hiramatsu (Google)if grep -q '<attached-group>\.<attached-event>.*\[if <filter>\]' README; then
269e14bae7SMasami Hiramatsu (Google)  check_error 'e:foo/bar syscalls/sys_enter_openat if ^'	# NO_EP_FILTER
27*a457e944SMasami Hiramatsu (Google)fi
289e14bae7SMasami Hiramatsu (Google)
299e14bae7SMasami Hiramatsu (Google)exit 0
30