rsyslog/tests/endswith-basic.sh
Rainer Gerhards 6c9332b2e0
scripting: add endswith operator to property filters and RainerScript
This Implements suffix comparison similar to startswith. Note that we
do intentionally not use libestr functions in order to speed up adaption.
It would otherwise probably take years for distros to upgrade libestr.

With some help of the Codex and Gemini AI Agents.

closes https://github.com/rsyslog/rsyslog/issues/1255
2025-07-06 14:19:33 +02:00

22 lines
727 B
Bash
Executable File

#!/bin/bash
. ${srcdir:=.}/diag.sh init
generate_conf
add_conf '
template(name="outfmt" type="string" string="%programname% %msg%\n")
if $programname endswith ["_foo", "-bar", ".baz"] then {
action(type="omfile" template="outfmt" file="'${RSYSLOG_OUT_LOG}'")
}
'
startup
injectmsg_literal '<165>1 2003-03-01T01:00:00.000Z host service_foo - - - test1'
injectmsg_literal '<165>1 2003-03-01T01:00:00.000Z host service-bar - - - test2'
injectmsg_literal '<165>1 2003-03-01T01:00:00.000Z host service.baz - - - test3'
injectmsg_literal '<165>1 2003-03-01T01:00:00.000Z host otherprog - - - test4'
shutdown_when_empty
wait_shutdown
export EXPECTED="service_foo test1
service-bar test2
service.baz test3"
cmp_exact
exit_test