/
githubmirror
/
rsyslog
Обзор
Документация
Войти
/
githubmirror
/
rsyslog
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
tests/yaml-include.sh
70 строк
2 KB
Rainer Gerhards
tests: bind IPv4-only imtcp listeners to loopback
05 июл 2026, 15:39
05 июл 2026, 15:39
3c858bc
Код
Авторство
О чём код?
#!/bin/bash # Tests that YAML config files can include both: # - another .yaml file (YAML-from-YAML include) # - a .conf (RainerScript) file (RainerScript-from-YAML include) # Verifies the extension-based router in cnfDoInclude() works correctly. # # Template "outfmt" is defined in the main YAML's templates: section so that # it is registered via cnfDoObj() before any flex buffers are consumed. # The included .conf file adds a second template ("confmt") to prove that # RainerScript includes from YAML are processed; that template is used by a # second action in the ruleset script so both outputs are checked. # # Added 2025 by contributors, released under ASL 2.0 . ${srcdir:=.}/diag.sh init require_plugin imtcp export NUMMESSAGES=50 export QUEUE_EMPTY_CHECK_FUNC=wait_file_lines generate_conf add_conf ' # Testbench preamble in RainerScript; main config in YAML include(file="'${RSYSLOG_DYNNAME}'.yaml") ' # Sub-config included from YAML as a .conf (RainerScript) fragment. # Defines a second template so we can verify .conf includes are processed. cat > "${RSYSLOG_DYNNAME}_inc.conf" << CONFEOF template(name="confmt" type="string" string="%msg:F,58:2%\n") CONFEOF # Sub-config included from YAML as a nested .yaml file — loads imtcp. cat > "${RSYSLOG_DYNNAME}_sub.yaml" << 'SUBEOF' modules: - load: "../plugins/imtcp/.libs/imtcp" SUBEOF # Main YAML config. # templates: is processed via cnfDoObj() during YAML loading (before any flex # buffers are consumed), so "outfmt" is always available to the ruleset script. cat > "${RSYSLOG_DYNNAME}.yaml" << YAMLEOF include: - path: "${RSYSLOG_DYNNAME}_sub.yaml" - path: "${RSYSLOG_DYNNAME}_inc.conf" templates: - name: outfmt type: string string: "%msg:F,58:2%\n" rulesets: - name: main script: | :msg, contains, "msgnum:" action(type="omfile" template="outfmt" file="${RSYSLOG_OUT_LOG}") YAMLEOF # Expand shell vars sed -i \ -e "s|\${RSYSLOG_DYNNAME}|${RSYSLOG_DYNNAME}|g" \ -e "s|\${RSYSLOG_OUT_LOG}|${RSYSLOG_OUT_LOG}|g" \ "${RSYSLOG_DYNNAME}.yaml" add_conf ' input(type="imtcp" address="127.0.0.1" port="0" listenPortFileName="'${RSYSLOG_DYNNAME}'.tcpflood_port" ruleset="main") ' startup tcpflood -m $NUMMESSAGES shutdown_when_empty wait_shutdown seq_check exit_test