rsyslog/tests/imptcp-msg-truncation-on-number2.sh
Andre Lorbach 4f5da2c50d ci: add macOS CI workflows and improve test diagnostics
Add comprehensive macOS CI support with two new GitHub Actions workflows:

- run_macos.yml: PR-triggered CI with matrix strategy covering macOS 13-15,
  x64/arm64 architectures, and sanitizer combinations (none, ASAN, TSAN)
- run_macos_weekly.yml: Scheduled weekly testing with full matrix coverage
  and automated failure reporting via GitHub issues

Enhance test diagnostics in tests/diag.sh:
- Add separate startup timeout handling for valgrind vs normal runs
- Implement immediate crash detection during rsyslog startup
- Add comprehensive core dump analysis with platform-specific debuggers
- Improve macOS-specific error reporting and system information gathering
- Add disk space monitoring to prevent core dump creation failures
- tests/kafka: give unique names in sndrcv_kafka_multi_topics
  Rename the second omkafka action to a distinct name (kafka-fwd-2).
  Using the same action name twice can lead to only one effective
  publisher with newer builds, which caused
  tests/sndrcv_kafka_multi_topics.sh to publish to a single topic and
  fail the final count check.

Fix macOS-specific test issues:
- Skip failing TCP tests on Darwin due to TCP chunking behavior
- Add maxframesize parameter to imptcp tests for better reliability

The CI workflows include proper sanitizer configuration, core dump handling,
disk space management, and comprehensive error reporting to improve
debugging capabilities on macOS platforms.

Impact: Enables continuous testing on macOS, improves test reliability,
and provides better diagnostics for platform-specific issues.

Fixes: https://github.com/rsyslog/rsyslog/issues/5629
Refs: https://github.com/rsyslog/rsyslog/pull/5635
Refs: https://github.com/Homebrew/homebrew-core/issues/221869
Refs: https://github.com/Homebrew/homebrew-core/issues/226378
2025-09-17 12:58:46 +02:00

48 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# addd 2017-03-01 by RGerhards, released under ASL 2.0
. ${srcdir:=.}/diag.sh init
skip_platform "Darwin" "Test fails on MacOS 13, TCP chunking causes false octet-counting detection with sequence 9876543210"
generate_conf
add_conf '
$MaxMessageSize 128
global(processInternalMessages="on"
oversizemsg.input.mode="accept")
module(load="../plugins/imptcp/.libs/imptcp")
input(type="imptcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port" ruleset="ruleset1")
template(name="templ1" type="string" string="%rawmsg%\n")
ruleset(name="ruleset1") {
action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="templ1")
}
'
startup
tcpflood -m2 -M "\"41 <120> 2011-03-01T11:22:12Z host msgnum:1\""
tcpflood -m1 -M "\"214000000000 <120> 2011-03-01T11:22:12Z host msgnum:1\""
tcpflood -m1 -M "\"41 <120> 2011-03-01T11:22:12Z host msgnum:1\""
tcpflood -m1 -M "\"214000000000 <120> 2011-03-01T11:22:12Z host msgnum:1\""
tcpflood -m1 -M "\"41 <120> 2011-03-01T11:22:12Z host msgnum:1\""
tcpflood -m1 -M "\"2000000010 <120> 2011-03-01T11:22:12Z host msgnum:1\""
tcpflood -m1 -M "\"4000000000 <120> 2011-03-01T11:22:12Z host msgnum:1\""
tcpflood -m1 -M "\"0 <120> 2011-03-01T11:22:12Z host msgnum:1\""
shutdown_when_empty
wait_shutdown
echo '<120> 2011-03-01T11:22:12Z host msgnum:1
<120> 2011-03-01T11:22:12Z host msgnum:1
214000000000<120> 2011-03-01T11:22:12Z host msgnum:1
<120> 2011-03-01T11:22:12Z host msgnum:1
214000000000<120> 2011-03-01T11:22:12Z host msgnum:1
<120> 2011-03-01T11:22:12Z host msgnum:1
2000000010<120> 2011-03-01T11:22:12Z host msgnum:1
4000000000<120> 2011-03-01T11:22:12Z host msgnum:1
<120> 2011-03-01T11:22:12Z host msgnum:1' | cmp - $RSYSLOG_OUT_LOG
if [ ! $? -eq 0 ]; then
echo "invalid response generated, $RSYSLOG_OUT_LOG is:"
cat $RSYSLOG_OUT_LOG
error_exit 1
fi;
exit_test