From dcc721a95bef6f0d8e6d8775b8efe33e5aecd562 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 18:28:20 +0200 Subject: Adding upstream version 8.2402.0. Signed-off-by: Daniel Baumann --- tests/1.rstest | 26 + tests/2.rstest | 10 + tests/3.rstest | 21 + tests/CI/centos6-9.supp | 32 + tests/CI/centos7.supp | 9 + tests/CI/gcov.supp | 6 + tests/CI/ubuntu20.04.supp | 42 + tests/DevNull.cfgtest | 2 + tests/Makefile.am | 3148 ++++++++++++++ tests/Makefile.in | 4452 ++++++++++++++++++++ tests/NoExistFile.cfgtest | 2 + tests/README | 102 + tests/abort-uncleancfg-badcfg-check.sh | 13 + tests/abort-uncleancfg-badcfg-check_1.sh | 15 + tests/abort-uncleancfg-goodcfg-check.sh | 13 + tests/abort-uncleancfg-goodcfg.sh | 27 + tests/action-tx-errfile-maxsize.sh | 35 + tests/action-tx-errfile.sh | 40 + tests/action-tx-single-processing.sh | 38 + tests/allowed-sender-tcp-fail.sh | 26 + tests/allowed-sender-tcp-hostname-fail.sh | 31 + tests/allowed-sender-tcp-hostname-ok.sh | 23 + tests/allowed-sender-tcp-ok.sh | 22 + tests/array_lookup_table-vg.sh | 5 + tests/array_lookup_table.sh | 53 + tests/array_lookup_table_misuse-vg.sh | 45 + tests/arrayqueue.sh | 21 + tests/asynwr_deadlock.sh | 40 + tests/asynwr_deadlock2.sh | 85 + tests/asynwr_deadlock4.sh | 40 + tests/asynwr_deadlock_2.sh | 32 + tests/asynwr_dynfile_flushtxend-off.sh | 38 + tests/asynwr_simple.sh | 26 + tests/asynwr_simple_2.sh | 22 + tests/asynwr_small.sh | 38 + tests/asynwr_timeout.sh | 34 + tests/asynwr_timeout_2.sh | 37 + tests/asynwr_tinybuf.sh | 36 + tests/bad_qi/dbq.qi | 29 + tests/badqi.sh | 31 + tests/cee_diskqueue.sh | 23 + tests/cee_simple.sh | 23 + tests/cfg.sh | 140 + tests/cfg1.cfgtest | 3 + tests/cfg1.testin | 2 + tests/cfg2.cfgtest | 3 + tests/cfg2.testin | 1 + tests/cfg3.cfgtest | 5 + tests/cfg3.testin | 1 + tests/cfg4.cfgtest | 1 + tests/cfg4.testin | 31 + tests/check_relpEngineVersion.c | 66 + tests/chkseq.c | 249 ++ tests/clickhouse-basic-vg.sh | 3 + tests/clickhouse-basic.sh | 30 + tests/clickhouse-bulk-load-vg.sh | 3 + tests/clickhouse-bulk-load.sh | 30 + tests/clickhouse-bulk-vg.sh | 3 + tests/clickhouse-bulk.sh | 39 + tests/clickhouse-dflt-tpl.sh | 24 + tests/clickhouse-errorfile.sh | 32 + tests/clickhouse-limited-batch.sh | 31 + tests/clickhouse-load-vg.sh | 3 + tests/clickhouse-load.sh | 31 + tests/clickhouse-retry-error.sh | 27 + tests/clickhouse-select.sh | 28 + tests/clickhouse-start.sh | 31 + tests/clickhouse-stop.sh | 19 + tests/clickhouse-wrong-insert-syntax.sh | 30 + tests/clickhouse-wrong-quotation-marks.sh | 33 + tests/clickhouse-wrong-template-option.sh | 31 + tests/complex1.sh | 132 + tests/compresssp-stringtpl.sh | 26 + tests/compresssp.sh | 29 + tests/config_enabled-off.sh | 18 + tests/config_enabled-on.sh | 19 + tests/config_multiple_include.sh | 32 + tests/config_output-o-option.sh | 18 + tests/da-mainmsg-q.sh | 49 + tests/da-queue-persist.sh | 47 + tests/daqueue-dirty-shutdown.sh | 116 + tests/daqueue-invld-qi.sh | 51 + tests/daqueue-persist-drvr.sh | 54 + tests/daqueue-persist.sh | 19 + tests/diag.sh | 2946 +++++++++++++ tests/diagtalker.c | 165 + tests/dircreate_dflt.sh | 27 + tests/dircreate_off.sh | 28 + tests/discard-allmark-vg.sh | 35 + tests/discard-allmark.sh | 25 + tests/discard-rptdmsg-vg.sh | 4 + tests/discard-rptdmsg.sh | 20 + tests/discard.sh | 23 + tests/diskq-rfc5424.sh | 42 + tests/diskqueue-fail.sh | 35 + tests/diskqueue-fsync.sh | 35 + tests/diskqueue-full.sh | 32 + tests/diskqueue-multithread-es.sh | 52 + tests/diskqueue-non-unique-prefix.sh | 29 + tests/diskqueue.sh | 31 + tests/dnscache-TTL-0-vg.sh | 4 + tests/dnscache-TTL-0.sh | 21 + tests/dynfile_invalid2.sh | 42 + tests/dynfile_invld_async.sh | 42 + tests/dynfile_invld_sync.sh | 42 + tests/dynstats-json-vg.sh | 41 + tests/dynstats-json.sh | 40 + tests/dynstats-vg.sh | 45 + tests/dynstats.sh | 42 + tests/dynstats_ctr_reset.sh | 51 + tests/dynstats_nometric.sh | 44 + tests/dynstats_overflow-vg.sh | 102 + tests/dynstats_overflow.sh | 102 + tests/dynstats_prevent_premature_eviction-vg.sh | 58 + tests/dynstats_prevent_premature_eviction.sh | 53 + tests/dynstats_reset-vg.sh | 57 + tests/dynstats_reset.sh | 56 + tests/dynstats_reset_without_pstats_reset.sh | 53 + tests/elasticsearch-error-format-check.py | 137 + tests/elasticsearch-stop.sh | 7 + tests/empty-app-name.sh | 19 + tests/empty-hostname.sh | 29 + tests/empty-prop-comparison.sh | 25 + tests/empty-ruleset.sh | 34 + tests/err1.rstest | 7 + tests/es-basic-bulk-vg.sh | 3 + tests/es-basic-bulk.sh | 30 + tests/es-basic-errfile-empty.sh | 34 + tests/es-basic-errfile-popul.sh | 48 + tests/es-basic-es6.0.sh | 29 + tests/es-basic-es7.14.sh | 29 + tests/es-basic-ha-vg.sh | 29 + tests/es-basic-ha.sh | 34 + tests/es-basic-server.sh | 27 + tests/es-basic-vg.sh | 3 + tests/es-basic-vgthread.sh | 32 + tests/es-basic.sh | 73 + tests/es-bulk-errfile-empty.sh | 37 + tests/es-bulk-errfile-popul-def-format.sh | 52 + tests/es-bulk-errfile-popul-def-interleaved.sh | 55 + tests/es-bulk-errfile-popul-erronly-interleaved.sh | 56 + tests/es-bulk-errfile-popul-erronly.sh | 55 + tests/es-bulk-errfile-popul.sh | 45 + tests/es-bulk-retry.sh | 298 ++ tests/es-duplicated-ruleset-vg.sh | 6 + tests/es-duplicated-ruleset.sh | 44 + tests/es-execOnlyWhenPreviousSuspended.sh | 50 + tests/es-maxbytes-bulk.sh | 30 + tests/es-searchType-empty.sh | 35 + tests/es-writeoperation.sh | 118 + tests/es_response_get_msgnum.py | 8 + tests/exec_tpl-concurrency.sh | 34 + tests/execonlyonce.sh | 34 + tests/execonlywhenprevsuspended-nonsusp-queue.sh | 40 + tests/execonlywhenprevsuspended-nonsusp.sh | 36 + tests/execonlywhenprevsuspended-queue.sh | 36 + tests/execonlywhenprevsuspended.sh | 28 + tests/execonlywhenprevsuspended2.sh | 36 + tests/execonlywhenprevsuspended3.sh | 35 + tests/execonlywhenprevsuspended4.sh | 31 + tests/execonlywhenprevsuspended_multiwrkr.sh | 29 + tests/externalstate-failed-rcvr.sh | 31 + tests/fac_authpriv.sh | 22 + tests/fac_ftp.sh | 19 + tests/fac_invld1.sh | 21 + tests/fac_invld2.sh | 21 + tests/fac_invld3.sh | 21 + tests/fac_invld4_rfc5424.sh | 21 + tests/fac_local0-vg.sh | 4 + tests/fac_local0.sh | 22 + tests/fac_local7.sh | 21 + tests/fac_mail.sh | 20 + tests/fac_news.sh | 21 + tests/fac_ntp.sh | 19 + tests/fac_uucp.sh | 21 + tests/failover-async.sh | 29 + tests/failover-basic-vg.sh | 29 + tests/failover-basic.sh | 21 + tests/failover-double.sh | 20 + tests/failover-no-basic-vg.sh | 37 + tests/failover-no-basic.sh | 29 + tests/failover-no-rptd-vg.sh | 26 + tests/failover-no-rptd.sh | 29 + tests/failover-rptd-vg.sh | 31 + tests/failover-rptd.sh | 21 + tests/faketime_common.sh | 60 + tests/fieldtest-udp.sh | 29 + tests/fieldtest.sh | 29 + tests/func-substring-invld-startpos-vg.sh | 3 + tests/func-substring-invld-startpos.sh | 17 + tests/func-substring-large-endpos.sh | 17 + tests/func-substring-large-neg-endpos.sh | 17 + tests/func-substring-relative-endpos.sh | 17 + tests/glbl-internalmsg_severity-debug-not_shown.sh | 16 + tests/glbl-internalmsg_severity-debug-shown.sh | 17 + tests/glbl-internalmsg_severity-info-shown.sh | 17 + tests/glbl-invld-param.sh | 18 + tests/glbl-oversizeMsg-log-vg.sh | 37 + tests/glbl-oversizeMsg-log.sh | 37 + tests/glbl-oversizeMsg-split.sh | 56 + tests/glbl-oversizeMsg-truncate-imfile.sh | 47 + tests/glbl-oversizeMsg-truncate.sh | 46 + tests/glbl-ruleset-queue-defaults.sh | 21 + tests/glbl-umask.sh | 29 + tests/glbl-unloadmodules.sh | 27 + tests/glbl_setenv.sh | 26 + tests/glbl_setenv_2_vars.sh | 28 + tests/glbl_setenv_err.sh | 25 + tests/glbl_setenv_err_too_long.sh | 25 + tests/global_vars.sh | 34 + tests/gzipwr_flushInterval.sh | 28 + tests/gzipwr_flushOnTXEnd.sh | 32 + tests/gzipwr_hup-vg.sh | 4 + tests/gzipwr_hup.sh | 35 + tests/gzipwr_hup_multi_file.sh | 46 + tests/gzipwr_hup_single_file.sh | 40 + tests/gzipwr_large.sh | 35 + tests/gzipwr_large_dynfile.sh | 52 + tests/gzipwr_rscript.sh | 21 + tests/have_relpEngineSetTLSLibByName.c | 10 + tests/have_relpSrvSetOversizeMode.c | 10 + tests/have_relpSrvSetTlsConfigCmd.c | 10 + tests/hostname-with-slash-dflt-invld.sh | 28 + tests/hostname-with-slash-dflt-slash-valid.sh | 26 + tests/hostname-with-slash-pmrfc3164.sh | 25 + tests/hostname-with-slash-pmrfc5424.sh | 25 + tests/imbatchreport_delete_structdata.sh | 42 + tests/imbatchreport_delete_success.sh | 48 + tests/imbatchreport_delete_toolarge.sh | 48 + tests/imbatchreport_errmsg_delete_params.sh | 16 + tests/imbatchreport_errmsg_glob_dir_fake.sh | 16 + tests/imbatchreport_errmsg_glob_dir_not_dir.sh | 15 + tests/imbatchreport_errmsg_glob_not_regular.sh | 15 + tests/imbatchreport_errmsg_no_params-vg.sh | 4 + tests/imbatchreport_errmsg_no_params.sh | 17 + tests/imbatchreport_errmsg_not_supported1.sh | 16 + tests/imbatchreport_errmsg_not_supported2.sh | 16 + tests/imbatchreport_errmsg_not_supported3.sh | 16 + tests/imbatchreport_errmsg_regex.match.reject.sh | 16 + tests/imbatchreport_errmsg_regex.match.rename.sh | 16 + tests/imbatchreport_errmsg_regex.nomatch.sh | 16 + tests/imbatchreport_errmsg_rename_params.sh | 16 + tests/imbatchreport_rename_success.sh | 48 + tests/imbatchreport_rename_toolarge.sh | 48 + tests/imdocker-basic-vg.sh | 3 + tests/imdocker-basic.sh | 37 + tests/imdocker-long-logline-vg.sh | 6 + tests/imdocker-long-logline.sh | 43 + tests/imdocker-multi-line-vg.sh | 6 + tests/imdocker-multi-line.sh | 47 + tests/imdocker-new-logs-from-start-vg.sh | 3 + tests/imdocker-new-logs-from-start.sh | 53 + tests/imdtls-basic-timeout | 45 + tests/imdtls-basic-tlscommands.sh | 46 + tests/imdtls-basic-vg.sh | 9 + tests/imdtls-basic.sh | 37 + tests/imdtls-error-cert.sh | 28 + tests/imdtls-sessionbreak-vg.sh | 9 + tests/imdtls-sessionbreak.sh | 75 + tests/imfile-basic-2GB-file.sh | 48 + tests/imfile-basic-legacy.sh | 29 + tests/imfile-basic-vg.sh | 3 + tests/imfile-basic-vgthread.sh | 39 + tests/imfile-basic.sh | 26 + tests/imfile-discard-truncated-line.sh | 72 + tests/imfile-endmsg.regex-vg.sh | 111 + tests/imfile-endmsg.regex-with-example-vg.sh | 147 + tests/imfile-endmsg.regex-with-example.sh | 157 + tests/imfile-endmsg.regex.crio.rulebase | 15 + tests/imfile-endmsg.regex.json.rulebase | 9 + tests/imfile-endmsg.regex.sh | 110 + tests/imfile-endregex-save-lf-persist.sh | 59 + tests/imfile-endregex-save-lf.sh | 53 + tests/imfile-endregex-timeout-none-polling.sh | 59 + tests/imfile-endregex-timeout-none.sh | 54 + tests/imfile-endregex-timeout-polling.sh | 61 + ...mfile-endregex-timeout-with-shutdown-polling.sh | 64 + tests/imfile-endregex-timeout-with-shutdown.sh | 66 + tests/imfile-endregex-timeout.sh | 46 + tests/imfile-endregex-vg.sh | 73 + tests/imfile-endregex.sh | 86 + tests/imfile-error-not-repeated.sh | 51 + tests/imfile-escapelf.replacement-empty.sh | 30 + tests/imfile-escapelf.replacement.sh | 30 + tests/imfile-file-not-found-error.sh | 45 + tests/imfile-fileNotFoundError-parameter.sh | 26 + tests/imfile-freshStartTail1.sh | 34 + tests/imfile-freshStartTail2.sh | 29 + tests/imfile-freshStartTail3.sh | 33 + tests/imfile-growing-file-id.sh | 79 + tests/imfile-ignore-old-file-1.sh | 37 + tests/imfile-ignore-old-file-2.sh | 43 + tests/imfile-ignore-old-file-3.sh | 34 + tests/imfile-ignore-old-file-4.sh | 31 + tests/imfile-ignore-old-file-5.sh | 47 + tests/imfile-ignore-old-file-6.sh | 42 + tests/imfile-ignore-old-file-7.sh | 56 + tests/imfile-logrotate-async.sh | 108 + tests/imfile-logrotate-copytruncate.sh | 79 + tests/imfile-logrotate-multiple.sh | 85 + tests/imfile-logrotate-nocopytruncate.sh | 78 + tests/imfile-logrotate.sh | 77 + tests/imfile-old-state-file.sh | 87 + tests/imfile-persist-state-1.sh | 30 + tests/imfile-readmode0-vg.sh | 63 + tests/imfile-readmode2-polling.sh | 75 + tests/imfile-readmode2-vg.sh | 72 + ...ile-readmode2-with-persists-data-during-stop.sh | 102 + tests/imfile-readmode2-with-persists.sh | 97 + tests/imfile-readmode2.sh | 74 + tests/imfile-rename-while-stopped.sh | 70 + tests/imfile-rename.sh | 91 + tests/imfile-statefile-delete.sh | 44 + tests/imfile-statefile-directory.sh | 32 + tests/imfile-statefile-no-delete.sh | 36 + tests/imfile-statefile-no-file_id-TO-file_id.sh | 49 + tests/imfile-statefile-no-file_id.sh | 45 + tests/imfile-symlink-ext-tmp-dir-tree.sh | 80 + tests/imfile-symlink-multi.sh | 70 + tests/imfile-symlink.sh | 68 + tests/imfile-truncate-2GB-file.sh | 48 + tests/imfile-truncate-line.sh | 75 + tests/imfile-truncate-multiple.sh | 52 + tests/imfile-truncate.sh | 41 + tests/imfile-wildcards-dirs-multi.sh | 91 + tests/imfile-wildcards-dirs-multi2.sh | 91 + tests/imfile-wildcards-dirs-multi3.sh | 96 + tests/imfile-wildcards-dirs-multi4.sh | 95 + tests/imfile-wildcards-dirs-multi5-polling.sh | 74 + tests/imfile-wildcards-dirs-multi5.sh | 87 + tests/imfile-wildcards-dirs.sh | 70 + tests/imfile-wildcards-dirs2.sh | 91 + tests/imfile-wildcards.sh | 92 + tests/imhiredis-queue-lpop-vg.sh | 7 + tests/imhiredis-queue-lpop.sh | 52 + tests/imhiredis-queue-vg.sh | 7 + tests/imhiredis-queue.sh | 51 + tests/imhiredis-redis-restart-vg.sh | 7 + tests/imhiredis-redis-restart.sh | 69 + tests/imhiredis-redis-start-after-vg.sh | 7 + tests/imhiredis-redis-start-after.sh | 55 + tests/imhiredis-stream-consumerGroup-ack-vg.sh | 7 + tests/imhiredis-stream-consumerGroup-ack.sh | 67 + tests/imhiredis-stream-consumerGroup-noack-vg.sh | 7 + tests/imhiredis-stream-consumerGroup-noack.sh | 68 + tests/imhiredis-stream-consumerGroup-reclaim-vg.sh | 7 + tests/imhiredis-stream-consumerGroup-reclaim.sh | 83 + tests/imhiredis-stream-from-beginning-vg.sh | 7 + tests/imhiredis-stream-from-beginning.sh | 60 + tests/imhiredis-stream-vg.sh | 7 + tests/imhiredis-stream.sh | 60 + tests/imhiredis-subscribe-vg.sh | 7 + tests/imhiredis-subscribe.sh | 60 + tests/imhttp-getrequest-file-vg.sh | 4 + tests/imhttp-getrequest-file.sh | 18 + tests/imhttp-post-payload-basic-auth-vg.sh | 4 + tests/imhttp-post-payload-basic-auth.sh | 62 + tests/imhttp-post-payload-compress-vg.sh | 4 + tests/imhttp-post-payload-compress.sh | 30 + tests/imhttp-post-payload-large-vg.sh | 4 + tests/imhttp-post-payload-large.sh | 52 + tests/imhttp-post-payload-multi-lf-vg.sh | 4 + tests/imhttp-post-payload-multi-lf.sh | 29 + tests/imhttp-post-payload-multi-vg.sh | 4 + tests/imhttp-post-payload-multi.sh | 27 + tests/imhttp-post-payload-query-params-vg.sh | 4 + tests/imhttp-post-payload-query-params.sh | 48 + tests/imhttp-post-payload-vg.sh | 4 + tests/imhttp-post-payload.sh | 38 + tests/imjournal-basic-vg.sh | 3 + tests/imjournal-basic.sh | 47 + tests/imjournal-statefile-vg.sh | 3 + tests/imjournal-statefile.sh | 69 + tests/imkafka-backgrounded.sh | 61 + tests/imkafka-config-err-param.sh | 57 + tests/imkafka-config-err-ruleset.sh | 58 + tests/imkafka-hang-on-no-kafka.sh | 35 + tests/imkafka-hang-other-action-on-no-kafka.sh | 39 + tests/imkafka-vg.sh | 3 + tests/imkafka.sh | 57 + tests/imkafka_multi_group.sh | 112 + tests/imkafka_multi_single.sh | 151 + tests/imklog_permitnonkernelfacility_root.sh | 32 + tests/immark-inputname.sh | 18 + tests/immark-ruleset-custom-msg.sh | 22 + tests/immark-ruleset.sh | 22 + tests/immark.sh | 19 + tests/improg-multiline-test.py | 6 + tests/improg-simul.sh | 70 + tests/improg_errmsg_no_params-vg.sh | 4 + tests/improg_errmsg_no_params.sh | 17 + tests/improg_prog_confirm.sh | 27 + tests/improg_prog_confirm_killonclose.sh | 28 + tests/improg_prog_killonclose.sh | 25 + tests/improg_prog_simple-vg.sh | 4 + tests/improg_prog_simple.sh | 24 + tests/improg_simple_multi.sh | 23 + tests/impstats-hup.sh | 26 + tests/imptcp-NUL-rawmsg.sh | 27 + tests/imptcp-NUL.sh | 21 + tests/imptcp-basic-hup.sh | 22 + tests/imptcp-connection-msg-disabled.sh | 39 + tests/imptcp-connection-msg-received.sh | 40 + tests/imptcp-discard-truncated-msg.sh | 32 + tests/imptcp-maxFrameSize-parameter.sh | 28 + tests/imptcp-msg-truncation-on-number.sh | 38 + tests/imptcp-msg-truncation-on-number2.sh | 46 + tests/imptcp-octet-framing-too-long-vg.sh | 23 + tests/imptcp-oversize-message-display.sh | 43 + tests/imptcp_addtlframedelim.sh | 22 + tests/imptcp_conndrop-vg.sh | 6 + tests/imptcp_conndrop.sh | 30 + tests/imptcp_framing_regex-oversize.sh | 45 + tests/imptcp_framing_regex.sh | 39 + tests/imptcp_large.sh | 27 + tests/imptcp_maxsessions.sh | 47 + tests/imptcp_multi_line.sh | 27 + tests/imptcp_no_octet_counted.sh | 21 + tests/imptcp_nonProcessingPoller.sh | 25 + tests/imptcp_spframingfix.sh | 21 + tests/imptcp_veryLargeOctateCountedMessages.sh | 26 + tests/imrelp-basic-hup.sh | 21 + tests/imrelp-basic-oldstyle.sh | 19 + tests/imrelp-basic-vg.sh | 3 + tests/imrelp-basic.sh | 19 + tests/imrelp-bigmessage.sh | 79 + tests/imrelp-invld-tlslib.sh | 16 + tests/imrelp-long-msg.sh | 19 + tests/imrelp-manyconn-vg.sh | 9 + tests/imrelp-manyconn.sh | 21 + tests/imrelp-maxDataSize-error.sh | 31 + tests/imrelp-oversizeMode-accept.sh | 33 + tests/imrelp-oversizeMode-truncate.sh | 36 + tests/imrelp-sessionbreak-vg.sh | 74 + tests/imrelp-tls-cfgcmd.sh | 57 + tests/imrelp-tls-chainedcert.sh | 47 + tests/imrelp-tls-mixed-chainedcert.sh | 54 + tests/imrelp-tls-mixed-chainedcert2.sh | 54 + tests/imrelp-tls.sh | 36 + tests/imtcp-NUL-rawmsg.sh | 27 + tests/imtcp-NUL.sh | 21 + tests/imtcp-basic-hup.sh | 22 + tests/imtcp-basic.sh | 20 + tests/imtcp-bigmessage-octetcounting.sh | 65 + tests/imtcp-bigmessage-octetstuffing.sh | 65 + tests/imtcp-connection-msg-recieved.sh | 24 + tests/imtcp-discard-truncated-msg.sh | 26 + tests/imtcp-drvr-in-input-basic.sh | 28 + tests/imtcp-listen-port-file-2.sh | 38 + tests/imtcp-maxFrameSize.sh | 27 + tests/imtcp-msg-truncation-on-number.sh | 37 + tests/imtcp-msg-truncation-on-number2.sh | 44 + tests/imtcp-multi-drvr-basic-parallel.sh | 38 + tests/imtcp-multi-drvr-basic-ptcp_gtls_ossl.sh | 45 + tests/imtcp-multi-drvr-basic.sh | 34 + tests/imtcp-multiport.sh | 29 + tests/imtcp-octet-framing-too-long-vg.sh | 23 + tests/imtcp-tls-basic-verifydepth.sh | 30 + tests/imtcp-tls-basic-vg.sh | 3 + tests/imtcp-tls-basic.sh | 32 + tests/imtcp-tls-gtls-x509fingerprint-invld.sh | 31 + tests/imtcp-tls-gtls-x509fingerprint.sh | 34 + tests/imtcp-tls-gtls-x509name-invld.sh | 28 + tests/imtcp-tls-gtls-x509name-legacy.sh | 35 + tests/imtcp-tls-gtls-x509name.sh | 32 + tests/imtcp-tls-input-2certs.sh | 36 + tests/imtcp-tls-input-basic.sh | 28 + tests/imtcp-tls-no-lstn-startup.sh | 26 + tests/imtcp-tls-ossl-basic-brokenhandshake-vg.sh | 40 + tests/imtcp-tls-ossl-basic-tlscommands.sh | 53 + tests/imtcp-tls-ossl-basic-verifydepth.sh | 30 + tests/imtcp-tls-ossl-basic-vg.sh | 9 + tests/imtcp-tls-ossl-basic.sh | 33 + tests/imtcp-tls-ossl-error-ca.sh | 23 + tests/imtcp-tls-ossl-error-cert.sh | 24 + tests/imtcp-tls-ossl-error-key.sh | 24 + tests/imtcp-tls-ossl-error-key2.sh | 23 + tests/imtcp-tls-ossl-input-2certs.sh | 36 + tests/imtcp-tls-ossl-input-basic.sh | 33 + tests/imtcp-tls-ossl-invalid-verifydepth.sh | 20 + tests/imtcp-tls-ossl-x509fingerprint.sh | 34 + tests/imtcp-tls-ossl-x509name.sh | 34 + tests/imtcp-tls-ossl-x509valid.sh | 33 + tests/imtcp_addtlframedelim.sh | 21 + tests/imtcp_addtlframedelim_on_input.sh | 21 + tests/imtcp_conndrop.sh | 30 + tests/imtcp_conndrop_tls-vg.sh | 6 + tests/imtcp_conndrop_tls.sh | 34 + tests/imtcp_incomplete_frame_at_end.sh | 27 + tests/imtcp_no_octet_counted.sh | 21 + tests/imtcp_spframingfix.sh | 21 + tests/imtuxedoulog_data.sh | 40 + tests/imtuxedoulog_errmsg_no_params-vg.sh | 4 + tests/imtuxedoulog_errmsg_no_params.sh | 17 + tests/imudp_thread_hang.sh | 20 + tests/imuxsock_ccmiddle.sh | 28 + tests/imuxsock_ccmiddle_root.sh | 32 + tests/imuxsock_ccmiddle_syssock.sh | 35 + tests/imuxsock_hostname.sh | 32 + tests/imuxsock_legacy.sh | 23 + tests/imuxsock_logger.sh | 20 + tests/imuxsock_logger_err.sh | 29 + tests/imuxsock_logger_parserchain.sh | 26 + tests/imuxsock_logger_ratelimit.sh | 47 + tests/imuxsock_logger_root.sh | 29 + tests/imuxsock_logger_ruleset.sh | 28 + tests/imuxsock_logger_ruleset_ratelimit.sh | 35 + tests/imuxsock_logger_syssock.sh | 24 + tests/imuxsock_traillf.sh | 25 + tests/imuxsock_traillf_root.sh | 35 + tests/imuxsock_traillf_syssock.sh | 27 + tests/incltest.sh | 12 + tests/incltest_dir.sh | 24 + tests/incltest_dir_empty_wildcard.sh | 17 + tests/incltest_dir_wildcard.sh | 12 + tests/include-obj-in-if-vg.sh | 19 + tests/include-obj-outside-control-flow-vg.sh | 23 + tests/include-obj-text-from-file-noexist.sh | 15 + tests/include-obj-text-from-file.sh | 18 + tests/include-obj-text-vg.sh | 21 + tests/inputfilegen.c | 234 + tests/inputname-imtcp.sh | 32 + tests/internal-errmsg-memleak-vg.sh | 37 + tests/invalid_nested_include.sh | 28 + tests/journal_print.c | 68 + tests/json-nonstring.sh | 36 + tests/json-onempty-at-end.sh | 23 + tests/json_array_looping-vg.sh | 61 + tests/json_array_looping.sh | 52 + tests/json_array_subscripting.sh | 28 + tests/json_nonarray_looping.sh | 42 + tests/json_null-vg.sh | 38 + tests/json_null.sh | 31 + tests/json_null_array-vg.sh | 35 + tests/json_null_array.sh | 28 + tests/json_object_looping-vg.sh | 71 + tests/json_object_looping.sh | 63 + tests/json_object_suicide_in_loop-vg.sh | 53 + tests/json_var_case.sh | 32 + tests/json_var_cmpr.sh | 38 + tests/kafka-selftest.sh | 60 + ..._dereference_on_uninitialized_variable_space.sh | 31 + tests/killrsyslog.sh | 16 + tests/known_issues.supp | 62 + tests/libdbi-asyn.sh | 30 + tests/libdbi-basic-vg.sh | 6 + tests/libdbi-basic.sh | 23 + tests/libmaxmindb.supp | 57 + tests/linkedlistqueue.sh | 22 + tests/linux_localtime_r.supp | 126 + tests/loadbalance.sh | 44 + tests/localvar-concurrency.sh | 39 + tests/lookup_table-hup-backgrounded.sh | 51 + tests/lookup_table-vg.sh | 5 + tests/lookup_table.sh | 49 + tests/lookup_table_bad_configs-vg.sh | 5 + tests/lookup_table_bad_configs.sh | 160 + tests/lookup_table_no_hup_reload-vg.sh | 5 + tests/lookup_table_no_hup_reload.sh | 34 + tests/lookup_table_rscript_reload-vg.sh | 5 + tests/lookup_table_rscript_reload.sh | 53 + .../lookup_table_rscript_reload_without_stub-vg.sh | 5 + tests/lookup_table_rscript_reload_without_stub.sh | 51 + tests/mainq_actq_DA.sh | 24 + tests/mangle_qi.c | 113 + tests/mangle_qi_usage_output.sh | 14 + tests/manyptcp.sh | 22 + tests/manytcp-too-few-tls-vg.sh | 42 + tests/manytcp.sh | 27 + tests/miniamqpsrvr.c | 658 +++ tests/minitcpsrv_usage_output.sh | 14 + tests/minitcpsrvr.c | 131 + tests/mmanon_both_modes_compatible.sh | 31 + tests/mmanon_ipv6_port.sh | 46 + tests/mmanon_random_128_ipv6.sh | 65 + tests/mmanon_random_32_ipv4.sh | 65 + tests/mmanon_random_cons_128_ipembedded.sh | 82 + tests/mmanon_random_cons_128_ipv6.sh | 82 + tests/mmanon_random_cons_32_ipv4.sh | 92 + tests/mmanon_recognize_ipembedded.sh | 63 + tests/mmanon_recognize_ipv4.sh | 79 + tests/mmanon_recognize_ipv6.sh | 55 + tests/mmanon_simple_12_ipv4.sh | 44 + tests/mmanon_simple_33_ipv4.sh | 84 + tests/mmanon_simple_8_ipv4.sh | 31 + tests/mmanon_simple_mallformed_ipv4.sh | 37 + tests/mmanon_with_debug.sh | 82 + tests/mmanon_zero_128_ipv6.sh | 46 + tests/mmanon_zero_12_ipv4.sh | 31 + tests/mmanon_zero_33_ipv4.sh | 42 + tests/mmanon_zero_50_ipv6.sh | 38 + tests/mmanon_zero_64_ipv6.sh | 37 + tests/mmanon_zero_8_ipv4.sh | 31 + tests/mmanon_zero_96_ipv6.sh | 38 + tests/mmdarwin_errmsg_no_params.sh | 16 + tests/mmdarwin_errmsg_no_sock-vg.sh | 4 + tests/mmdarwin_errmsg_no_sock.sh | 16 + tests/mmdb-container-empty.sh | 23 + tests/mmdb-container.sh | 23 + tests/mmdb-multilevel-vg.sh | 30 + tests/mmdb-space.sh | 29 + tests/mmdb-vg.sh | 27 + tests/mmdb.rb | 3 + tests/mmdb.sh | 29 + tests/mmexternal-InvldProg-vg.sh | 33 + tests/mmexternal-SegFault-empty-jroot-vg.sh | 23 + tests/mmexternal-SegFault.sh | 25 + tests/mmjsonparse-invalid-containerName.sh | 32 + tests/mmjsonparse-w-o-cookie-multi-spaces.sh | 25 + tests/mmjsonparse-w-o-cookie.sh | 25 + tests/mmjsonparse_cim.sh | 26 + tests/mmjsonparse_cim2.sh | 25 + tests/mmjsonparse_extra_data-vg.sh | 31 + tests/mmjsonparse_localvar.sh | 25 + tests/mmjsonparse_simple.sh | 26 + tests/mmkubernetes-basic-vg.sh | 187 + tests/mmkubernetes-basic.out.json | 376 ++ tests/mmkubernetes-basic.sh | 187 + tests/mmkubernetes-cache-expire-vg.sh | 12 + tests/mmkubernetes-cache-expire.out.expected | 109 + tests/mmkubernetes-cache-expire.sh | 167 + tests/mmkubernetes.supp | 16 + tests/mmkubernetes_test_server.py | 165 + tests/mmnormalize_parsesuccess-vg.sh | 4 + tests/mmnormalize_parsesuccess.sh | 27 + tests/mmnormalize_processing_test1.sh | 70 + tests/mmnormalize_processing_test2.sh | 70 + tests/mmnormalize_processing_test3.sh | 70 + tests/mmnormalize_processing_test4.sh | 39 + tests/mmnormalize_regex.sh | 28 + tests/mmnormalize_regex_defaulted.sh | 28 + tests/mmnormalize_regex_disabled.sh | 28 + tests/mmnormalize_rule_from_array.sh | 33 + tests/mmnormalize_rule_from_string.sh | 33 + tests/mmnormalize_tokenized.sh | 46 + tests/mmnormalize_variable.sh | 31 + tests/mmpstrucdata-case.sh | 26 + tests/mmpstrucdata-escaping.sh | 21 + tests/mmpstrucdata-invalid-vg.sh | 33 + tests/mmpstrucdata-vg.sh | 34 + tests/mmpstrucdata.sh | 23 + tests/mmrm1stspace-basic.sh | 32 + tests/mmtaghostname_server.sh | 28 + tests/mmtaghostname_tag.sh | 27 + tests/mmutf8fix_no_error.sh | 96 + tests/msg-deadlock-headerless-noappname.sh | 20 + tests/msgdup.sh | 32 + tests/msgdup_props.sh | 64 + tests/msgvar-concurrency-array-event.tags.sh | 34 + tests/msgvar-concurrency-array.sh | 34 + tests/msgvar-concurrency.sh | 35 + tests/msleep.c | 58 + tests/msleep_usage_output.sh | 14 + tests/multiple_lookup_tables-vg.sh | 5 + tests/multiple_lookup_tables.sh | 46 + tests/mysql-actq-mt-withpause-vg.sh | 4 + tests/mysql-actq-mt-withpause.sh | 37 + tests/mysql-actq-mt.sh | 30 + tests/mysql-asyn-vg.sh | 4 + tests/mysql-asyn.sh | 21 + tests/mysql-basic-cnf6.sh | 21 + tests/mysql-basic-vg.sh | 4 + tests/mysql-basic.sh | 23 + tests/mysqld-start.sh | 28 + tests/mysqld-stop.sh | 14 + tests/nested-call-shutdown.sh | 35 + tests/no-dynstats-json.sh | 24 + tests/no-dynstats.sh | 24 + tests/no-parser-errmsg.sh | 25 + tests/no-parser-vg.sh | 26 + tests/now-unixtimestamp.sh | 32 + tests/now-utc-casecmp.sh | 36 + tests/now-utc-ymd.sh | 29 + tests/now-utc.sh | 30 + tests/now_family_utc.sh | 32 + tests/omamqp1-basic-vg.sh | 3 + tests/omamqp1-basic.sh | 70 + tests/omamqp1-common.sh | 50 + tests/omazureeventhubs-basic-vg.sh | 6 + tests/omazureeventhubs-basic.sh | 123 + tests/omazureeventhubs-interrupt-vg.sh | 5 + tests/omazureeventhubs-interrupt.sh | 165 + tests/omazureeventhubs-list.sh | 137 + tests/omazureeventhubs-stress.sh | 137 + tests/omfile-module-params.sh | 19 + tests/omfile-null-filename.sh | 22 + tests/omfile-outchannel-many.sh | 54 + tests/omfile-outchannel.sh | 23 + tests/omfile-read-only-errmsg.sh | 33 + tests/omfile-read-only.sh | 35 + tests/omfile-sizelimitcmd-many.sh | 36 + tests/omfile-whitespace-filename.sh | 21 + tests/omfile_both_files_set.sh | 45 + tests/omfile_hup-vg.sh | 4 + tests/omfile_hup.sh | 29 + tests/omfwd-errfile-maxsize-filled.sh | 18 + tests/omfwd-errfile-maxsize.sh | 17 + tests/omfwd-keepalive.sh | 36 + tests/omfwd-tls-invalid-permitExpiredCerts.sh | 13 + tests/omfwd_fast_imuxsock.sh | 94 + tests/omfwd_impstats-tcp.sh | 41 + tests/omfwd_impstats-udp.sh | 35 + tests/omhttp-auth-vg.sh | 3 + tests/omhttp-auth.sh | 44 + tests/omhttp-basic-vg.sh | 3 + tests/omhttp-basic.sh | 42 + tests/omhttp-batch-dynrestpath.sh | 49 + tests/omhttp-batch-fail-with-400.sh | 51 + tests/omhttp-batch-jsonarray-compress-vg.sh | 3 + tests/omhttp-batch-jsonarray-compress.sh | 47 + tests/omhttp-batch-jsonarray-retry-vg.sh | 3 + tests/omhttp-batch-jsonarray-retry.sh | 77 + tests/omhttp-batch-jsonarray-vg.sh | 3 + tests/omhttp-batch-jsonarray.sh | 45 + tests/omhttp-batch-kafkarest-retry-vg.sh | 3 + tests/omhttp-batch-kafkarest-retry.sh | 77 + tests/omhttp-batch-kafkarest.sh | 46 + tests/omhttp-batch-lokirest-retry-vg.sh | 3 + tests/omhttp-batch-lokirest-retry.sh | 77 + tests/omhttp-batch-lokirest-vg.sh | 5 + tests/omhttp-batch-lokirest.sh | 46 + tests/omhttp-batch-newline.sh | 46 + tests/omhttp-dynrestpath.sh | 46 + tests/omhttp-httpheaderkey.sh | 43 + tests/omhttp-multiplehttpheaders.sh | 45 + tests/omhttp-retry-vg.sh | 3 + tests/omhttp-retry.sh | 46 + tests/omhttp_server.py | 135 + tests/omjournal-abort-no-template.sh | 20 + tests/omjournal-abort-template.sh | 21 + tests/omjournal-basic-no-template.sh | 26 + tests/omjournal-basic-template.sh | 32 + tests/omkafka-vg.sh | 3 + tests/omkafka.sh | 129 + tests/omkafkadynakey.sh | 154 + tests/ommail_errmsg_no_params.sh | 20 + tests/omod-if-array-udp.sh | 29 + tests/omod-if-array.sh | 29 + tests/omprog-close-unresponsive-noterm.sh | 53 + tests/omprog-close-unresponsive-vg.sh | 38 + tests/omprog-close-unresponsive.sh | 55 + tests/omprog-defaults-vg.sh | 29 + tests/omprog-defaults.sh | 55 + tests/omprog-feedback-mt.sh | 53 + tests/omprog-feedback-timeout.sh | 63 + tests/omprog-feedback-vg.sh | 32 + tests/omprog-feedback.sh | 67 + tests/omprog-if-error.sh | 41 + tests/omprog-output-capture-mt.sh | 98 + tests/omprog-output-capture-vg.sh | 5 + tests/omprog-output-capture.sh | 57 + tests/omprog-restart-terminated-outfile.sh | 135 + tests/omprog-restart-terminated-vg.sh | 4 + tests/omprog-restart-terminated.sh | 155 + tests/omprog-single-instance-outfile.sh | 71 + tests/omprog-single-instance-vg.sh | 4 + tests/omprog-single-instance.sh | 63 + tests/omprog-transactions-failed-commits.sh | 158 + tests/omprog-transactions-failed-messages.sh | 159 + tests/omprog-transactions-vg.sh | 37 + tests/omprog-transactions.sh | 140 + tests/omrabbitmq_data_1server-vg.sh | 4 + tests/omrabbitmq_data_1server.sh | 48 + tests/omrabbitmq_data_2servers.sh | 50 + tests/omrabbitmq_error_server0.sh | 42 + tests/omrabbitmq_error_server1.sh | 42 + tests/omrabbitmq_error_server2.sh | 42 + tests/omrabbitmq_error_server3.sh | 41 + tests/omrabbitmq_json.sh | 45 + tests/omrabbitmq_no_params.sh | 16 + tests/omrabbitmq_params_invalid0.sh | 16 + tests/omrabbitmq_params_invalid1.sh | 16 + tests/omrabbitmq_params_invalid2.sh | 16 + tests/omrabbitmq_params_invalid3.sh | 16 + tests/omrabbitmq_params_missing0.sh | 16 + tests/omrabbitmq_params_missing1.sh | 16 + tests/omrabbitmq_params_missing2.sh | 16 + tests/omrabbitmq_raw.sh | 40 + tests/omrelp-invld-tlslib.sh | 15 + tests/omrelp_dflt_port.c | 9 + tests/omrelp_errmsg_no_connect.sh | 17 + tests/omrelp_wrong_authmode.sh | 21 + tests/omruleset-queue.sh | 45 + tests/omruleset.sh | 34 + tests/omsnmp_errmsg_no_params.sh | 20 + tests/omstdout-basic.sh | 27 + tests/omtcl.sh | 19 + tests/omtcl.tcl | 9 + tests/omudpspoof_errmsg_no_params.sh | 16 + tests/omusrmsg-errmsg-no-params.sh | 14 + tests/omusrmsg-noabort-vg.sh | 4 + tests/omusrmsg-noabort.sh | 23 + tests/operatingstate-basic.sh | 19 + tests/operatingstate-empty.sh | 22 + tests/operatingstate-unclean.sh | 25 + tests/ourtail.c | 46 + tests/override_getaddrinfo.c | 28 + tests/override_gethostname.c | 22 + tests/override_gethostname_nonfqdn.c | 14 + tests/parsertest-parse-3164-buggyday-udp.sh | 32 + tests/parsertest-parse-3164-buggyday.sh | 32 + tests/parsertest-parse-nodate-udp.sh | 28 + tests/parsertest-parse-nodate.sh | 27 + tests/parsertest-parse1-udp.sh | 83 + tests/parsertest-parse1.sh | 82 + tests/parsertest-parse2-udp.sh | 31 + tests/parsertest-parse2.sh | 31 + tests/parsertest-parse3-udp.sh | 32 + tests/parsertest-parse3.sh | 32 + tests/parsertest-parse_8bit_escape-udp.sh | 31 + tests/parsertest-parse_8bit_escape.sh | 31 + tests/parsertest-parse_invld_regex-udp.sh | 30 + tests/parsertest-parse_invld_regex.sh | 30 + tests/parsertest-snare_ccoff_udp.sh | 28 + tests/parsertest-snare_ccoff_udp2.sh | 32 + tests/perctile-simple-vg.sh | 3 + tests/perctile-simple.sh | 62 + tests/pgsql-actq-mt-withpause-vg.sh | 40 + tests/pgsql-actq-mt-withpause.sh | 39 + tests/pgsql-basic-cnf6-vg.sh | 27 + tests/pgsql-basic-cnf6.sh | 28 + tests/pgsql-basic-threads-cnf6.sh | 30 + tests/pgsql-basic-vg.sh | 25 + tests/pgsql-basic.sh | 24 + tests/pgsql-template-cnf6-vg.sh | 38 + tests/pgsql-template-cnf6.sh | 37 + tests/pgsql-template-threads-cnf6.sh | 36 + tests/pgsql-template-vg.sh | 30 + tests/pgsql-template.sh | 32 + tests/pipe_noreader.sh | 36 + tests/pipeaction.sh | 46 + tests/pmdb2diag_parse.sh | 65 + tests/pmlastmsg-udp.sh | 44 + tests/pmlastmsg.sh | 44 + tests/pmnormalize-basic-vg.sh | 4 + tests/pmnormalize-basic.sh | 29 + tests/pmnormalize-invld-rulebase-vg.sh | 4 + tests/pmnormalize-invld-rulebase.sh | 15 + tests/pmnormalize-neither_rule_rulebase-vg.sh | 4 + tests/pmnormalize-neither_rule_rulebase.sh | 15 + tests/pmnormalize-rule-vg.sh | 4 + tests/pmnormalize-rule.sh | 29 + tests/pmnormalize-rule_and_rulebase-vg.sh | 4 + tests/pmnormalize-rule_and_rulebase.sh | 15 + tests/pmnormalize-rule_invld-data-vg.sh | 4 + tests/pmnormalize-rule_invld-data.sh | 28 + tests/pmnull-basic.sh | 26 + tests/pmnull-withparams.sh | 26 + tests/pmrfc3164-AtSignsInHostname.sh | 28 + tests/pmrfc3164-AtSignsInHostname_off.sh | 30 + tests/pmrfc3164-defaultTag.sh | 29 + tests/pmrfc3164-json.sh | 32 + tests/pmrfc3164-msgFirstSpace.sh | 32 + tests/pmrfc3164-tagEndingByColon.sh | 32 + tests/pmsnare-ccbackslash-udp.sh | 38 + tests/pmsnare-ccbackslash.sh | 39 + tests/pmsnare-cccstyle-udp.sh | 41 + tests/pmsnare-cccstyle.sh | 43 + tests/pmsnare-ccdefault-udp.sh | 42 + tests/pmsnare-ccdefault.sh | 42 + tests/pmsnare-ccoff-udp.sh | 36 + tests/pmsnare-ccoff.sh | 36 + tests/pmsnare-default-udp.sh | 45 + tests/pmsnare-default.sh | 45 + tests/pmsnare-modoverride-udp.sh | 47 + tests/pmsnare-modoverride.sh | 48 + tests/privdrop_common.sh | 110 + tests/privdropabortonidfail.sh | 41 + tests/privdropabortonidfaillegacy.sh | 38 + tests/privdropgroup.sh | 28 + tests/privdropgroupid.sh | 22 + tests/privdropuser.sh | 21 + tests/privdropuserid.sh | 21 + tests/prop-all-json-concurrency.sh | 34 + tests/prop-jsonmesg-vg.sh | 23 + tests/prop-programname-with-slashes.sh | 27 + tests/prop-programname.sh | 20 + tests/proprepltest-nolimittag-udp.sh | 34 + tests/proprepltest-nolimittag.sh | 34 + tests/proprepltest-rfctag-udp.sh | 34 + tests/proprepltest-rfctag.sh | 34 + tests/queue-direct-with-no-params.sh | 12 + tests/queue-direct-with-params-given.sh | 12 + tests/queue-encryption-da.sh | 34 + tests/queue-encryption-disk.sh | 34 + tests/queue-encryption-disk_keyfile-vg.sh | 37 + tests/queue-encryption-disk_keyfile.sh | 35 + tests/queue-encryption-disk_keyprog.sh | 39 + tests/queue-minbatch-queuefull.sh | 22 + tests/queue-minbatch.sh | 42 + tests/queue-persist-drvr.sh | 54 + tests/queue-persist.sh | 13 + tests/queue_warnmsg-oversize.sh | 15 + tests/random.sh | 30 + tests/randomgen.c | 130 + tests/rawmsg-after-pri.sh | 31 + tests/rcvr_fail_restore.sh | 168 + tests/relp_tls_certificate_not_found.sh | 30 + tests/rfc5424parser-sp_at_msg_start.sh | 25 + tests/rfc5424parser.sh | 24 + tests/rs-cnum.sh | 26 + tests/rs-int2hex.sh | 27 + tests/rs-substring.sh | 26 + tests/rs_optimizer_pri.sh | 28 + tests/rscript-config_enable-off-vg.sh | 22 + tests/rscript-config_enable-on.sh | 24 + tests/rscript_backticks-vg.sh | 17 + tests/rscript_backticks_empty_envvar-vg.sh | 16 + tests/rscript_bare_var_root-empty.sh | 31 + tests/rscript_bare_var_root.sh | 32 + tests/rscript_compare-common.sh | 53 + tests/rscript_compare_num-num-vg.sh | 5 + tests/rscript_compare_num-num.sh | 4 + tests/rscript_compare_num-numstr-vg.sh | 5 + tests/rscript_compare_num-numstr.sh | 4 + tests/rscript_compare_num-str-vg.sh | 5 + tests/rscript_compare_num-str.sh | 4 + tests/rscript_compare_numstr-num-vg.sh | 5 + tests/rscript_compare_numstr-num.sh | 4 + tests/rscript_compare_numstr-numstr-vg.sh | 5 + tests/rscript_compare_numstr-numstr.sh | 4 + tests/rscript_compare_numstr-str-vg.sh | 5 + tests/rscript_compare_numstr-str.sh | 4 + tests/rscript_compare_str-num-vg.sh | 5 + tests/rscript_compare_str-num.sh | 4 + tests/rscript_compare_str-numstr-vg.sh | 5 + tests/rscript_compare_str-numstr.sh | 4 + tests/rscript_compare_str-str-vg.sh | 5 + tests/rscript_compare_str-str.sh | 4 + tests/rscript_contains.sh | 17 + tests/rscript_eq.sh | 29 + tests/rscript_eq_var.sh | 72 + tests/rscript_exists-not1.sh | 22 + tests/rscript_exists-not2.sh | 22 + tests/rscript_exists-not3.sh | 22 + tests/rscript_exists-not4.sh | 22 + tests/rscript_exists-yes.sh | 22 + tests/rscript_exists-yes2.sh | 22 + tests/rscript_field-vg.sh | 34 + tests/rscript_field.sh | 26 + tests/rscript_format_time.sh | 45 + tests/rscript_ge.sh | 28 + tests/rscript_ge_var.sh | 75 + tests/rscript_get_property-vg.sh | 4 + tests/rscript_get_property.sh | 70 + tests/rscript_gt.sh | 27 + tests/rscript_gt_var.sh | 69 + tests/rscript_hash32-vg.sh | 28 + tests/rscript_hash32.sh | 27 + tests/rscript_hash64-vg.sh | 28 + tests/rscript_hash64.sh | 27 + tests/rscript_http_request-vg.sh | 4 + tests/rscript_http_request.sh | 47 + tests/rscript_int2Hex.sh | 27 + tests/rscript_ipv42num.sh | 51 + tests/rscript_is_time.sh | 81 + tests/rscript_le.sh | 27 + tests/rscript_le_var.sh | 75 + tests/rscript_lt.sh | 27 + tests/rscript_lt_var.sh | 69 + tests/rscript_ne.sh | 33 + tests/rscript_ne_var.sh | 75 + tests/rscript_num2ipv4.sh | 42 + tests/rscript_number_comparison_LE-vg.sh | 3 + tests/rscript_number_comparison_LE.sh | 24 + tests/rscript_number_comparison_LT.sh | 24 + tests/rscript_optimizer1.sh | 27 + tests/rscript_parse_json-vg.sh | 25 + tests/rscript_parse_json.sh | 24 + tests/rscript_parse_time.sh | 122 + tests/rscript_parse_time_get-ts.py | 152 + tests/rscript_previous_action_suspended.sh | 27 + tests/rscript_prifilt.sh | 25 + tests/rscript_privdropgroup.sh | 21 + tests/rscript_privdropgroupid.sh | 21 + tests/rscript_privdropuser.sh | 21 + tests/rscript_privdropuserid.sh | 21 + tests/rscript_random.sh | 25 + tests/rscript_re_extract.sh | 25 + tests/rscript_re_extract_i.sh | 21 + tests/rscript_re_match-dbl_quotes.sh | 16 + tests/rscript_re_match.sh | 21 + tests/rscript_re_match_i.sh | 21 + tests/rscript_replace.sh | 29 + tests/rscript_replace_complex.sh | 31 + tests/rscript_ruleset_call.sh | 37 + tests/rscript_ruleset_call_indirect-basic.sh | 23 + tests/rscript_ruleset_call_indirect-invld.sh | 32 + tests/rscript_ruleset_call_indirect-var.sh | 25 + tests/rscript_script_error.sh | 30 + tests/rscript_set_memleak-vg.sh | 34 + tests/rscript_set_modify.sh | 26 + tests/rscript_set_unset_invalid_var.sh | 41 + tests/rscript_stop.sh | 28 + tests/rscript_stop2.sh | 33 + tests/rscript_str2num_negative.sh | 25 + tests/rscript_substring.sh | 32 + tests/rscript_trim-vg.sh | 89 + tests/rscript_trim.sh | 88 + tests/rscript_unaffected_reset.sh | 27 + tests/rscript_unflatten_arg1_unsuitable-vg.sh | 3 + tests/rscript_unflatten_arg1_unsuitable.sh | 30 + tests/rscript_unflatten_arg2_invalid-vg.sh | 3 + tests/rscript_unflatten_arg2_invalid.sh | 31 + tests/rscript_unflatten_conflict1-vg.sh | 3 + tests/rscript_unflatten_conflict1.sh | 43 + tests/rscript_unflatten_conflict2-vg.sh | 3 + tests/rscript_unflatten_conflict2.sh | 44 + tests/rscript_unflatten_conflict3-vg.sh | 3 + tests/rscript_unflatten_conflict3.sh | 43 + tests/rscript_unflatten_key_truncated-vg.sh | 3 + tests/rscript_unflatten_key_truncated.sh | 42 + tests/rscript_unflatten_non_object-vg.sh | 3 + tests/rscript_unflatten_non_object.sh | 37 + tests/rscript_unflatten_object-vg.sh | 3 + tests/rscript_unflatten_object.sh | 39 + tests/rscript_unflatten_object_exclamation-vg.sh | 3 + tests/rscript_unflatten_object_exclamation.sh | 34 + tests/rscript_wrap2.sh | 25 + tests/rscript_wrap3.sh | 25 + tests/rsf_getenv.sh | 23 + tests/ruleset-direct-queue.sh | 27 + tests/rulesetmultiqueue-v6.sh | 62 + tests/rulesetmultiqueue.sh | 77 + tests/set-envvars.in | 1 + tests/smtradfile-vg.sh | 4 + tests/smtradfile.sh | 14 + tests/sndrcv.sh | 49 + tests/sndrcv_drvr.sh | 2 + tests/sndrcv_drvr_noexit.sh | 49 + tests/sndrcv_dtls_anon_ciphers.sh | 67 + tests/sndrcv_dtls_certvalid-vg.sh | 9 + tests/sndrcv_dtls_certvalid.sh | 91 + tests/sndrcv_dtls_certvalid_ciphers.sh | 74 + tests/sndrcv_dtls_certvalid_missing.sh | 82 + tests/sndrcv_dtls_certvalid_permitted.sh | 94 + tests/sndrcv_failover.sh | 67 + tests/sndrcv_gzip.sh | 44 + tests/sndrcv_kafka.sh | 125 + tests/sndrcv_kafka_multi_topics.sh | 171 + tests/sndrcv_omsnmpv1_udp.sh | 46 + tests/sndrcv_omsnmpv1_udp_dynsource.sh | 55 + tests/sndrcv_omsnmpv1_udp_invalidoid.sh | 46 + tests/sndrcv_omudpspoof-bigmsg.sh | 83 + tests/sndrcv_omudpspoof.sh | 65 + tests/sndrcv_omudpspoof_nonstdpt.sh | 66 + tests/sndrcv_ossl_cert_chain.sh | 76 + tests/sndrcv_relp-vg-rcvr.sh | 59 + tests/sndrcv_relp-vg-sender.sh | 60 + tests/sndrcv_relp.sh | 43 + tests/sndrcv_relp_dflt_pt.sh | 54 + tests/sndrcv_relp_rebind.sh | 48 + tests/sndrcv_relp_tls-cfgcmd.sh | 70 + tests/sndrcv_relp_tls.sh | 45 + tests/sndrcv_relp_tls_certvalid.sh | 65 + tests/sndrcv_relp_tls_chainedcert.sh | 70 + tests/sndrcv_relp_tls_prio.sh | 44 + tests/sndrcv_tls_anon_hostname.sh | 62 + tests/sndrcv_tls_anon_ipv4.sh | 65 + tests/sndrcv_tls_anon_ipv6.sh | 67 + tests/sndrcv_tls_anon_rebind.sh | 64 + tests/sndrcv_tls_certless_clientonly.sh | 61 + tests/sndrcv_tls_certvalid.sh | 60 + tests/sndrcv_tls_certvalid_action_level.sh | 63 + tests/sndrcv_tls_certvalid_expired.sh | 63 + tests/sndrcv_tls_certvalid_expired_defaultmode.sh | 61 + tests/sndrcv_tls_certvalid_revoked.sh | 67 + tests/sndrcv_tls_client_missing_cert.sh | 65 + .../sndrcv_tls_gtls_serveranon_gtls_clientanon.sh | 48 + .../sndrcv_tls_gtls_serveranon_ossl_clientanon.sh | 66 + .../sndrcv_tls_gtls_servercert_gtls_clientanon.sh | 56 + ...v_tls_gtls_servercert_gtls_clientanon_legacy.sh | 65 + .../sndrcv_tls_gtls_servercert_ossl_clientanon.sh | 65 + tests/sndrcv_tls_ossl_anon_ciphers.sh | 72 + tests/sndrcv_tls_ossl_anon_ipv4.sh | 66 + tests/sndrcv_tls_ossl_anon_ipv6.sh | 4 + tests/sndrcv_tls_ossl_anon_rebind.sh | 78 + tests/sndrcv_tls_ossl_certvalid.sh | 4 + tests/sndrcv_tls_ossl_certvalid_action_level.sh | 4 + tests/sndrcv_tls_ossl_certvalid_ciphers.sh | 75 + tests/sndrcv_tls_ossl_certvalid_expired.sh | 61 + tests/sndrcv_tls_ossl_certvalid_revoked.sh | 6 + tests/sndrcv_tls_ossl_certvalid_tlscommand.sh | 81 + .../sndrcv_tls_ossl_serveranon_gtls_clientanon.sh | 66 + .../sndrcv_tls_ossl_serveranon_ossl_clientanon.sh | 57 + .../sndrcv_tls_ossl_servercert_gtls_clientanon.sh | 66 + .../sndrcv_tls_ossl_servercert_ossl_clientanon.sh | 66 + tests/sndrcv_tls_priorityString.sh | 68 + tests/sndrcv_udp.sh | 61 + tests/sndrcv_udp_nonstdpt.sh | 48 + tests/sndrcv_udp_nonstdpt_v6.sh | 53 + tests/snmptrapreceiver.py | 104 + tests/sparse_array_lookup_table-vg.sh | 5 + tests/sparse_array_lookup_table.sh | 64 + tests/stats-cee-vg.sh | 36 + tests/stats-cee.sh | 28 + tests/stats-json-es.sh | 29 + tests/stats-json-vg.sh | 37 + tests/stats-json.sh | 28 + tests/stop-localvar.sh | 30 + tests/stop-msgvar.sh | 30 + tests/stop.sh | 25 + tests/stop_when_array_has_element.sh | 31 + tests/suspend-omfwd-via-file.sh | 51 + tests/suspend-via-file.sh | 68 + tests/syslog_caller.c | 151 + tests/tabescape_dflt-udp.sh | 29 + tests/tabescape_dflt.sh | 29 + tests/tabescape_off-udp.sh | 32 + tests/tabescape_off.sh | 28 + tests/tabescape_on.sh | 28 + tests/tcp-msgreduc-vg.sh | 28 + tests/tcp_forwarding_dflt_tpl.sh | 40 + tests/tcp_forwarding_ns_tpl.sh | 52 + tests/tcp_forwarding_retries.sh | 41 + tests/tcp_forwarding_tpl.sh | 38 + tests/tcpflood.c | 2108 +++++++++ tests/tcpflood_wrong_option_output.sh | 18 + tests/template-const-jsonf.sh | 19 + tests/template-json.sh | 30 + tests/template-pos-from-to-lowercase.sh | 19 + tests/template-pos-from-to-missing-jsonvar.sh | 26 + tests/template-pos-from-to-oversize-lowercase.sh | 26 + tests/template-pos-from-to-oversize.sh | 56 + tests/template-pos-from-to.sh | 19 + tests/template-pure-json.sh | 19 + tests/template-topos-neg.sh | 19 + tests/test.mmdb | Bin 0 -> 432 bytes tests/test_id.c | 39 + tests/test_id_usage_output.sh | 14 + tests/testsuites/abort-uncleancfg-goodcfg.conf | 9 + tests/testsuites/action-tx-errfile.result | 25 + tests/testsuites/complex_replace_input | 4 + tests/testsuites/date_time_msg | 2 + tests/testsuites/docroot/file.txt | 1 + tests/testsuites/dynstats_empty_input | 7 + tests/testsuites/dynstats_input | 6 + tests/testsuites/dynstats_input_1 | 2 + tests/testsuites/dynstats_input_2 | 2 + tests/testsuites/dynstats_input_3 | 2 + tests/testsuites/dynstats_input_more_0 | 10 + tests/testsuites/dynstats_input_more_1 | 3 + tests/testsuites/dynstats_input_more_2 | 5 + tests/testsuites/es.yml | 95 + tests/testsuites/htpasswd | 1 + ...ile-old-state-file_imfile-state_.-rsyslog.input | 15 + tests/testsuites/imhttp-large-data.txt | 250 ++ .../imptcp_framing_regex-oversize.testdata | 22 + tests/testsuites/imptcp_framing_regex.testdata | 18 + tests/testsuites/imptcp_multi_line.testdata | 16 + tests/testsuites/incltest.d/include.conf | 2 + tests/testsuites/include-std-omfile-action.conf | 3 + tests/testsuites/include-std1-omfile-action.conf | 5 + tests/testsuites/include-std2-omfile-action.conf | 2 + tests/testsuites/invalid.conf | 3 + tests/testsuites/json_array_input | 1 + tests/testsuites/json_nonarray_input | 3 + tests/testsuites/json_object_input | 1 + tests/testsuites/kafka-server.dep_wrk1.properties | 69 + tests/testsuites/kafka-server.dep_wrk2.properties | 69 + tests/testsuites/kafka-server.dep_wrk3.properties | 69 + tests/testsuites/kafka-server.properties | 69 + tests/testsuites/mmexternal-SegFault-mm-python.py | 84 + .../mmnormalize_processing_tests.rulebase | 14 + tests/testsuites/mmnormalize_regex.rulebase | 1 + tests/testsuites/mmnormalize_tokenized.rulebase | 5 + tests/testsuites/mmnormalize_variable.rulebase | 1 + .../msgvar-concurrency-array-event.tags.rulebase | 11 + tests/testsuites/msgvar-concurrency-array.rulebase | 11 + tests/testsuites/mysql-select-msg.sql | 2 + tests/testsuites/mysql-truncate.sql | 2 + tests/testsuites/no_octet_counted.testdata | 20 + tests/testsuites/omprog-close-unresponsive-bin.sh | 32 + tests/testsuites/omprog-defaults-bin.sh | 14 + tests/testsuites/omprog-feedback-bin.sh | 33 + tests/testsuites/omprog-feedback-mt-bin.sh | 31 + tests/testsuites/omprog-feedback-timeout-bin.sh | 49 + tests/testsuites/omprog-output-capture-bin.sh | 16 + tests/testsuites/omprog-output-capture-mt-bin.py | 35 + tests/testsuites/omprog-restart-terminated-bin.sh | 49 + tests/testsuites/omprog-single-instance-bin.sh | 25 + tests/testsuites/omprog-transactions-bin.sh | 60 + tests/testsuites/pgsql-basic.sql | 30 + tests/testsuites/pgsql-select-msg.sql | 1 + tests/testsuites/pgsql-select-syslogtag.sql | 1 + tests/testsuites/pmnormalize_basic.rulebase | 1 + tests/testsuites/regex_input | 1 + tests/testsuites/spframingfix.testdata | 20 + tests/testsuites/stop_when_array_has_elem_input | 3 + tests/testsuites/tokenized_input | 5 + tests/testsuites/valid.conf | 3 + tests/testsuites/variable_leading_underscore.conf | 2 + tests/testsuites/wrap3_input | 1 + tests/testsuites/x.509/ca-key.pem | 182 + tests/testsuites/x.509/ca.pem | 27 + tests/testsuites/x.509/ca.srl | 1 + tests/testsuites/x.509/client-cert-new.pem | 102 + tests/testsuites/x.509/client-cert.pem | 27 + tests/testsuites/x.509/client-expired-cert.pem | 25 + tests/testsuites/x.509/client-expired-key.pem | 134 + tests/testsuites/x.509/client-key.pem | 182 + tests/testsuites/x.509/client-new.csr | 23 + tests/testsuites/x.509/client-revoked-key.pem | 28 + tests/testsuites/x.509/client-revoked-valid.pem | 92 + tests/testsuites/x.509/client-revoked.csr | 18 + tests/testsuites/x.509/client-revoked.pem | 92 + tests/testsuites/x.509/crl.pem | 14 + tests/testsuites/x.509/index.txt | 3 + tests/testsuites/x.509/index.txt.attr | 1 + tests/testsuites/x.509/machine-cert.pem | 27 + tests/testsuites/x.509/machine-key.pem | 182 + tests/testsuites/x.509/newcerts/01.pem | 92 + tests/testsuites/x.509/newcerts/02.pem | 92 + tests/testsuites/x.509/newcerts/03.pem | 92 + tests/testsuites/x.509/newcerts/04.pem | 102 + tests/testsuites/x.509/openssl-cmds.sh | 11 + tests/testsuites/x.509/openssl.cnf | 41 + tests/testsuites/x.509/serial | 1 + tests/testsuites/xlate.lkp_tbl | 5 + tests/testsuites/xlate_array.lkp_tbl | 6 + tests/testsuites/xlate_array_empty_table.lkp_tbl | 6 + tests/testsuites/xlate_array_misuse.lkp_tbl | 6 + tests/testsuites/xlate_array_more.lkp_tbl | 7 + tests/testsuites/xlate_array_more_misuse.lkp_tbl | 7 + ..._array_more_with_duplicates_and_nomatch.lkp_tbl | 13 + tests/testsuites/xlate_array_no_index.lkp_tbl | 8 + tests/testsuites/xlate_array_no_table.lkp_tbl | 5 + tests/testsuites/xlate_array_no_value.lkp_tbl | 8 + tests/testsuites/xlate_empty_file.lkp_tbl | 0 tests/testsuites/xlate_incorrect_type.lkp_tbl | 8 + tests/testsuites/xlate_incorrect_version.lkp_tbl | 8 + tests/testsuites/xlate_invalid_json.lkp_tbl | 4 + tests/testsuites/xlate_more.lkp_tbl | 6 + .../xlate_more_with_duplicates_and_nomatch.lkp_tbl | 12 + .../xlate_sparseArray_empty_table.lkp_tbl | 6 + .../testsuites/xlate_sparseArray_no_index.lkp_tbl | 8 + .../testsuites/xlate_sparseArray_no_table.lkp_tbl | 5 + .../testsuites/xlate_sparseArray_no_value.lkp_tbl | 8 + tests/testsuites/xlate_sparse_array.lkp_tbl | 6 + tests/testsuites/xlate_sparse_array_more.lkp_tbl | 7 + ..._array_more_with_duplicates_and_nomatch.lkp_tbl | 12 + tests/testsuites/xlate_string_empty_table.lkp_tbl | 6 + tests/testsuites/xlate_string_no_index.lkp_tbl | 8 + tests/testsuites/xlate_string_no_table.lkp_tbl | 5 + tests/testsuites/xlate_string_no_value.lkp_tbl | 8 + tests/testsuites/zoo.cfg | 5 + tests/testsuites/zoo.dep_wrk1.cfg | 5 + tests/testsuites/zoo.dep_wrk2.cfg | 5 + tests/testsuites/zoo.dep_wrk3.cfg | 5 + tests/threadingmq.sh | 35 + tests/threadingmqaq.sh | 47 + tests/timegenerated-dateordinal-invld.sh | 62 + tests/timegenerated-dateordinal.sh | 168 + tests/timegenerated-utc-legacy.sh | 36 + tests/timegenerated-utc.sh | 42 + tests/timegenerated-uxtimestamp-invld.sh | 65 + tests/timegenerated-uxtimestamp.sh | 207 + tests/timegenerated-ymd.sh | 32 + tests/timereported-utc-legacy.sh | 24 + tests/timereported-utc-vg.sh | 4 + tests/timereported-utc.sh | 27 + tests/timestamp-3164.sh | 51 + tests/timestamp-3339.sh | 33 + tests/timestamp-isoweek.sh | 24 + tests/timestamp-mysql.sh | 19 + tests/timestamp-pgsql.sh | 20 + tests/timestamp-subseconds.sh | 24 + tests/tls-certs/ca-fail.pem | 3 + tests/tls-certs/ca-key.pem | 190 + tests/tls-certs/ca.pem | 29 + tests/tls-certs/cert-fail.pem | 3 + tests/tls-certs/cert.pem | 31 + tests/tls-certs/certchained.pem | 60 + tests/tls-certs/key-fail.pem | 40 + tests/tls-certs/key.pem | 190 + tests/travis/trusty.supp | 10 + tests/udp-msgreduc-orgmsg-vg.sh | 35 + tests/udp-msgreduc-vg.sh | 35 + tests/unused_lookup_table-vg.sh | 27 + tests/urlencode.py | 14 + tests/uxsock_simple.sh | 46 + tests/uxsockrcvr.c | 192 + tests/validation-run.sh | 29 + tests/variable_leading_underscore.sh | 13 + tests/with_space.mmdb | Bin 0 -> 432 bytes tests/wr_large_async.sh | 31 + tests/wr_large_sync.sh | 31 + tests/wtpShutdownAll-assertionFailure.sh | 29 + tests/zstd-vg.sh | 4 + tests/zstd.sh | 38 + 1290 files changed, 61875 insertions(+) create mode 100644 tests/1.rstest create mode 100644 tests/2.rstest create mode 100644 tests/3.rstest create mode 100644 tests/CI/centos6-9.supp create mode 100644 tests/CI/centos7.supp create mode 100644 tests/CI/gcov.supp create mode 100644 tests/CI/ubuntu20.04.supp create mode 100644 tests/DevNull.cfgtest create mode 100644 tests/Makefile.am create mode 100644 tests/Makefile.in create mode 100644 tests/NoExistFile.cfgtest create mode 100644 tests/README create mode 100755 tests/abort-uncleancfg-badcfg-check.sh create mode 100755 tests/abort-uncleancfg-badcfg-check_1.sh create mode 100755 tests/abort-uncleancfg-goodcfg-check.sh create mode 100755 tests/abort-uncleancfg-goodcfg.sh create mode 100755 tests/action-tx-errfile-maxsize.sh create mode 100755 tests/action-tx-errfile.sh create mode 100755 tests/action-tx-single-processing.sh create mode 100755 tests/allowed-sender-tcp-fail.sh create mode 100755 tests/allowed-sender-tcp-hostname-fail.sh create mode 100755 tests/allowed-sender-tcp-hostname-ok.sh create mode 100755 tests/allowed-sender-tcp-ok.sh create mode 100755 tests/array_lookup_table-vg.sh create mode 100755 tests/array_lookup_table.sh create mode 100755 tests/array_lookup_table_misuse-vg.sh create mode 100755 tests/arrayqueue.sh create mode 100755 tests/asynwr_deadlock.sh create mode 100755 tests/asynwr_deadlock2.sh create mode 100755 tests/asynwr_deadlock4.sh create mode 100755 tests/asynwr_deadlock_2.sh create mode 100755 tests/asynwr_dynfile_flushtxend-off.sh create mode 100755 tests/asynwr_simple.sh create mode 100755 tests/asynwr_simple_2.sh create mode 100755 tests/asynwr_small.sh create mode 100755 tests/asynwr_timeout.sh create mode 100755 tests/asynwr_timeout_2.sh create mode 100755 tests/asynwr_tinybuf.sh create mode 100644 tests/bad_qi/dbq.qi create mode 100755 tests/badqi.sh create mode 100755 tests/cee_diskqueue.sh create mode 100755 tests/cee_simple.sh create mode 100755 tests/cfg.sh create mode 100644 tests/cfg1.cfgtest create mode 100644 tests/cfg1.testin create mode 100644 tests/cfg2.cfgtest create mode 100644 tests/cfg2.testin create mode 100644 tests/cfg3.cfgtest create mode 100644 tests/cfg3.testin create mode 100644 tests/cfg4.cfgtest create mode 100644 tests/cfg4.testin create mode 100644 tests/check_relpEngineVersion.c create mode 100644 tests/chkseq.c create mode 100755 tests/clickhouse-basic-vg.sh create mode 100755 tests/clickhouse-basic.sh create mode 100755 tests/clickhouse-bulk-load-vg.sh create mode 100755 tests/clickhouse-bulk-load.sh create mode 100755 tests/clickhouse-bulk-vg.sh create mode 100755 tests/clickhouse-bulk.sh create mode 100755 tests/clickhouse-dflt-tpl.sh create mode 100755 tests/clickhouse-errorfile.sh create mode 100755 tests/clickhouse-limited-batch.sh create mode 100755 tests/clickhouse-load-vg.sh create mode 100755 tests/clickhouse-load.sh create mode 100755 tests/clickhouse-retry-error.sh create mode 100755 tests/clickhouse-select.sh create mode 100755 tests/clickhouse-start.sh create mode 100755 tests/clickhouse-stop.sh create mode 100755 tests/clickhouse-wrong-insert-syntax.sh create mode 100755 tests/clickhouse-wrong-quotation-marks.sh create mode 100755 tests/clickhouse-wrong-template-option.sh create mode 100755 tests/complex1.sh create mode 100755 tests/compresssp-stringtpl.sh create mode 100755 tests/compresssp.sh create mode 100755 tests/config_enabled-off.sh create mode 100755 tests/config_enabled-on.sh create mode 100755 tests/config_multiple_include.sh create mode 100755 tests/config_output-o-option.sh create mode 100755 tests/da-mainmsg-q.sh create mode 100755 tests/da-queue-persist.sh create mode 100755 tests/daqueue-dirty-shutdown.sh create mode 100755 tests/daqueue-invld-qi.sh create mode 100755 tests/daqueue-persist-drvr.sh create mode 100755 tests/daqueue-persist.sh create mode 100755 tests/diag.sh create mode 100644 tests/diagtalker.c create mode 100755 tests/dircreate_dflt.sh create mode 100755 tests/dircreate_off.sh create mode 100755 tests/discard-allmark-vg.sh create mode 100755 tests/discard-allmark.sh create mode 100755 tests/discard-rptdmsg-vg.sh create mode 100755 tests/discard-rptdmsg.sh create mode 100755 tests/discard.sh create mode 100755 tests/diskq-rfc5424.sh create mode 100755 tests/diskqueue-fail.sh create mode 100755 tests/diskqueue-fsync.sh create mode 100755 tests/diskqueue-full.sh create mode 100755 tests/diskqueue-multithread-es.sh create mode 100755 tests/diskqueue-non-unique-prefix.sh create mode 100755 tests/diskqueue.sh create mode 100755 tests/dnscache-TTL-0-vg.sh create mode 100755 tests/dnscache-TTL-0.sh create mode 100755 tests/dynfile_invalid2.sh create mode 100755 tests/dynfile_invld_async.sh create mode 100755 tests/dynfile_invld_sync.sh create mode 100755 tests/dynstats-json-vg.sh create mode 100755 tests/dynstats-json.sh create mode 100755 tests/dynstats-vg.sh create mode 100755 tests/dynstats.sh create mode 100755 tests/dynstats_ctr_reset.sh create mode 100755 tests/dynstats_nometric.sh create mode 100755 tests/dynstats_overflow-vg.sh create mode 100755 tests/dynstats_overflow.sh create mode 100755 tests/dynstats_prevent_premature_eviction-vg.sh create mode 100755 tests/dynstats_prevent_premature_eviction.sh create mode 100755 tests/dynstats_reset-vg.sh create mode 100755 tests/dynstats_reset.sh create mode 100755 tests/dynstats_reset_without_pstats_reset.sh create mode 100644 tests/elasticsearch-error-format-check.py create mode 100755 tests/elasticsearch-stop.sh create mode 100755 tests/empty-app-name.sh create mode 100755 tests/empty-hostname.sh create mode 100755 tests/empty-prop-comparison.sh create mode 100755 tests/empty-ruleset.sh create mode 100644 tests/err1.rstest create mode 100755 tests/es-basic-bulk-vg.sh create mode 100755 tests/es-basic-bulk.sh create mode 100755 tests/es-basic-errfile-empty.sh create mode 100755 tests/es-basic-errfile-popul.sh create mode 100755 tests/es-basic-es6.0.sh create mode 100755 tests/es-basic-es7.14.sh create mode 100755 tests/es-basic-ha-vg.sh create mode 100755 tests/es-basic-ha.sh create mode 100755 tests/es-basic-server.sh create mode 100755 tests/es-basic-vg.sh create mode 100755 tests/es-basic-vgthread.sh create mode 100755 tests/es-basic.sh create mode 100755 tests/es-bulk-errfile-empty.sh create mode 100755 tests/es-bulk-errfile-popul-def-format.sh create mode 100755 tests/es-bulk-errfile-popul-def-interleaved.sh create mode 100755 tests/es-bulk-errfile-popul-erronly-interleaved.sh create mode 100755 tests/es-bulk-errfile-popul-erronly.sh create mode 100755 tests/es-bulk-errfile-popul.sh create mode 100755 tests/es-bulk-retry.sh create mode 100755 tests/es-duplicated-ruleset-vg.sh create mode 100755 tests/es-duplicated-ruleset.sh create mode 100755 tests/es-execOnlyWhenPreviousSuspended.sh create mode 100755 tests/es-maxbytes-bulk.sh create mode 100755 tests/es-searchType-empty.sh create mode 100755 tests/es-writeoperation.sh create mode 100644 tests/es_response_get_msgnum.py create mode 100755 tests/exec_tpl-concurrency.sh create mode 100755 tests/execonlyonce.sh create mode 100755 tests/execonlywhenprevsuspended-nonsusp-queue.sh create mode 100755 tests/execonlywhenprevsuspended-nonsusp.sh create mode 100755 tests/execonlywhenprevsuspended-queue.sh create mode 100755 tests/execonlywhenprevsuspended.sh create mode 100755 tests/execonlywhenprevsuspended2.sh create mode 100755 tests/execonlywhenprevsuspended3.sh create mode 100755 tests/execonlywhenprevsuspended4.sh create mode 100755 tests/execonlywhenprevsuspended_multiwrkr.sh create mode 100755 tests/externalstate-failed-rcvr.sh create mode 100755 tests/fac_authpriv.sh create mode 100755 tests/fac_ftp.sh create mode 100755 tests/fac_invld1.sh create mode 100755 tests/fac_invld2.sh create mode 100755 tests/fac_invld3.sh create mode 100755 tests/fac_invld4_rfc5424.sh create mode 100755 tests/fac_local0-vg.sh create mode 100755 tests/fac_local0.sh create mode 100755 tests/fac_local7.sh create mode 100755 tests/fac_mail.sh create mode 100755 tests/fac_news.sh create mode 100755 tests/fac_ntp.sh create mode 100755 tests/fac_uucp.sh create mode 100755 tests/failover-async.sh create mode 100755 tests/failover-basic-vg.sh create mode 100755 tests/failover-basic.sh create mode 100755 tests/failover-double.sh create mode 100755 tests/failover-no-basic-vg.sh create mode 100755 tests/failover-no-basic.sh create mode 100755 tests/failover-no-rptd-vg.sh create mode 100755 tests/failover-no-rptd.sh create mode 100755 tests/failover-rptd-vg.sh create mode 100755 tests/failover-rptd.sh create mode 100644 tests/faketime_common.sh create mode 100755 tests/fieldtest-udp.sh create mode 100755 tests/fieldtest.sh create mode 100755 tests/func-substring-invld-startpos-vg.sh create mode 100755 tests/func-substring-invld-startpos.sh create mode 100755 tests/func-substring-large-endpos.sh create mode 100755 tests/func-substring-large-neg-endpos.sh create mode 100755 tests/func-substring-relative-endpos.sh create mode 100755 tests/glbl-internalmsg_severity-debug-not_shown.sh create mode 100755 tests/glbl-internalmsg_severity-debug-shown.sh create mode 100755 tests/glbl-internalmsg_severity-info-shown.sh create mode 100755 tests/glbl-invld-param.sh create mode 100755 tests/glbl-oversizeMsg-log-vg.sh create mode 100755 tests/glbl-oversizeMsg-log.sh create mode 100755 tests/glbl-oversizeMsg-split.sh create mode 100755 tests/glbl-oversizeMsg-truncate-imfile.sh create mode 100755 tests/glbl-oversizeMsg-truncate.sh create mode 100755 tests/glbl-ruleset-queue-defaults.sh create mode 100755 tests/glbl-umask.sh create mode 100755 tests/glbl-unloadmodules.sh create mode 100755 tests/glbl_setenv.sh create mode 100755 tests/glbl_setenv_2_vars.sh create mode 100755 tests/glbl_setenv_err.sh create mode 100755 tests/glbl_setenv_err_too_long.sh create mode 100755 tests/global_vars.sh create mode 100755 tests/gzipwr_flushInterval.sh create mode 100755 tests/gzipwr_flushOnTXEnd.sh create mode 100755 tests/gzipwr_hup-vg.sh create mode 100755 tests/gzipwr_hup.sh create mode 100755 tests/gzipwr_hup_multi_file.sh create mode 100755 tests/gzipwr_hup_single_file.sh create mode 100755 tests/gzipwr_large.sh create mode 100755 tests/gzipwr_large_dynfile.sh create mode 100755 tests/gzipwr_rscript.sh create mode 100644 tests/have_relpEngineSetTLSLibByName.c create mode 100644 tests/have_relpSrvSetOversizeMode.c create mode 100644 tests/have_relpSrvSetTlsConfigCmd.c create mode 100755 tests/hostname-with-slash-dflt-invld.sh create mode 100755 tests/hostname-with-slash-dflt-slash-valid.sh create mode 100755 tests/hostname-with-slash-pmrfc3164.sh create mode 100755 tests/hostname-with-slash-pmrfc5424.sh create mode 100755 tests/imbatchreport_delete_structdata.sh create mode 100755 tests/imbatchreport_delete_success.sh create mode 100755 tests/imbatchreport_delete_toolarge.sh create mode 100755 tests/imbatchreport_errmsg_delete_params.sh create mode 100755 tests/imbatchreport_errmsg_glob_dir_fake.sh create mode 100755 tests/imbatchreport_errmsg_glob_dir_not_dir.sh create mode 100755 tests/imbatchreport_errmsg_glob_not_regular.sh create mode 100755 tests/imbatchreport_errmsg_no_params-vg.sh create mode 100755 tests/imbatchreport_errmsg_no_params.sh create mode 100755 tests/imbatchreport_errmsg_not_supported1.sh create mode 100755 tests/imbatchreport_errmsg_not_supported2.sh create mode 100755 tests/imbatchreport_errmsg_not_supported3.sh create mode 100755 tests/imbatchreport_errmsg_regex.match.reject.sh create mode 100755 tests/imbatchreport_errmsg_regex.match.rename.sh create mode 100755 tests/imbatchreport_errmsg_regex.nomatch.sh create mode 100755 tests/imbatchreport_errmsg_rename_params.sh create mode 100755 tests/imbatchreport_rename_success.sh create mode 100755 tests/imbatchreport_rename_toolarge.sh create mode 100755 tests/imdocker-basic-vg.sh create mode 100755 tests/imdocker-basic.sh create mode 100755 tests/imdocker-long-logline-vg.sh create mode 100755 tests/imdocker-long-logline.sh create mode 100755 tests/imdocker-multi-line-vg.sh create mode 100755 tests/imdocker-multi-line.sh create mode 100755 tests/imdocker-new-logs-from-start-vg.sh create mode 100755 tests/imdocker-new-logs-from-start.sh create mode 100755 tests/imdtls-basic-timeout create mode 100755 tests/imdtls-basic-tlscommands.sh create mode 100755 tests/imdtls-basic-vg.sh create mode 100755 tests/imdtls-basic.sh create mode 100755 tests/imdtls-error-cert.sh create mode 100755 tests/imdtls-sessionbreak-vg.sh create mode 100755 tests/imdtls-sessionbreak.sh create mode 100755 tests/imfile-basic-2GB-file.sh create mode 100755 tests/imfile-basic-legacy.sh create mode 100755 tests/imfile-basic-vg.sh create mode 100755 tests/imfile-basic-vgthread.sh create mode 100755 tests/imfile-basic.sh create mode 100755 tests/imfile-discard-truncated-line.sh create mode 100755 tests/imfile-endmsg.regex-vg.sh create mode 100755 tests/imfile-endmsg.regex-with-example-vg.sh create mode 100755 tests/imfile-endmsg.regex-with-example.sh create mode 100644 tests/imfile-endmsg.regex.crio.rulebase create mode 100644 tests/imfile-endmsg.regex.json.rulebase create mode 100755 tests/imfile-endmsg.regex.sh create mode 100755 tests/imfile-endregex-save-lf-persist.sh create mode 100755 tests/imfile-endregex-save-lf.sh create mode 100755 tests/imfile-endregex-timeout-none-polling.sh create mode 100755 tests/imfile-endregex-timeout-none.sh create mode 100755 tests/imfile-endregex-timeout-polling.sh create mode 100755 tests/imfile-endregex-timeout-with-shutdown-polling.sh create mode 100755 tests/imfile-endregex-timeout-with-shutdown.sh create mode 100755 tests/imfile-endregex-timeout.sh create mode 100755 tests/imfile-endregex-vg.sh create mode 100755 tests/imfile-endregex.sh create mode 100755 tests/imfile-error-not-repeated.sh create mode 100755 tests/imfile-escapelf.replacement-empty.sh create mode 100755 tests/imfile-escapelf.replacement.sh create mode 100755 tests/imfile-file-not-found-error.sh create mode 100755 tests/imfile-fileNotFoundError-parameter.sh create mode 100755 tests/imfile-freshStartTail1.sh create mode 100755 tests/imfile-freshStartTail2.sh create mode 100755 tests/imfile-freshStartTail3.sh create mode 100755 tests/imfile-growing-file-id.sh create mode 100755 tests/imfile-ignore-old-file-1.sh create mode 100755 tests/imfile-ignore-old-file-2.sh create mode 100755 tests/imfile-ignore-old-file-3.sh create mode 100755 tests/imfile-ignore-old-file-4.sh create mode 100755 tests/imfile-ignore-old-file-5.sh create mode 100755 tests/imfile-ignore-old-file-6.sh create mode 100755 tests/imfile-ignore-old-file-7.sh create mode 100755 tests/imfile-logrotate-async.sh create mode 100755 tests/imfile-logrotate-copytruncate.sh create mode 100755 tests/imfile-logrotate-multiple.sh create mode 100755 tests/imfile-logrotate-nocopytruncate.sh create mode 100755 tests/imfile-logrotate.sh create mode 100755 tests/imfile-old-state-file.sh create mode 100755 tests/imfile-persist-state-1.sh create mode 100755 tests/imfile-readmode0-vg.sh create mode 100755 tests/imfile-readmode2-polling.sh create mode 100755 tests/imfile-readmode2-vg.sh create mode 100755 tests/imfile-readmode2-with-persists-data-during-stop.sh create mode 100755 tests/imfile-readmode2-with-persists.sh create mode 100755 tests/imfile-readmode2.sh create mode 100755 tests/imfile-rename-while-stopped.sh create mode 100755 tests/imfile-rename.sh create mode 100755 tests/imfile-statefile-delete.sh create mode 100755 tests/imfile-statefile-directory.sh create mode 100755 tests/imfile-statefile-no-delete.sh create mode 100755 tests/imfile-statefile-no-file_id-TO-file_id.sh create mode 100755 tests/imfile-statefile-no-file_id.sh create mode 100755 tests/imfile-symlink-ext-tmp-dir-tree.sh create mode 100755 tests/imfile-symlink-multi.sh create mode 100755 tests/imfile-symlink.sh create mode 100755 tests/imfile-truncate-2GB-file.sh create mode 100755 tests/imfile-truncate-line.sh create mode 100755 tests/imfile-truncate-multiple.sh create mode 100755 tests/imfile-truncate.sh create mode 100755 tests/imfile-wildcards-dirs-multi.sh create mode 100755 tests/imfile-wildcards-dirs-multi2.sh create mode 100755 tests/imfile-wildcards-dirs-multi3.sh create mode 100755 tests/imfile-wildcards-dirs-multi4.sh create mode 100755 tests/imfile-wildcards-dirs-multi5-polling.sh create mode 100755 tests/imfile-wildcards-dirs-multi5.sh create mode 100755 tests/imfile-wildcards-dirs.sh create mode 100755 tests/imfile-wildcards-dirs2.sh create mode 100755 tests/imfile-wildcards.sh create mode 100755 tests/imhiredis-queue-lpop-vg.sh create mode 100755 tests/imhiredis-queue-lpop.sh create mode 100755 tests/imhiredis-queue-vg.sh create mode 100755 tests/imhiredis-queue.sh create mode 100755 tests/imhiredis-redis-restart-vg.sh create mode 100755 tests/imhiredis-redis-restart.sh create mode 100755 tests/imhiredis-redis-start-after-vg.sh create mode 100755 tests/imhiredis-redis-start-after.sh create mode 100755 tests/imhiredis-stream-consumerGroup-ack-vg.sh create mode 100755 tests/imhiredis-stream-consumerGroup-ack.sh create mode 100755 tests/imhiredis-stream-consumerGroup-noack-vg.sh create mode 100755 tests/imhiredis-stream-consumerGroup-noack.sh create mode 100755 tests/imhiredis-stream-consumerGroup-reclaim-vg.sh create mode 100755 tests/imhiredis-stream-consumerGroup-reclaim.sh create mode 100755 tests/imhiredis-stream-from-beginning-vg.sh create mode 100755 tests/imhiredis-stream-from-beginning.sh create mode 100755 tests/imhiredis-stream-vg.sh create mode 100755 tests/imhiredis-stream.sh create mode 100755 tests/imhiredis-subscribe-vg.sh create mode 100755 tests/imhiredis-subscribe.sh create mode 100755 tests/imhttp-getrequest-file-vg.sh create mode 100755 tests/imhttp-getrequest-file.sh create mode 100755 tests/imhttp-post-payload-basic-auth-vg.sh create mode 100755 tests/imhttp-post-payload-basic-auth.sh create mode 100755 tests/imhttp-post-payload-compress-vg.sh create mode 100755 tests/imhttp-post-payload-compress.sh create mode 100755 tests/imhttp-post-payload-large-vg.sh create mode 100755 tests/imhttp-post-payload-large.sh create mode 100755 tests/imhttp-post-payload-multi-lf-vg.sh create mode 100755 tests/imhttp-post-payload-multi-lf.sh create mode 100755 tests/imhttp-post-payload-multi-vg.sh create mode 100755 tests/imhttp-post-payload-multi.sh create mode 100755 tests/imhttp-post-payload-query-params-vg.sh create mode 100755 tests/imhttp-post-payload-query-params.sh create mode 100755 tests/imhttp-post-payload-vg.sh create mode 100755 tests/imhttp-post-payload.sh create mode 100755 tests/imjournal-basic-vg.sh create mode 100755 tests/imjournal-basic.sh create mode 100755 tests/imjournal-statefile-vg.sh create mode 100755 tests/imjournal-statefile.sh create mode 100755 tests/imkafka-backgrounded.sh create mode 100755 tests/imkafka-config-err-param.sh create mode 100755 tests/imkafka-config-err-ruleset.sh create mode 100755 tests/imkafka-hang-on-no-kafka.sh create mode 100755 tests/imkafka-hang-other-action-on-no-kafka.sh create mode 100755 tests/imkafka-vg.sh create mode 100755 tests/imkafka.sh create mode 100755 tests/imkafka_multi_group.sh create mode 100755 tests/imkafka_multi_single.sh create mode 100755 tests/imklog_permitnonkernelfacility_root.sh create mode 100755 tests/immark-inputname.sh create mode 100755 tests/immark-ruleset-custom-msg.sh create mode 100755 tests/immark-ruleset.sh create mode 100755 tests/immark.sh create mode 100755 tests/improg-multiline-test.py create mode 100755 tests/improg-simul.sh create mode 100755 tests/improg_errmsg_no_params-vg.sh create mode 100755 tests/improg_errmsg_no_params.sh create mode 100755 tests/improg_prog_confirm.sh create mode 100755 tests/improg_prog_confirm_killonclose.sh create mode 100755 tests/improg_prog_killonclose.sh create mode 100755 tests/improg_prog_simple-vg.sh create mode 100755 tests/improg_prog_simple.sh create mode 100755 tests/improg_simple_multi.sh create mode 100755 tests/impstats-hup.sh create mode 100755 tests/imptcp-NUL-rawmsg.sh create mode 100755 tests/imptcp-NUL.sh create mode 100755 tests/imptcp-basic-hup.sh create mode 100755 tests/imptcp-connection-msg-disabled.sh create mode 100755 tests/imptcp-connection-msg-received.sh create mode 100755 tests/imptcp-discard-truncated-msg.sh create mode 100755 tests/imptcp-maxFrameSize-parameter.sh create mode 100755 tests/imptcp-msg-truncation-on-number.sh create mode 100755 tests/imptcp-msg-truncation-on-number2.sh create mode 100755 tests/imptcp-octet-framing-too-long-vg.sh create mode 100755 tests/imptcp-oversize-message-display.sh create mode 100755 tests/imptcp_addtlframedelim.sh create mode 100755 tests/imptcp_conndrop-vg.sh create mode 100755 tests/imptcp_conndrop.sh create mode 100755 tests/imptcp_framing_regex-oversize.sh create mode 100755 tests/imptcp_framing_regex.sh create mode 100755 tests/imptcp_large.sh create mode 100755 tests/imptcp_maxsessions.sh create mode 100755 tests/imptcp_multi_line.sh create mode 100755 tests/imptcp_no_octet_counted.sh create mode 100755 tests/imptcp_nonProcessingPoller.sh create mode 100755 tests/imptcp_spframingfix.sh create mode 100755 tests/imptcp_veryLargeOctateCountedMessages.sh create mode 100755 tests/imrelp-basic-hup.sh create mode 100755 tests/imrelp-basic-oldstyle.sh create mode 100755 tests/imrelp-basic-vg.sh create mode 100755 tests/imrelp-basic.sh create mode 100755 tests/imrelp-bigmessage.sh create mode 100755 tests/imrelp-invld-tlslib.sh create mode 100755 tests/imrelp-long-msg.sh create mode 100755 tests/imrelp-manyconn-vg.sh create mode 100755 tests/imrelp-manyconn.sh create mode 100755 tests/imrelp-maxDataSize-error.sh create mode 100755 tests/imrelp-oversizeMode-accept.sh create mode 100755 tests/imrelp-oversizeMode-truncate.sh create mode 100755 tests/imrelp-sessionbreak-vg.sh create mode 100755 tests/imrelp-tls-cfgcmd.sh create mode 100755 tests/imrelp-tls-chainedcert.sh create mode 100755 tests/imrelp-tls-mixed-chainedcert.sh create mode 100755 tests/imrelp-tls-mixed-chainedcert2.sh create mode 100755 tests/imrelp-tls.sh create mode 100755 tests/imtcp-NUL-rawmsg.sh create mode 100755 tests/imtcp-NUL.sh create mode 100755 tests/imtcp-basic-hup.sh create mode 100755 tests/imtcp-basic.sh create mode 100755 tests/imtcp-bigmessage-octetcounting.sh create mode 100755 tests/imtcp-bigmessage-octetstuffing.sh create mode 100755 tests/imtcp-connection-msg-recieved.sh create mode 100755 tests/imtcp-discard-truncated-msg.sh create mode 100755 tests/imtcp-drvr-in-input-basic.sh create mode 100755 tests/imtcp-listen-port-file-2.sh create mode 100755 tests/imtcp-maxFrameSize.sh create mode 100755 tests/imtcp-msg-truncation-on-number.sh create mode 100755 tests/imtcp-msg-truncation-on-number2.sh create mode 100755 tests/imtcp-multi-drvr-basic-parallel.sh create mode 100755 tests/imtcp-multi-drvr-basic-ptcp_gtls_ossl.sh create mode 100755 tests/imtcp-multi-drvr-basic.sh create mode 100755 tests/imtcp-multiport.sh create mode 100755 tests/imtcp-octet-framing-too-long-vg.sh create mode 100755 tests/imtcp-tls-basic-verifydepth.sh create mode 100755 tests/imtcp-tls-basic-vg.sh create mode 100755 tests/imtcp-tls-basic.sh create mode 100755 tests/imtcp-tls-gtls-x509fingerprint-invld.sh create mode 100755 tests/imtcp-tls-gtls-x509fingerprint.sh create mode 100755 tests/imtcp-tls-gtls-x509name-invld.sh create mode 100755 tests/imtcp-tls-gtls-x509name-legacy.sh create mode 100755 tests/imtcp-tls-gtls-x509name.sh create mode 100755 tests/imtcp-tls-input-2certs.sh create mode 100755 tests/imtcp-tls-input-basic.sh create mode 100755 tests/imtcp-tls-no-lstn-startup.sh create mode 100755 tests/imtcp-tls-ossl-basic-brokenhandshake-vg.sh create mode 100755 tests/imtcp-tls-ossl-basic-tlscommands.sh create mode 100755 tests/imtcp-tls-ossl-basic-verifydepth.sh create mode 100755 tests/imtcp-tls-ossl-basic-vg.sh create mode 100755 tests/imtcp-tls-ossl-basic.sh create mode 100755 tests/imtcp-tls-ossl-error-ca.sh create mode 100755 tests/imtcp-tls-ossl-error-cert.sh create mode 100755 tests/imtcp-tls-ossl-error-key.sh create mode 100755 tests/imtcp-tls-ossl-error-key2.sh create mode 100755 tests/imtcp-tls-ossl-input-2certs.sh create mode 100755 tests/imtcp-tls-ossl-input-basic.sh create mode 100755 tests/imtcp-tls-ossl-invalid-verifydepth.sh create mode 100755 tests/imtcp-tls-ossl-x509fingerprint.sh create mode 100755 tests/imtcp-tls-ossl-x509name.sh create mode 100755 tests/imtcp-tls-ossl-x509valid.sh create mode 100755 tests/imtcp_addtlframedelim.sh create mode 100755 tests/imtcp_addtlframedelim_on_input.sh create mode 100755 tests/imtcp_conndrop.sh create mode 100755 tests/imtcp_conndrop_tls-vg.sh create mode 100755 tests/imtcp_conndrop_tls.sh create mode 100755 tests/imtcp_incomplete_frame_at_end.sh create mode 100755 tests/imtcp_no_octet_counted.sh create mode 100755 tests/imtcp_spframingfix.sh create mode 100755 tests/imtuxedoulog_data.sh create mode 100755 tests/imtuxedoulog_errmsg_no_params-vg.sh create mode 100755 tests/imtuxedoulog_errmsg_no_params.sh create mode 100755 tests/imudp_thread_hang.sh create mode 100755 tests/imuxsock_ccmiddle.sh create mode 100755 tests/imuxsock_ccmiddle_root.sh create mode 100755 tests/imuxsock_ccmiddle_syssock.sh create mode 100755 tests/imuxsock_hostname.sh create mode 100755 tests/imuxsock_legacy.sh create mode 100755 tests/imuxsock_logger.sh create mode 100755 tests/imuxsock_logger_err.sh create mode 100755 tests/imuxsock_logger_parserchain.sh create mode 100755 tests/imuxsock_logger_ratelimit.sh create mode 100755 tests/imuxsock_logger_root.sh create mode 100755 tests/imuxsock_logger_ruleset.sh create mode 100755 tests/imuxsock_logger_ruleset_ratelimit.sh create mode 100755 tests/imuxsock_logger_syssock.sh create mode 100755 tests/imuxsock_traillf.sh create mode 100755 tests/imuxsock_traillf_root.sh create mode 100755 tests/imuxsock_traillf_syssock.sh create mode 100755 tests/incltest.sh create mode 100755 tests/incltest_dir.sh create mode 100755 tests/incltest_dir_empty_wildcard.sh create mode 100755 tests/incltest_dir_wildcard.sh create mode 100755 tests/include-obj-in-if-vg.sh create mode 100755 tests/include-obj-outside-control-flow-vg.sh create mode 100755 tests/include-obj-text-from-file-noexist.sh create mode 100755 tests/include-obj-text-from-file.sh create mode 100755 tests/include-obj-text-vg.sh create mode 100644 tests/inputfilegen.c create mode 100755 tests/inputname-imtcp.sh create mode 100755 tests/internal-errmsg-memleak-vg.sh create mode 100755 tests/invalid_nested_include.sh create mode 100644 tests/journal_print.c create mode 100755 tests/json-nonstring.sh create mode 100755 tests/json-onempty-at-end.sh create mode 100755 tests/json_array_looping-vg.sh create mode 100755 tests/json_array_looping.sh create mode 100755 tests/json_array_subscripting.sh create mode 100755 tests/json_nonarray_looping.sh create mode 100755 tests/json_null-vg.sh create mode 100755 tests/json_null.sh create mode 100755 tests/json_null_array-vg.sh create mode 100755 tests/json_null_array.sh create mode 100755 tests/json_object_looping-vg.sh create mode 100755 tests/json_object_looping.sh create mode 100755 tests/json_object_suicide_in_loop-vg.sh create mode 100755 tests/json_var_case.sh create mode 100755 tests/json_var_cmpr.sh create mode 100755 tests/kafka-selftest.sh create mode 100755 tests/key_dereference_on_uninitialized_variable_space.sh create mode 100755 tests/killrsyslog.sh create mode 100644 tests/known_issues.supp create mode 100755 tests/libdbi-asyn.sh create mode 100755 tests/libdbi-basic-vg.sh create mode 100755 tests/libdbi-basic.sh create mode 100644 tests/libmaxmindb.supp create mode 100755 tests/linkedlistqueue.sh create mode 100644 tests/linux_localtime_r.supp create mode 100755 tests/loadbalance.sh create mode 100755 tests/localvar-concurrency.sh create mode 100755 tests/lookup_table-hup-backgrounded.sh create mode 100755 tests/lookup_table-vg.sh create mode 100755 tests/lookup_table.sh create mode 100755 tests/lookup_table_bad_configs-vg.sh create mode 100755 tests/lookup_table_bad_configs.sh create mode 100755 tests/lookup_table_no_hup_reload-vg.sh create mode 100755 tests/lookup_table_no_hup_reload.sh create mode 100755 tests/lookup_table_rscript_reload-vg.sh create mode 100755 tests/lookup_table_rscript_reload.sh create mode 100755 tests/lookup_table_rscript_reload_without_stub-vg.sh create mode 100755 tests/lookup_table_rscript_reload_without_stub.sh create mode 100755 tests/mainq_actq_DA.sh create mode 100644 tests/mangle_qi.c create mode 100755 tests/mangle_qi_usage_output.sh create mode 100755 tests/manyptcp.sh create mode 100755 tests/manytcp-too-few-tls-vg.sh create mode 100755 tests/manytcp.sh create mode 100644 tests/miniamqpsrvr.c create mode 100755 tests/minitcpsrv_usage_output.sh create mode 100644 tests/minitcpsrvr.c create mode 100755 tests/mmanon_both_modes_compatible.sh create mode 100755 tests/mmanon_ipv6_port.sh create mode 100755 tests/mmanon_random_128_ipv6.sh create mode 100755 tests/mmanon_random_32_ipv4.sh create mode 100755 tests/mmanon_random_cons_128_ipembedded.sh create mode 100755 tests/mmanon_random_cons_128_ipv6.sh create mode 100755 tests/mmanon_random_cons_32_ipv4.sh create mode 100755 tests/mmanon_recognize_ipembedded.sh create mode 100755 tests/mmanon_recognize_ipv4.sh create mode 100755 tests/mmanon_recognize_ipv6.sh create mode 100755 tests/mmanon_simple_12_ipv4.sh create mode 100755 tests/mmanon_simple_33_ipv4.sh create mode 100755 tests/mmanon_simple_8_ipv4.sh create mode 100755 tests/mmanon_simple_mallformed_ipv4.sh create mode 100755 tests/mmanon_with_debug.sh create mode 100755 tests/mmanon_zero_128_ipv6.sh create mode 100755 tests/mmanon_zero_12_ipv4.sh create mode 100755 tests/mmanon_zero_33_ipv4.sh create mode 100755 tests/mmanon_zero_50_ipv6.sh create mode 100755 tests/mmanon_zero_64_ipv6.sh create mode 100755 tests/mmanon_zero_8_ipv4.sh create mode 100755 tests/mmanon_zero_96_ipv6.sh create mode 100755 tests/mmdarwin_errmsg_no_params.sh create mode 100755 tests/mmdarwin_errmsg_no_sock-vg.sh create mode 100755 tests/mmdarwin_errmsg_no_sock.sh create mode 100755 tests/mmdb-container-empty.sh create mode 100755 tests/mmdb-container.sh create mode 100755 tests/mmdb-multilevel-vg.sh create mode 100755 tests/mmdb-space.sh create mode 100755 tests/mmdb-vg.sh create mode 100644 tests/mmdb.rb create mode 100755 tests/mmdb.sh create mode 100755 tests/mmexternal-InvldProg-vg.sh create mode 100755 tests/mmexternal-SegFault-empty-jroot-vg.sh create mode 100755 tests/mmexternal-SegFault.sh create mode 100755 tests/mmjsonparse-invalid-containerName.sh create mode 100755 tests/mmjsonparse-w-o-cookie-multi-spaces.sh create mode 100755 tests/mmjsonparse-w-o-cookie.sh create mode 100755 tests/mmjsonparse_cim.sh create mode 100755 tests/mmjsonparse_cim2.sh create mode 100755 tests/mmjsonparse_extra_data-vg.sh create mode 100755 tests/mmjsonparse_localvar.sh create mode 100755 tests/mmjsonparse_simple.sh create mode 100755 tests/mmkubernetes-basic-vg.sh create mode 100644 tests/mmkubernetes-basic.out.json create mode 100755 tests/mmkubernetes-basic.sh create mode 100755 tests/mmkubernetes-cache-expire-vg.sh create mode 100644 tests/mmkubernetes-cache-expire.out.expected create mode 100755 tests/mmkubernetes-cache-expire.sh create mode 100644 tests/mmkubernetes.supp create mode 100644 tests/mmkubernetes_test_server.py create mode 100755 tests/mmnormalize_parsesuccess-vg.sh create mode 100755 tests/mmnormalize_parsesuccess.sh create mode 100755 tests/mmnormalize_processing_test1.sh create mode 100755 tests/mmnormalize_processing_test2.sh create mode 100755 tests/mmnormalize_processing_test3.sh create mode 100755 tests/mmnormalize_processing_test4.sh create mode 100755 tests/mmnormalize_regex.sh create mode 100755 tests/mmnormalize_regex_defaulted.sh create mode 100755 tests/mmnormalize_regex_disabled.sh create mode 100755 tests/mmnormalize_rule_from_array.sh create mode 100755 tests/mmnormalize_rule_from_string.sh create mode 100755 tests/mmnormalize_tokenized.sh create mode 100755 tests/mmnormalize_variable.sh create mode 100755 tests/mmpstrucdata-case.sh create mode 100755 tests/mmpstrucdata-escaping.sh create mode 100755 tests/mmpstrucdata-invalid-vg.sh create mode 100755 tests/mmpstrucdata-vg.sh create mode 100755 tests/mmpstrucdata.sh create mode 100755 tests/mmrm1stspace-basic.sh create mode 100755 tests/mmtaghostname_server.sh create mode 100755 tests/mmtaghostname_tag.sh create mode 100755 tests/mmutf8fix_no_error.sh create mode 100755 tests/msg-deadlock-headerless-noappname.sh create mode 100755 tests/msgdup.sh create mode 100755 tests/msgdup_props.sh create mode 100755 tests/msgvar-concurrency-array-event.tags.sh create mode 100755 tests/msgvar-concurrency-array.sh create mode 100755 tests/msgvar-concurrency.sh create mode 100644 tests/msleep.c create mode 100755 tests/msleep_usage_output.sh create mode 100755 tests/multiple_lookup_tables-vg.sh create mode 100755 tests/multiple_lookup_tables.sh create mode 100755 tests/mysql-actq-mt-withpause-vg.sh create mode 100755 tests/mysql-actq-mt-withpause.sh create mode 100755 tests/mysql-actq-mt.sh create mode 100755 tests/mysql-asyn-vg.sh create mode 100755 tests/mysql-asyn.sh create mode 100755 tests/mysql-basic-cnf6.sh create mode 100755 tests/mysql-basic-vg.sh create mode 100755 tests/mysql-basic.sh create mode 100755 tests/mysqld-start.sh create mode 100755 tests/mysqld-stop.sh create mode 100755 tests/nested-call-shutdown.sh create mode 100755 tests/no-dynstats-json.sh create mode 100755 tests/no-dynstats.sh create mode 100755 tests/no-parser-errmsg.sh create mode 100755 tests/no-parser-vg.sh create mode 100755 tests/now-unixtimestamp.sh create mode 100755 tests/now-utc-casecmp.sh create mode 100755 tests/now-utc-ymd.sh create mode 100755 tests/now-utc.sh create mode 100755 tests/now_family_utc.sh create mode 100755 tests/omamqp1-basic-vg.sh create mode 100755 tests/omamqp1-basic.sh create mode 100644 tests/omamqp1-common.sh create mode 100755 tests/omazureeventhubs-basic-vg.sh create mode 100755 tests/omazureeventhubs-basic.sh create mode 100755 tests/omazureeventhubs-interrupt-vg.sh create mode 100755 tests/omazureeventhubs-interrupt.sh create mode 100755 tests/omazureeventhubs-list.sh create mode 100755 tests/omazureeventhubs-stress.sh create mode 100755 tests/omfile-module-params.sh create mode 100755 tests/omfile-null-filename.sh create mode 100755 tests/omfile-outchannel-many.sh create mode 100755 tests/omfile-outchannel.sh create mode 100755 tests/omfile-read-only-errmsg.sh create mode 100755 tests/omfile-read-only.sh create mode 100755 tests/omfile-sizelimitcmd-many.sh create mode 100755 tests/omfile-whitespace-filename.sh create mode 100755 tests/omfile_both_files_set.sh create mode 100755 tests/omfile_hup-vg.sh create mode 100755 tests/omfile_hup.sh create mode 100755 tests/omfwd-errfile-maxsize-filled.sh create mode 100755 tests/omfwd-errfile-maxsize.sh create mode 100755 tests/omfwd-keepalive.sh create mode 100755 tests/omfwd-tls-invalid-permitExpiredCerts.sh create mode 100755 tests/omfwd_fast_imuxsock.sh create mode 100755 tests/omfwd_impstats-tcp.sh create mode 100755 tests/omfwd_impstats-udp.sh create mode 100755 tests/omhttp-auth-vg.sh create mode 100755 tests/omhttp-auth.sh create mode 100755 tests/omhttp-basic-vg.sh create mode 100755 tests/omhttp-basic.sh create mode 100755 tests/omhttp-batch-dynrestpath.sh create mode 100755 tests/omhttp-batch-fail-with-400.sh create mode 100755 tests/omhttp-batch-jsonarray-compress-vg.sh create mode 100755 tests/omhttp-batch-jsonarray-compress.sh create mode 100755 tests/omhttp-batch-jsonarray-retry-vg.sh create mode 100755 tests/omhttp-batch-jsonarray-retry.sh create mode 100755 tests/omhttp-batch-jsonarray-vg.sh create mode 100755 tests/omhttp-batch-jsonarray.sh create mode 100755 tests/omhttp-batch-kafkarest-retry-vg.sh create mode 100755 tests/omhttp-batch-kafkarest-retry.sh create mode 100755 tests/omhttp-batch-kafkarest.sh create mode 100755 tests/omhttp-batch-lokirest-retry-vg.sh create mode 100755 tests/omhttp-batch-lokirest-retry.sh create mode 100755 tests/omhttp-batch-lokirest-vg.sh create mode 100755 tests/omhttp-batch-lokirest.sh create mode 100755 tests/omhttp-batch-newline.sh create mode 100755 tests/omhttp-dynrestpath.sh create mode 100755 tests/omhttp-httpheaderkey.sh create mode 100755 tests/omhttp-multiplehttpheaders.sh create mode 100755 tests/omhttp-retry-vg.sh create mode 100755 tests/omhttp-retry.sh create mode 100644 tests/omhttp_server.py create mode 100755 tests/omjournal-abort-no-template.sh create mode 100755 tests/omjournal-abort-template.sh create mode 100755 tests/omjournal-basic-no-template.sh create mode 100755 tests/omjournal-basic-template.sh create mode 100755 tests/omkafka-vg.sh create mode 100755 tests/omkafka.sh create mode 100755 tests/omkafkadynakey.sh create mode 100755 tests/ommail_errmsg_no_params.sh create mode 100755 tests/omod-if-array-udp.sh create mode 100755 tests/omod-if-array.sh create mode 100755 tests/omprog-close-unresponsive-noterm.sh create mode 100755 tests/omprog-close-unresponsive-vg.sh create mode 100755 tests/omprog-close-unresponsive.sh create mode 100755 tests/omprog-defaults-vg.sh create mode 100755 tests/omprog-defaults.sh create mode 100755 tests/omprog-feedback-mt.sh create mode 100755 tests/omprog-feedback-timeout.sh create mode 100755 tests/omprog-feedback-vg.sh create mode 100755 tests/omprog-feedback.sh create mode 100755 tests/omprog-if-error.sh create mode 100755 tests/omprog-output-capture-mt.sh create mode 100755 tests/omprog-output-capture-vg.sh create mode 100755 tests/omprog-output-capture.sh create mode 100755 tests/omprog-restart-terminated-outfile.sh create mode 100755 tests/omprog-restart-terminated-vg.sh create mode 100755 tests/omprog-restart-terminated.sh create mode 100755 tests/omprog-single-instance-outfile.sh create mode 100755 tests/omprog-single-instance-vg.sh create mode 100755 tests/omprog-single-instance.sh create mode 100755 tests/omprog-transactions-failed-commits.sh create mode 100755 tests/omprog-transactions-failed-messages.sh create mode 100755 tests/omprog-transactions-vg.sh create mode 100755 tests/omprog-transactions.sh create mode 100755 tests/omrabbitmq_data_1server-vg.sh create mode 100755 tests/omrabbitmq_data_1server.sh create mode 100755 tests/omrabbitmq_data_2servers.sh create mode 100755 tests/omrabbitmq_error_server0.sh create mode 100755 tests/omrabbitmq_error_server1.sh create mode 100755 tests/omrabbitmq_error_server2.sh create mode 100755 tests/omrabbitmq_error_server3.sh create mode 100755 tests/omrabbitmq_json.sh create mode 100755 tests/omrabbitmq_no_params.sh create mode 100755 tests/omrabbitmq_params_invalid0.sh create mode 100755 tests/omrabbitmq_params_invalid1.sh create mode 100755 tests/omrabbitmq_params_invalid2.sh create mode 100755 tests/omrabbitmq_params_invalid3.sh create mode 100755 tests/omrabbitmq_params_missing0.sh create mode 100755 tests/omrabbitmq_params_missing1.sh create mode 100755 tests/omrabbitmq_params_missing2.sh create mode 100755 tests/omrabbitmq_raw.sh create mode 100755 tests/omrelp-invld-tlslib.sh create mode 100644 tests/omrelp_dflt_port.c create mode 100755 tests/omrelp_errmsg_no_connect.sh create mode 100755 tests/omrelp_wrong_authmode.sh create mode 100755 tests/omruleset-queue.sh create mode 100755 tests/omruleset.sh create mode 100755 tests/omsnmp_errmsg_no_params.sh create mode 100755 tests/omstdout-basic.sh create mode 100755 tests/omtcl.sh create mode 100644 tests/omtcl.tcl create mode 100755 tests/omudpspoof_errmsg_no_params.sh create mode 100755 tests/omusrmsg-errmsg-no-params.sh create mode 100755 tests/omusrmsg-noabort-vg.sh create mode 100755 tests/omusrmsg-noabort.sh create mode 100755 tests/operatingstate-basic.sh create mode 100755 tests/operatingstate-empty.sh create mode 100755 tests/operatingstate-unclean.sh create mode 100644 tests/ourtail.c create mode 100644 tests/override_getaddrinfo.c create mode 100644 tests/override_gethostname.c create mode 100644 tests/override_gethostname_nonfqdn.c create mode 100755 tests/parsertest-parse-3164-buggyday-udp.sh create mode 100755 tests/parsertest-parse-3164-buggyday.sh create mode 100755 tests/parsertest-parse-nodate-udp.sh create mode 100755 tests/parsertest-parse-nodate.sh create mode 100755 tests/parsertest-parse1-udp.sh create mode 100755 tests/parsertest-parse1.sh create mode 100755 tests/parsertest-parse2-udp.sh create mode 100755 tests/parsertest-parse2.sh create mode 100755 tests/parsertest-parse3-udp.sh create mode 100755 tests/parsertest-parse3.sh create mode 100755 tests/parsertest-parse_8bit_escape-udp.sh create mode 100755 tests/parsertest-parse_8bit_escape.sh create mode 100755 tests/parsertest-parse_invld_regex-udp.sh create mode 100755 tests/parsertest-parse_invld_regex.sh create mode 100755 tests/parsertest-snare_ccoff_udp.sh create mode 100755 tests/parsertest-snare_ccoff_udp2.sh create mode 100755 tests/perctile-simple-vg.sh create mode 100755 tests/perctile-simple.sh create mode 100755 tests/pgsql-actq-mt-withpause-vg.sh create mode 100755 tests/pgsql-actq-mt-withpause.sh create mode 100755 tests/pgsql-basic-cnf6-vg.sh create mode 100755 tests/pgsql-basic-cnf6.sh create mode 100755 tests/pgsql-basic-threads-cnf6.sh create mode 100755 tests/pgsql-basic-vg.sh create mode 100755 tests/pgsql-basic.sh create mode 100755 tests/pgsql-template-cnf6-vg.sh create mode 100755 tests/pgsql-template-cnf6.sh create mode 100755 tests/pgsql-template-threads-cnf6.sh create mode 100755 tests/pgsql-template-vg.sh create mode 100755 tests/pgsql-template.sh create mode 100755 tests/pipe_noreader.sh create mode 100755 tests/pipeaction.sh create mode 100755 tests/pmdb2diag_parse.sh create mode 100755 tests/pmlastmsg-udp.sh create mode 100755 tests/pmlastmsg.sh create mode 100755 tests/pmnormalize-basic-vg.sh create mode 100755 tests/pmnormalize-basic.sh create mode 100755 tests/pmnormalize-invld-rulebase-vg.sh create mode 100755 tests/pmnormalize-invld-rulebase.sh create mode 100755 tests/pmnormalize-neither_rule_rulebase-vg.sh create mode 100755 tests/pmnormalize-neither_rule_rulebase.sh create mode 100755 tests/pmnormalize-rule-vg.sh create mode 100755 tests/pmnormalize-rule.sh create mode 100755 tests/pmnormalize-rule_and_rulebase-vg.sh create mode 100755 tests/pmnormalize-rule_and_rulebase.sh create mode 100755 tests/pmnormalize-rule_invld-data-vg.sh create mode 100755 tests/pmnormalize-rule_invld-data.sh create mode 100755 tests/pmnull-basic.sh create mode 100755 tests/pmnull-withparams.sh create mode 100755 tests/pmrfc3164-AtSignsInHostname.sh create mode 100755 tests/pmrfc3164-AtSignsInHostname_off.sh create mode 100755 tests/pmrfc3164-defaultTag.sh create mode 100755 tests/pmrfc3164-json.sh create mode 100755 tests/pmrfc3164-msgFirstSpace.sh create mode 100755 tests/pmrfc3164-tagEndingByColon.sh create mode 100755 tests/pmsnare-ccbackslash-udp.sh create mode 100755 tests/pmsnare-ccbackslash.sh create mode 100755 tests/pmsnare-cccstyle-udp.sh create mode 100755 tests/pmsnare-cccstyle.sh create mode 100755 tests/pmsnare-ccdefault-udp.sh create mode 100755 tests/pmsnare-ccdefault.sh create mode 100755 tests/pmsnare-ccoff-udp.sh create mode 100755 tests/pmsnare-ccoff.sh create mode 100755 tests/pmsnare-default-udp.sh create mode 100755 tests/pmsnare-default.sh create mode 100755 tests/pmsnare-modoverride-udp.sh create mode 100755 tests/pmsnare-modoverride.sh create mode 100755 tests/privdrop_common.sh create mode 100755 tests/privdropabortonidfail.sh create mode 100755 tests/privdropabortonidfaillegacy.sh create mode 100755 tests/privdropgroup.sh create mode 100755 tests/privdropgroupid.sh create mode 100755 tests/privdropuser.sh create mode 100755 tests/privdropuserid.sh create mode 100755 tests/prop-all-json-concurrency.sh create mode 100755 tests/prop-jsonmesg-vg.sh create mode 100755 tests/prop-programname-with-slashes.sh create mode 100755 tests/prop-programname.sh create mode 100755 tests/proprepltest-nolimittag-udp.sh create mode 100755 tests/proprepltest-nolimittag.sh create mode 100755 tests/proprepltest-rfctag-udp.sh create mode 100755 tests/proprepltest-rfctag.sh create mode 100755 tests/queue-direct-with-no-params.sh create mode 100755 tests/queue-direct-with-params-given.sh create mode 100755 tests/queue-encryption-da.sh create mode 100755 tests/queue-encryption-disk.sh create mode 100755 tests/queue-encryption-disk_keyfile-vg.sh create mode 100755 tests/queue-encryption-disk_keyfile.sh create mode 100755 tests/queue-encryption-disk_keyprog.sh create mode 100755 tests/queue-minbatch-queuefull.sh create mode 100755 tests/queue-minbatch.sh create mode 100755 tests/queue-persist-drvr.sh create mode 100755 tests/queue-persist.sh create mode 100755 tests/queue_warnmsg-oversize.sh create mode 100755 tests/random.sh create mode 100644 tests/randomgen.c create mode 100755 tests/rawmsg-after-pri.sh create mode 100755 tests/rcvr_fail_restore.sh create mode 100755 tests/relp_tls_certificate_not_found.sh create mode 100755 tests/rfc5424parser-sp_at_msg_start.sh create mode 100755 tests/rfc5424parser.sh create mode 100755 tests/rs-cnum.sh create mode 100755 tests/rs-int2hex.sh create mode 100755 tests/rs-substring.sh create mode 100755 tests/rs_optimizer_pri.sh create mode 100755 tests/rscript-config_enable-off-vg.sh create mode 100755 tests/rscript-config_enable-on.sh create mode 100755 tests/rscript_backticks-vg.sh create mode 100755 tests/rscript_backticks_empty_envvar-vg.sh create mode 100755 tests/rscript_bare_var_root-empty.sh create mode 100755 tests/rscript_bare_var_root.sh create mode 100755 tests/rscript_compare-common.sh create mode 100755 tests/rscript_compare_num-num-vg.sh create mode 100755 tests/rscript_compare_num-num.sh create mode 100755 tests/rscript_compare_num-numstr-vg.sh create mode 100755 tests/rscript_compare_num-numstr.sh create mode 100755 tests/rscript_compare_num-str-vg.sh create mode 100755 tests/rscript_compare_num-str.sh create mode 100755 tests/rscript_compare_numstr-num-vg.sh create mode 100755 tests/rscript_compare_numstr-num.sh create mode 100755 tests/rscript_compare_numstr-numstr-vg.sh create mode 100755 tests/rscript_compare_numstr-numstr.sh create mode 100755 tests/rscript_compare_numstr-str-vg.sh create mode 100755 tests/rscript_compare_numstr-str.sh create mode 100755 tests/rscript_compare_str-num-vg.sh create mode 100755 tests/rscript_compare_str-num.sh create mode 100755 tests/rscript_compare_str-numstr-vg.sh create mode 100755 tests/rscript_compare_str-numstr.sh create mode 100755 tests/rscript_compare_str-str-vg.sh create mode 100755 tests/rscript_compare_str-str.sh create mode 100755 tests/rscript_contains.sh create mode 100755 tests/rscript_eq.sh create mode 100755 tests/rscript_eq_var.sh create mode 100755 tests/rscript_exists-not1.sh create mode 100755 tests/rscript_exists-not2.sh create mode 100755 tests/rscript_exists-not3.sh create mode 100755 tests/rscript_exists-not4.sh create mode 100755 tests/rscript_exists-yes.sh create mode 100755 tests/rscript_exists-yes2.sh create mode 100755 tests/rscript_field-vg.sh create mode 100755 tests/rscript_field.sh create mode 100755 tests/rscript_format_time.sh create mode 100755 tests/rscript_ge.sh create mode 100755 tests/rscript_ge_var.sh create mode 100755 tests/rscript_get_property-vg.sh create mode 100755 tests/rscript_get_property.sh create mode 100755 tests/rscript_gt.sh create mode 100755 tests/rscript_gt_var.sh create mode 100755 tests/rscript_hash32-vg.sh create mode 100755 tests/rscript_hash32.sh create mode 100755 tests/rscript_hash64-vg.sh create mode 100755 tests/rscript_hash64.sh create mode 100755 tests/rscript_http_request-vg.sh create mode 100755 tests/rscript_http_request.sh create mode 100755 tests/rscript_int2Hex.sh create mode 100755 tests/rscript_ipv42num.sh create mode 100755 tests/rscript_is_time.sh create mode 100755 tests/rscript_le.sh create mode 100755 tests/rscript_le_var.sh create mode 100755 tests/rscript_lt.sh create mode 100755 tests/rscript_lt_var.sh create mode 100755 tests/rscript_ne.sh create mode 100755 tests/rscript_ne_var.sh create mode 100755 tests/rscript_num2ipv4.sh create mode 100755 tests/rscript_number_comparison_LE-vg.sh create mode 100755 tests/rscript_number_comparison_LE.sh create mode 100755 tests/rscript_number_comparison_LT.sh create mode 100755 tests/rscript_optimizer1.sh create mode 100755 tests/rscript_parse_json-vg.sh create mode 100755 tests/rscript_parse_json.sh create mode 100755 tests/rscript_parse_time.sh create mode 100644 tests/rscript_parse_time_get-ts.py create mode 100755 tests/rscript_previous_action_suspended.sh create mode 100755 tests/rscript_prifilt.sh create mode 100755 tests/rscript_privdropgroup.sh create mode 100755 tests/rscript_privdropgroupid.sh create mode 100755 tests/rscript_privdropuser.sh create mode 100755 tests/rscript_privdropuserid.sh create mode 100755 tests/rscript_random.sh create mode 100755 tests/rscript_re_extract.sh create mode 100755 tests/rscript_re_extract_i.sh create mode 100755 tests/rscript_re_match-dbl_quotes.sh create mode 100755 tests/rscript_re_match.sh create mode 100755 tests/rscript_re_match_i.sh create mode 100755 tests/rscript_replace.sh create mode 100755 tests/rscript_replace_complex.sh create mode 100755 tests/rscript_ruleset_call.sh create mode 100755 tests/rscript_ruleset_call_indirect-basic.sh create mode 100755 tests/rscript_ruleset_call_indirect-invld.sh create mode 100755 tests/rscript_ruleset_call_indirect-var.sh create mode 100755 tests/rscript_script_error.sh create mode 100755 tests/rscript_set_memleak-vg.sh create mode 100755 tests/rscript_set_modify.sh create mode 100755 tests/rscript_set_unset_invalid_var.sh create mode 100755 tests/rscript_stop.sh create mode 100755 tests/rscript_stop2.sh create mode 100755 tests/rscript_str2num_negative.sh create mode 100755 tests/rscript_substring.sh create mode 100755 tests/rscript_trim-vg.sh create mode 100755 tests/rscript_trim.sh create mode 100755 tests/rscript_unaffected_reset.sh create mode 100755 tests/rscript_unflatten_arg1_unsuitable-vg.sh create mode 100755 tests/rscript_unflatten_arg1_unsuitable.sh create mode 100755 tests/rscript_unflatten_arg2_invalid-vg.sh create mode 100755 tests/rscript_unflatten_arg2_invalid.sh create mode 100755 tests/rscript_unflatten_conflict1-vg.sh create mode 100755 tests/rscript_unflatten_conflict1.sh create mode 100755 tests/rscript_unflatten_conflict2-vg.sh create mode 100755 tests/rscript_unflatten_conflict2.sh create mode 100755 tests/rscript_unflatten_conflict3-vg.sh create mode 100755 tests/rscript_unflatten_conflict3.sh create mode 100755 tests/rscript_unflatten_key_truncated-vg.sh create mode 100755 tests/rscript_unflatten_key_truncated.sh create mode 100755 tests/rscript_unflatten_non_object-vg.sh create mode 100755 tests/rscript_unflatten_non_object.sh create mode 100755 tests/rscript_unflatten_object-vg.sh create mode 100755 tests/rscript_unflatten_object.sh create mode 100755 tests/rscript_unflatten_object_exclamation-vg.sh create mode 100755 tests/rscript_unflatten_object_exclamation.sh create mode 100755 tests/rscript_wrap2.sh create mode 100755 tests/rscript_wrap3.sh create mode 100755 tests/rsf_getenv.sh create mode 100755 tests/ruleset-direct-queue.sh create mode 100755 tests/rulesetmultiqueue-v6.sh create mode 100755 tests/rulesetmultiqueue.sh create mode 100644 tests/set-envvars.in create mode 100755 tests/smtradfile-vg.sh create mode 100755 tests/smtradfile.sh create mode 100755 tests/sndrcv.sh create mode 100755 tests/sndrcv_drvr.sh create mode 100755 tests/sndrcv_drvr_noexit.sh create mode 100755 tests/sndrcv_dtls_anon_ciphers.sh create mode 100755 tests/sndrcv_dtls_certvalid-vg.sh create mode 100755 tests/sndrcv_dtls_certvalid.sh create mode 100755 tests/sndrcv_dtls_certvalid_ciphers.sh create mode 100755 tests/sndrcv_dtls_certvalid_missing.sh create mode 100755 tests/sndrcv_dtls_certvalid_permitted.sh create mode 100755 tests/sndrcv_failover.sh create mode 100755 tests/sndrcv_gzip.sh create mode 100755 tests/sndrcv_kafka.sh create mode 100755 tests/sndrcv_kafka_multi_topics.sh create mode 100755 tests/sndrcv_omsnmpv1_udp.sh create mode 100755 tests/sndrcv_omsnmpv1_udp_dynsource.sh create mode 100755 tests/sndrcv_omsnmpv1_udp_invalidoid.sh create mode 100755 tests/sndrcv_omudpspoof-bigmsg.sh create mode 100755 tests/sndrcv_omudpspoof.sh create mode 100755 tests/sndrcv_omudpspoof_nonstdpt.sh create mode 100755 tests/sndrcv_ossl_cert_chain.sh create mode 100755 tests/sndrcv_relp-vg-rcvr.sh create mode 100755 tests/sndrcv_relp-vg-sender.sh create mode 100755 tests/sndrcv_relp.sh create mode 100755 tests/sndrcv_relp_dflt_pt.sh create mode 100755 tests/sndrcv_relp_rebind.sh create mode 100755 tests/sndrcv_relp_tls-cfgcmd.sh create mode 100755 tests/sndrcv_relp_tls.sh create mode 100755 tests/sndrcv_relp_tls_certvalid.sh create mode 100755 tests/sndrcv_relp_tls_chainedcert.sh create mode 100755 tests/sndrcv_relp_tls_prio.sh create mode 100755 tests/sndrcv_tls_anon_hostname.sh create mode 100755 tests/sndrcv_tls_anon_ipv4.sh create mode 100755 tests/sndrcv_tls_anon_ipv6.sh create mode 100755 tests/sndrcv_tls_anon_rebind.sh create mode 100755 tests/sndrcv_tls_certless_clientonly.sh create mode 100755 tests/sndrcv_tls_certvalid.sh create mode 100755 tests/sndrcv_tls_certvalid_action_level.sh create mode 100755 tests/sndrcv_tls_certvalid_expired.sh create mode 100755 tests/sndrcv_tls_certvalid_expired_defaultmode.sh create mode 100755 tests/sndrcv_tls_certvalid_revoked.sh create mode 100755 tests/sndrcv_tls_client_missing_cert.sh create mode 100755 tests/sndrcv_tls_gtls_serveranon_gtls_clientanon.sh create mode 100755 tests/sndrcv_tls_gtls_serveranon_ossl_clientanon.sh create mode 100755 tests/sndrcv_tls_gtls_servercert_gtls_clientanon.sh create mode 100755 tests/sndrcv_tls_gtls_servercert_gtls_clientanon_legacy.sh create mode 100755 tests/sndrcv_tls_gtls_servercert_ossl_clientanon.sh create mode 100755 tests/sndrcv_tls_ossl_anon_ciphers.sh create mode 100755 tests/sndrcv_tls_ossl_anon_ipv4.sh create mode 100755 tests/sndrcv_tls_ossl_anon_ipv6.sh create mode 100755 tests/sndrcv_tls_ossl_anon_rebind.sh create mode 100755 tests/sndrcv_tls_ossl_certvalid.sh create mode 100755 tests/sndrcv_tls_ossl_certvalid_action_level.sh create mode 100755 tests/sndrcv_tls_ossl_certvalid_ciphers.sh create mode 100755 tests/sndrcv_tls_ossl_certvalid_expired.sh create mode 100755 tests/sndrcv_tls_ossl_certvalid_revoked.sh create mode 100755 tests/sndrcv_tls_ossl_certvalid_tlscommand.sh create mode 100755 tests/sndrcv_tls_ossl_serveranon_gtls_clientanon.sh create mode 100755 tests/sndrcv_tls_ossl_serveranon_ossl_clientanon.sh create mode 100755 tests/sndrcv_tls_ossl_servercert_gtls_clientanon.sh create mode 100755 tests/sndrcv_tls_ossl_servercert_ossl_clientanon.sh create mode 100755 tests/sndrcv_tls_priorityString.sh create mode 100755 tests/sndrcv_udp.sh create mode 100755 tests/sndrcv_udp_nonstdpt.sh create mode 100755 tests/sndrcv_udp_nonstdpt_v6.sh create mode 100755 tests/snmptrapreceiver.py create mode 100755 tests/sparse_array_lookup_table-vg.sh create mode 100755 tests/sparse_array_lookup_table.sh create mode 100755 tests/stats-cee-vg.sh create mode 100755 tests/stats-cee.sh create mode 100755 tests/stats-json-es.sh create mode 100755 tests/stats-json-vg.sh create mode 100755 tests/stats-json.sh create mode 100755 tests/stop-localvar.sh create mode 100755 tests/stop-msgvar.sh create mode 100755 tests/stop.sh create mode 100755 tests/stop_when_array_has_element.sh create mode 100755 tests/suspend-omfwd-via-file.sh create mode 100755 tests/suspend-via-file.sh create mode 100644 tests/syslog_caller.c create mode 100755 tests/tabescape_dflt-udp.sh create mode 100755 tests/tabescape_dflt.sh create mode 100755 tests/tabescape_off-udp.sh create mode 100755 tests/tabescape_off.sh create mode 100755 tests/tabescape_on.sh create mode 100755 tests/tcp-msgreduc-vg.sh create mode 100755 tests/tcp_forwarding_dflt_tpl.sh create mode 100755 tests/tcp_forwarding_ns_tpl.sh create mode 100755 tests/tcp_forwarding_retries.sh create mode 100755 tests/tcp_forwarding_tpl.sh create mode 100644 tests/tcpflood.c create mode 100755 tests/tcpflood_wrong_option_output.sh create mode 100755 tests/template-const-jsonf.sh create mode 100755 tests/template-json.sh create mode 100755 tests/template-pos-from-to-lowercase.sh create mode 100755 tests/template-pos-from-to-missing-jsonvar.sh create mode 100755 tests/template-pos-from-to-oversize-lowercase.sh create mode 100755 tests/template-pos-from-to-oversize.sh create mode 100755 tests/template-pos-from-to.sh create mode 100755 tests/template-pure-json.sh create mode 100755 tests/template-topos-neg.sh create mode 100644 tests/test.mmdb create mode 100644 tests/test_id.c create mode 100755 tests/test_id_usage_output.sh create mode 100755 tests/testsuites/abort-uncleancfg-goodcfg.conf create mode 100644 tests/testsuites/action-tx-errfile.result create mode 100644 tests/testsuites/complex_replace_input create mode 100644 tests/testsuites/date_time_msg create mode 100644 tests/testsuites/docroot/file.txt create mode 100644 tests/testsuites/dynstats_empty_input create mode 100644 tests/testsuites/dynstats_input create mode 100644 tests/testsuites/dynstats_input_1 create mode 100644 tests/testsuites/dynstats_input_2 create mode 100644 tests/testsuites/dynstats_input_3 create mode 100644 tests/testsuites/dynstats_input_more_0 create mode 100644 tests/testsuites/dynstats_input_more_1 create mode 100644 tests/testsuites/dynstats_input_more_2 create mode 100644 tests/testsuites/es.yml create mode 100644 tests/testsuites/htpasswd create mode 100644 tests/testsuites/imfile-old-state-file_imfile-state_.-rsyslog.input create mode 100644 tests/testsuites/imhttp-large-data.txt create mode 100644 tests/testsuites/imptcp_framing_regex-oversize.testdata create mode 100644 tests/testsuites/imptcp_framing_regex.testdata create mode 100644 tests/testsuites/imptcp_multi_line.testdata create mode 100644 tests/testsuites/incltest.d/include.conf create mode 100644 tests/testsuites/include-std-omfile-action.conf create mode 100644 tests/testsuites/include-std1-omfile-action.conf create mode 100644 tests/testsuites/include-std2-omfile-action.conf create mode 100644 tests/testsuites/invalid.conf create mode 100644 tests/testsuites/json_array_input create mode 100644 tests/testsuites/json_nonarray_input create mode 100644 tests/testsuites/json_object_input create mode 100644 tests/testsuites/kafka-server.dep_wrk1.properties create mode 100644 tests/testsuites/kafka-server.dep_wrk2.properties create mode 100644 tests/testsuites/kafka-server.dep_wrk3.properties create mode 100644 tests/testsuites/kafka-server.properties create mode 100755 tests/testsuites/mmexternal-SegFault-mm-python.py create mode 100644 tests/testsuites/mmnormalize_processing_tests.rulebase create mode 100644 tests/testsuites/mmnormalize_regex.rulebase create mode 100644 tests/testsuites/mmnormalize_tokenized.rulebase create mode 100644 tests/testsuites/mmnormalize_variable.rulebase create mode 100644 tests/testsuites/msgvar-concurrency-array-event.tags.rulebase create mode 100644 tests/testsuites/msgvar-concurrency-array.rulebase create mode 100644 tests/testsuites/mysql-select-msg.sql create mode 100644 tests/testsuites/mysql-truncate.sql create mode 100644 tests/testsuites/no_octet_counted.testdata create mode 100755 tests/testsuites/omprog-close-unresponsive-bin.sh create mode 100755 tests/testsuites/omprog-defaults-bin.sh create mode 100755 tests/testsuites/omprog-feedback-bin.sh create mode 100755 tests/testsuites/omprog-feedback-mt-bin.sh create mode 100755 tests/testsuites/omprog-feedback-timeout-bin.sh create mode 100755 tests/testsuites/omprog-output-capture-bin.sh create mode 100755 tests/testsuites/omprog-output-capture-mt-bin.py create mode 100755 tests/testsuites/omprog-restart-terminated-bin.sh create mode 100755 tests/testsuites/omprog-single-instance-bin.sh create mode 100755 tests/testsuites/omprog-transactions-bin.sh create mode 100644 tests/testsuites/pgsql-basic.sql create mode 100644 tests/testsuites/pgsql-select-msg.sql create mode 100644 tests/testsuites/pgsql-select-syslogtag.sql create mode 100644 tests/testsuites/pmnormalize_basic.rulebase create mode 100644 tests/testsuites/regex_input create mode 100644 tests/testsuites/spframingfix.testdata create mode 100644 tests/testsuites/stop_when_array_has_elem_input create mode 100644 tests/testsuites/tokenized_input create mode 100644 tests/testsuites/valid.conf create mode 100644 tests/testsuites/variable_leading_underscore.conf create mode 100644 tests/testsuites/wrap3_input create mode 100644 tests/testsuites/x.509/ca-key.pem create mode 100644 tests/testsuites/x.509/ca.pem create mode 100644 tests/testsuites/x.509/ca.srl create mode 100644 tests/testsuites/x.509/client-cert-new.pem create mode 100644 tests/testsuites/x.509/client-cert.pem create mode 100644 tests/testsuites/x.509/client-expired-cert.pem create mode 100644 tests/testsuites/x.509/client-expired-key.pem create mode 100644 tests/testsuites/x.509/client-key.pem create mode 100644 tests/testsuites/x.509/client-new.csr create mode 100644 tests/testsuites/x.509/client-revoked-key.pem create mode 100644 tests/testsuites/x.509/client-revoked-valid.pem create mode 100644 tests/testsuites/x.509/client-revoked.csr create mode 100644 tests/testsuites/x.509/client-revoked.pem create mode 100644 tests/testsuites/x.509/crl.pem create mode 100644 tests/testsuites/x.509/index.txt create mode 100644 tests/testsuites/x.509/index.txt.attr create mode 100644 tests/testsuites/x.509/machine-cert.pem create mode 100644 tests/testsuites/x.509/machine-key.pem create mode 100644 tests/testsuites/x.509/newcerts/01.pem create mode 100644 tests/testsuites/x.509/newcerts/02.pem create mode 100644 tests/testsuites/x.509/newcerts/03.pem create mode 100644 tests/testsuites/x.509/newcerts/04.pem create mode 100644 tests/testsuites/x.509/openssl-cmds.sh create mode 100644 tests/testsuites/x.509/openssl.cnf create mode 100644 tests/testsuites/x.509/serial create mode 100644 tests/testsuites/xlate.lkp_tbl create mode 100644 tests/testsuites/xlate_array.lkp_tbl create mode 100644 tests/testsuites/xlate_array_empty_table.lkp_tbl create mode 100644 tests/testsuites/xlate_array_misuse.lkp_tbl create mode 100644 tests/testsuites/xlate_array_more.lkp_tbl create mode 100644 tests/testsuites/xlate_array_more_misuse.lkp_tbl create mode 100644 tests/testsuites/xlate_array_more_with_duplicates_and_nomatch.lkp_tbl create mode 100644 tests/testsuites/xlate_array_no_index.lkp_tbl create mode 100644 tests/testsuites/xlate_array_no_table.lkp_tbl create mode 100644 tests/testsuites/xlate_array_no_value.lkp_tbl create mode 100644 tests/testsuites/xlate_empty_file.lkp_tbl create mode 100644 tests/testsuites/xlate_incorrect_type.lkp_tbl create mode 100644 tests/testsuites/xlate_incorrect_version.lkp_tbl create mode 100644 tests/testsuites/xlate_invalid_json.lkp_tbl create mode 100644 tests/testsuites/xlate_more.lkp_tbl create mode 100644 tests/testsuites/xlate_more_with_duplicates_and_nomatch.lkp_tbl create mode 100644 tests/testsuites/xlate_sparseArray_empty_table.lkp_tbl create mode 100644 tests/testsuites/xlate_sparseArray_no_index.lkp_tbl create mode 100644 tests/testsuites/xlate_sparseArray_no_table.lkp_tbl create mode 100644 tests/testsuites/xlate_sparseArray_no_value.lkp_tbl create mode 100644 tests/testsuites/xlate_sparse_array.lkp_tbl create mode 100644 tests/testsuites/xlate_sparse_array_more.lkp_tbl create mode 100644 tests/testsuites/xlate_sparse_array_more_with_duplicates_and_nomatch.lkp_tbl create mode 100644 tests/testsuites/xlate_string_empty_table.lkp_tbl create mode 100644 tests/testsuites/xlate_string_no_index.lkp_tbl create mode 100644 tests/testsuites/xlate_string_no_table.lkp_tbl create mode 100644 tests/testsuites/xlate_string_no_value.lkp_tbl create mode 100644 tests/testsuites/zoo.cfg create mode 100644 tests/testsuites/zoo.dep_wrk1.cfg create mode 100644 tests/testsuites/zoo.dep_wrk2.cfg create mode 100644 tests/testsuites/zoo.dep_wrk3.cfg create mode 100755 tests/threadingmq.sh create mode 100755 tests/threadingmqaq.sh create mode 100755 tests/timegenerated-dateordinal-invld.sh create mode 100755 tests/timegenerated-dateordinal.sh create mode 100755 tests/timegenerated-utc-legacy.sh create mode 100755 tests/timegenerated-utc.sh create mode 100755 tests/timegenerated-uxtimestamp-invld.sh create mode 100755 tests/timegenerated-uxtimestamp.sh create mode 100755 tests/timegenerated-ymd.sh create mode 100755 tests/timereported-utc-legacy.sh create mode 100755 tests/timereported-utc-vg.sh create mode 100755 tests/timereported-utc.sh create mode 100755 tests/timestamp-3164.sh create mode 100755 tests/timestamp-3339.sh create mode 100755 tests/timestamp-isoweek.sh create mode 100755 tests/timestamp-mysql.sh create mode 100755 tests/timestamp-pgsql.sh create mode 100755 tests/timestamp-subseconds.sh create mode 100644 tests/tls-certs/ca-fail.pem create mode 100644 tests/tls-certs/ca-key.pem create mode 100644 tests/tls-certs/ca.pem create mode 100644 tests/tls-certs/cert-fail.pem create mode 100644 tests/tls-certs/cert.pem create mode 100644 tests/tls-certs/certchained.pem create mode 100644 tests/tls-certs/key-fail.pem create mode 100644 tests/tls-certs/key.pem create mode 100644 tests/travis/trusty.supp create mode 100755 tests/udp-msgreduc-orgmsg-vg.sh create mode 100755 tests/udp-msgreduc-vg.sh create mode 100755 tests/unused_lookup_table-vg.sh create mode 100755 tests/urlencode.py create mode 100755 tests/uxsock_simple.sh create mode 100644 tests/uxsockrcvr.c create mode 100755 tests/validation-run.sh create mode 100755 tests/variable_leading_underscore.sh create mode 100644 tests/with_space.mmdb create mode 100755 tests/wr_large_async.sh create mode 100755 tests/wr_large_sync.sh create mode 100755 tests/wtpShutdownAll-assertionFailure.sh create mode 100755 tests/zstd-vg.sh create mode 100755 tests/zstd.sh (limited to 'tests') diff --git a/tests/1.rstest b/tests/1.rstest new file mode 100644 index 0000000..4716e8b --- /dev/null +++ b/tests/1.rstest @@ -0,0 +1,26 @@ +# a simple RainerScript test +result: 0 +in: +'test 1' <> $var or /* some comment */($SEVERITY == -4 +5 -(3 * - 2) and $fromhost == '127.0.0.1') then +$$$ +out: +00000000: push_const test 1[cstr] +00000001: push_msgvar var[cstr] +00000002: cmp_!= +00000003: push_msgvar severity[cstr] +00000004: push_const 4[nbr] +00000005: unary_minus +00000006: push_const 5[nbr] +00000007: add +00000008: push_const 3[nbr] +00000009: push_const 2[nbr] +00000010: unary_minus +00000011: mul +00000012: sub +00000013: cmp_== +00000014: push_msgvar fromhost[cstr] +00000015: push_const 127.0.0.1[cstr] +00000016: cmp_== +00000017: and +00000018: or +$$$ diff --git a/tests/2.rstest b/tests/2.rstest new file mode 100644 index 0000000..f0e8205 --- /dev/null +++ b/tests/2.rstest @@ -0,0 +1,10 @@ +# a simple RainerScript test +result: 0 +in: +$msg contains 'test' then +$$$ +out: +00000000: push_msgvar msg[cstr] +00000001: push_const test[cstr] +00000002: contains +$$$ diff --git a/tests/3.rstest b/tests/3.rstest new file mode 100644 index 0000000..e75d975 --- /dev/null +++ b/tests/3.rstest @@ -0,0 +1,21 @@ +# a simple RainerScript test +result: 0 +in: +strlen($msg & strlen('abc')) > 20 +30 + -40 then +$$$ +out: +00000000: push_msgvar msg[cstr] +00000001: push_const abc[cstr] +00000002: push_const 1[nbr] +00000003: func_call strlen +00000004: strconcat +00000005: push_const 1[nbr] +00000006: func_call strlen +00000007: push_const 20[nbr] +00000008: push_const 30[nbr] +00000009: add +00000010: push_const 40[nbr] +00000011: unary_minus +00000012: add +00000013: cmp_> +$$$ diff --git a/tests/CI/centos6-9.supp b/tests/CI/centos6-9.supp new file mode 100644 index 0000000..e77e3e1 --- /dev/null +++ b/tests/CI/centos6-9.supp @@ -0,0 +1,32 @@ +{ + CentOS 6.9 problem in either helgrind or system lib + Helgrind:Misc + fun:pthread_cond_destroy_WRK + fun:pthread_cond_destroy@* + fun:qqueueDestruct + fun:actionDestruct + fun:cnfstmtDestruct + fun:cnfstmtDestructLst + fun:cnfstmtDestruct + fun:cnfstmtDestructLst + fun:doDestructCnfStmt + fun:llExecFunc + fun:destructAllActions + fun:main +} +{ + libcrypto issue - only seen on Centos 6 so pretty sure false positive + Memcheck:Leak + fun:malloc + fun:CRYPTO_malloc + fun:EC_KEY_new + fun:EC_KEY_new_by_curve_name + fun:osslAnonInit + fun:SetAuthMode + fun:LstnInit + fun:LstnInit + fun:LstnInit + fun:initTCPListener + fun:create_tcp_socket + fun:doOpenLstnSocks +} diff --git a/tests/CI/centos7.supp b/tests/CI/centos7.supp new file mode 100644 index 0000000..424dd72 --- /dev/null +++ b/tests/CI/centos7.supp @@ -0,0 +1,9 @@ +{ + CentOS 7 system lib memleak + Memcheck:Free + fun:free + fun:__libc_freeres + fun:_vgnU_freeres + fun:__run_exit_handlers + ... +} diff --git a/tests/CI/gcov.supp b/tests/CI/gcov.supp new file mode 100644 index 0000000..61269dd --- /dev/null +++ b/tests/CI/gcov.supp @@ -0,0 +1,6 @@ +{ + gcc -coverage exceptions + Helgrind:Race + fun:__gcov_merge_add + ... +} diff --git a/tests/CI/ubuntu20.04.supp b/tests/CI/ubuntu20.04.supp new file mode 100644 index 0000000..2638a7f --- /dev/null +++ b/tests/CI/ubuntu20.04.supp @@ -0,0 +1,42 @@ +{ + librdkafka issue + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:checkInstance + fun:activateCnf + fun:tellModulesActivateConfig + fun:activate + fun:initAll +} + +{ + librdkafka issue + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + ... + obj:* + fun:checkInstance + fun:activateCnf + fun:tellModulesActivateConfig + fun:activate + fun:initAll + fun:main +} + +{ + invalid atexit call - seems to stem back to libcurl + Helgrind:Misc + ... + fun:_dl_fini + fun:__run_exit_handlers + fun:exit + fun:(below main) +} diff --git a/tests/DevNull.cfgtest b/tests/DevNull.cfgtest new file mode 100644 index 0000000..bc43693 --- /dev/null +++ b/tests/DevNull.cfgtest @@ -0,0 +1,2 @@ +rsyslogd: CONFIG ERROR: there are no active actions configured. Inputs will run, but no output whatsoever is created. [try https://www.rsyslog.com/e/2103 ] +rsyslogd: EMERGENCY CONFIGURATION ACTIVATED - fix rsyslog config file! diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 0000000..70b0a60 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,3148 @@ +TEST_EXTENSIONS=.sh + +if ENABLE_TESTBENCH + +CLEANFILES=\ + *_*.conf \ + rsyslog*.started work-*.conf rsyslog.random.data \ + rsyslog*.pid.save xlate*.lkp_tbl \ + log log* *.log \ + work \ + test-spool test-logdir stat-file1 \ + rsyslog.pipe rsyslog.input.* \ + rsyslog.input rsyslog.input.* imfile-state:* omkafka-failed.data \ + rsyslog.input-symlink.log rsyslog-link.*.log targets \ + HOSTNAME \ + rstb_* \ + zookeeper.pid \ + tmp.qi nocert + +CLEANFILES+= \ + IN_AUTO_DEBUG +# IN_AUTO_DEBUG should be deleted each time make check is run, but +# there exists no such hook. Se we at least delete it on make clean. + + +pkglib_LTLIBRARIES = + +pkglib_LTLIBRARIES += liboverride_gethostname.la +liboverride_gethostname_la_SOURCES = override_gethostname.c +liboverride_gethostname_la_CFLAGS = +liboverride_gethostname_la_LDFLAGS = -avoid-version -shared + +pkglib_LTLIBRARIES += liboverride_gethostname_nonfqdn.la +liboverride_gethostname_nonfqdn_la_SOURCES = override_gethostname_nonfqdn.c +liboverride_gethostname_nonfqdn_la_CFLAGS = +liboverride_gethostname_nonfqdn_la_LDFLAGS = -avoid-version -shared + +pkglib_LTLIBRARIES += liboverride_getaddrinfo.la +liboverride_getaddrinfo_la_SOURCES = override_getaddrinfo.c +liboverride_getaddrinfo_la_CFLAGS = +liboverride_getaddrinfo_la_LDFLAGS = -avoid-version -shared + +# TODO: reenable TESTRUNS = rt_init rscript +check_PROGRAMS = $(TESTRUNS) ourtail tcpflood chkseq msleep randomgen \ + diagtalker uxsockrcvr syslog_caller inputfilegen minitcpsrv \ + omrelp_dflt_port \ + mangle_qi \ + have_relpSrvSetOversizeMode \ + have_relpEngineSetTLSLibByName \ + have_relpSrvSetTlsConfigCmd \ + check_relpEngineVersion \ + test_id +if ENABLE_JOURNAL_TESTS +if ENABLE_IMJOURNAL +check_PROGRAMS += journal_print +endif +endif # if ENABLE_JOURNAL_TESTS +TESTS = $(TESTRUNS) + +if ENABLE_ELASTICSEARCH_TESTS_MINIMAL +TESTS += \ + es-duplicated-ruleset.sh +# the following test need to be serialized: +TESTS += \ + es-basic-es6.0.sh \ + es-basic-es7.14.sh \ + es-basic.sh \ + es-basic-bulk.sh +es-basic-es7.14.log: es-basic-es6.0.log +es-basic.log: es-basic-es7.14.log +es-basic-bulk.log: es-basic.log +es-basic-server.log: es-basic-bulk.log + +# special "test" for stopping ES once all ES tests are done +TESTS += elasticsearch-stop.sh +elasticsearch-stop.log: es-basic-bulk.log + + +if HAVE_VALGRIND +TESTS += \ + es-duplicated-ruleset-vg.sh \ + es-basic-vg.sh +es-basic-vg.log: es-basic-bulk.log +# for next if block: +es-basic-server.log: es-basic-vg.log +elasticsearch-stop.log: es-basic-vg.log +if ENABLE_HELGRIND +TESTS += \ + es-basic-vgthread.sh +es-basic-vgthread.log: es-basic-vg.log +# for next if block: +es-basic-server.log: es-basic-vgthread.log +elasticsearch-stop.log: es-basic-vgthread.log +endif # ENABLE_HELGRIND +endif # HAVE_VALGRIND +endif # ENABLE_ELASTICSEARCH_TESTS_MINIMAL + +if ENABLE_ELASTICSEARCH_TESTS +TESTS += \ + es-basic-server.sh \ + es-execOnlyWhenPreviousSuspended.sh \ + es-maxbytes-bulk.sh \ + es-basic-errfile-empty.sh \ + es-basic-errfile-popul.sh \ + es-bulk-errfile-empty.sh \ + es-bulk-errfile-popul.sh \ + es-searchType-empty.sh \ + diskqueue-multithread-es.sh \ + es-writeoperation.sh + +es-basic-server.log: es-basic-bulk.log +es-execOnlyWhenPreviousSuspended.log: es-basic-server.log +es-maxbytes-bulk.log: es-execOnlyWhenPreviousSuspended.log +es-basic-errfile-empty.log: es-maxbytes-bulk.log +es-basic-errfile-popul.log: es-basic-errfile-empty.log +es-bulk-errfile-empty.log: es-basic-errfile-popul.log +es-bulk-errfile-popul.log: es-bulk-errfile-empty.log +es-searchType-empty.log: es-bulk-errfile-popul.log +diskqueue-multithread-es.log: es-searchType-empty.log +es-writeoperation.log: diskqueue-multithread-es.log +elasticsearch-stop.log: es-writeoperation.log + +if ENABLE_IMPSTATS +TESTS += \ + es-basic-ha.sh \ + es-bulk-retry.sh + +es-basic-ha.log: es-writeoperation.log +es-bulk-retry.log: es-basic-ha.log +elasticsearch-stop.log: es-bulk-retry.log +endif +if ENABLE_IMFILE +TESTS += \ + es-bulk-errfile-popul-def-format.sh \ + es-bulk-errfile-popul-erronly.sh \ + es-bulk-errfile-popul-erronly-interleaved.sh \ + es-bulk-errfile-popul-def-interleaved.sh + +es-bulk-errfile-popul-def-format.log: es-bulk-retry.log +es-bulk-errfile-popul-erronly.log: es-bulk-errfile-popul-def-format.log +es-bulk-errfile-popul-erronly-interleaved.log: es-bulk-errfile-popul-erronly.log +es-bulk-errfile-popul-def-interleaved.log: es-bulk-errfile-popul-erronly-interleaved.log +elasticsearch-stop.log: es-bulk-errfile-popul-def-interleaved.log +endif +if HAVE_VALGRIND +TESTS += \ + es-basic-bulk-vg.sh \ + es-basic-ha-vg.sh + +es-basic-bulk-vg.log: es-writeoperation.log +es-basic-bulk-vg.log: es-bulk-retry.log +es-basic-bulk-vg.log: es-bulk-errfile-popul-def-interleaved.log +es-basic-ha-vg.log: es-basic-bulk-vg.log +elasticsearch-stop.log: es-basic-ha-vg.log +endif +endif # if ENABLE_ELASTICSEARCH_TESTS + + + +if ENABLE_DEFAULT_TESTS +TESTS += \ + immark.sh \ + immark-inputname.sh \ + immark-ruleset.sh \ + immark-ruleset-custom-msg.sh \ + operatingstate-basic.sh \ + operatingstate-empty.sh \ + operatingstate-unclean.sh \ + smtradfile.sh \ + loadbalance.sh \ + empty-hostname.sh \ + timestamp-3164.sh \ + timestamp-3339.sh \ + timestamp-isoweek.sh \ + timestamp-mysql.sh \ + timestamp-pgsql.sh \ + timestamp-subseconds.sh \ + msleep_usage_output.sh \ + mangle_qi_usage_output.sh \ + minitcpsrv_usage_output.sh \ + test_id_usage_output.sh \ + prop-programname.sh \ + prop-programname-with-slashes.sh \ + hostname-with-slash-pmrfc5424.sh \ + hostname-with-slash-pmrfc3164.sh \ + hostname-with-slash-dflt-invld.sh \ + func-substring-invld-startpos.sh \ + func-substring-large-endpos.sh \ + func-substring-large-neg-endpos.sh \ + func-substring-relative-endpos.sh \ + hostname-with-slash-dflt-slash-valid.sh \ + empty-app-name.sh \ + stop-localvar.sh \ + stop-msgvar.sh \ + glbl-ruleset-queue-defaults.sh \ + glbl-internalmsg_severity-info-shown.sh \ + glbl-internalmsg_severity-debug-shown.sh \ + glbl-internalmsg_severity-debug-not_shown.sh \ + glbl-umask.sh \ + glbl-unloadmodules.sh \ + glbl-invld-param.sh \ + glbl_setenv_2_vars.sh \ + glbl_setenv_err.sh \ + glbl_setenv_err_too_long.sh \ + glbl_setenv.sh \ + mmexternal-SegFault.sh \ + nested-call-shutdown.sh \ + dnscache-TTL-0.sh \ + invalid_nested_include.sh \ + omfwd-tls-invalid-permitExpiredCerts.sh \ + omfwd-keepalive.sh \ + omusrmsg-errmsg-no-params.sh \ + omusrmsg-noabort.sh \ + omfile-module-params.sh \ + omfile-read-only-errmsg.sh \ + omfile-null-filename.sh \ + omfile-whitespace-filename.sh \ + omfile-read-only.sh \ + omfile-outchannel.sh \ + omfile_both_files_set.sh \ + omfile_hup.sh \ + msgvar-concurrency.sh \ + localvar-concurrency.sh \ + exec_tpl-concurrency.sh \ + rscript_privdropuser.sh \ + rscript_privdropuserid.sh \ + rscript_privdropgroup.sh \ + rscript_privdropgroupid.sh \ + privdropuser.sh \ + privdropuserid.sh \ + privdropgroup.sh \ + privdropgroupid.sh \ + privdropabortonidfail.sh \ + privdropabortonidfaillegacy.sh \ + json-nonstring.sh \ + json-onempty-at-end.sh \ + template-json.sh \ + template-pure-json.sh \ + template-pos-from-to.sh \ + template-pos-from-to-lowercase.sh \ + template-pos-from-to-oversize.sh \ + template-pos-from-to-oversize-lowercase.sh \ + template-pos-from-to-missing-jsonvar.sh \ + template-const-jsonf.sh \ + template-topos-neg.sh \ + fac_authpriv.sh \ + fac_local0.sh \ + fac_local7.sh \ + fac_mail.sh \ + fac_news.sh \ + fac_ftp.sh \ + fac_ntp.sh \ + fac_uucp.sh \ + fac_invld1.sh \ + fac_invld2.sh \ + fac_invld3.sh \ + fac_invld4_rfc5424.sh \ + rfc5424parser-sp_at_msg_start.sh \ + compresssp.sh \ + compresssp-stringtpl.sh \ + rawmsg-after-pri.sh \ + rfc5424parser.sh \ + pmrfc3164-msgFirstSpace.sh \ + pmrfc3164-AtSignsInHostname.sh \ + pmrfc3164-AtSignsInHostname_off.sh \ + pmrfc3164-tagEndingByColon.sh \ + pmrfc3164-defaultTag.sh \ + pmrfc3164-json.sh \ + tcp_forwarding_tpl.sh \ + tcp_forwarding_dflt_tpl.sh \ + tcp_forwarding_retries.sh \ + mainq_actq_DA.sh \ + queue_warnmsg-oversize.sh \ + queue-minbatch.sh \ + queue-minbatch-queuefull.sh \ + queue-direct-with-no-params.sh \ + queue-direct-with-params-given.sh \ + arrayqueue.sh \ + global_vars.sh \ + no-parser-errmsg.sh \ + da-mainmsg-q.sh \ + validation-run.sh \ + msgdup.sh \ + msgdup_props.sh \ + empty-ruleset.sh \ + ruleset-direct-queue.sh \ + imtcp-listen-port-file-2.sh \ + allowed-sender-tcp-ok.sh \ + allowed-sender-tcp-fail.sh \ + allowed-sender-tcp-hostname-ok.sh \ + allowed-sender-tcp-hostname-fail.sh \ + imtcp-discard-truncated-msg.sh \ + imtcp-basic.sh \ + imtcp-basic-hup.sh \ + imtcp-maxFrameSize.sh \ + imtcp-msg-truncation-on-number.sh \ + imtcp-msg-truncation-on-number2.sh \ + imtcp-NUL.sh \ + imtcp-NUL-rawmsg.sh \ + imtcp_incomplete_frame_at_end.sh \ + imtcp-multiport.sh \ + imtcp-bigmessage-octetcounting.sh \ + imtcp-bigmessage-octetstuffing.sh \ + da-queue-persist.sh \ + daqueue-persist.sh \ + daqueue-invld-qi.sh \ + daqueue-dirty-shutdown.sh \ + diskq-rfc5424.sh \ + diskqueue.sh \ + diskqueue-fsync.sh \ + diskqueue-full.sh \ + diskqueue-fail.sh \ + diskqueue-non-unique-prefix.sh \ + rulesetmultiqueue.sh \ + rulesetmultiqueue-v6.sh \ + manytcp.sh \ + rsf_getenv.sh \ + msg-deadlock-headerless-noappname.sh \ + imtcp_conndrop.sh \ + imtcp_addtlframedelim.sh \ + imtcp_no_octet_counted.sh \ + imtcp_addtlframedelim_on_input.sh \ + imtcp_spframingfix.sh \ + imtcp-connection-msg-recieved.sh \ + sndrcv.sh \ + sndrcv_failover.sh \ + sndrcv_gzip.sh \ + sndrcv_udp_nonstdpt.sh \ + sndrcv_udp_nonstdpt_v6.sh \ + imudp_thread_hang.sh \ + sndrcv_udp_nonstdpt_v6.sh \ + asynwr_simple.sh \ + asynwr_simple_2.sh \ + asynwr_timeout.sh \ + asynwr_timeout_2.sh \ + asynwr_small.sh \ + asynwr_tinybuf.sh \ + wr_large_async.sh \ + wr_large_sync.sh \ + asynwr_deadlock.sh \ + asynwr_deadlock_2.sh \ + asynwr_deadlock2.sh \ + asynwr_deadlock4.sh \ + asynwr_dynfile_flushtxend-off.sh \ + abort-uncleancfg-goodcfg.sh \ + abort-uncleancfg-goodcfg-check.sh \ + abort-uncleancfg-badcfg-check.sh \ + abort-uncleancfg-badcfg-check_1.sh \ + variable_leading_underscore.sh \ + gzipwr_hup_multi_file.sh \ + gzipwr_hup_single_file.sh \ + gzipwr_rscript.sh \ + gzipwr_flushInterval.sh \ + gzipwr_flushOnTXEnd.sh \ + gzipwr_large.sh \ + gzipwr_large_dynfile.sh \ + gzipwr_hup.sh \ + dynfile_invld_async.sh \ + dynfile_invld_sync.sh \ + dynfile_invalid2.sh \ + complex1.sh \ + queue-persist.sh \ + pipeaction.sh \ + execonlyonce.sh \ + execonlywhenprevsuspended.sh \ + execonlywhenprevsuspended2.sh \ + execonlywhenprevsuspended3.sh \ + execonlywhenprevsuspended4.sh \ + execonlywhenprevsuspended_multiwrkr.sh \ + execonlywhenprevsuspended-queue.sh \ + execonlywhenprevsuspended-nonsusp.sh \ + execonlywhenprevsuspended-nonsusp-queue.sh \ + pipe_noreader.sh \ + dircreate_dflt.sh \ + dircreate_off.sh \ + imuxsock_legacy.sh \ + imuxsock_logger.sh \ + imuxsock_logger_ratelimit.sh \ + imuxsock_logger_ruleset.sh \ + imuxsock_logger_ruleset_ratelimit.sh \ + imuxsock_logger_err.sh \ + imuxsock_logger_parserchain.sh \ + imuxsock_traillf.sh \ + imuxsock_ccmiddle.sh \ + imuxsock_logger_syssock.sh \ + imuxsock_traillf_syssock.sh \ + imuxsock_ccmiddle_syssock.sh \ + discard-rptdmsg.sh \ + discard-allmark.sh \ + discard.sh \ + stop.sh \ + failover-async.sh \ + failover-double.sh \ + failover-basic.sh \ + failover-rptd.sh \ + failover-no-rptd.sh \ + failover-no-basic.sh \ + suspend-via-file.sh \ + suspend-omfwd-via-file.sh \ + externalstate-failed-rcvr.sh \ + rcvr_fail_restore.sh \ + rscript_contains.sh \ + rscript_bare_var_root.sh \ + rscript_bare_var_root-empty.sh \ + rscript_ipv42num.sh \ + rscript_field.sh \ + rscript_stop.sh \ + rscript_stop2.sh \ + rscript_prifilt.sh \ + rscript_optimizer1.sh \ + rscript_ruleset_call.sh \ + rscript_ruleset_call_indirect-basic.sh \ + rscript_ruleset_call_indirect-var.sh \ + rscript_ruleset_call_indirect-invld.sh \ + rscript_set_unset_invalid_var.sh \ + rscript_set_modify.sh \ + rscript_unaffected_reset.sh \ + rscript_replace_complex.sh \ + rscript_wrap2.sh \ + rscript_wrap3.sh \ + rscript_re_extract_i.sh \ + rscript_re_extract.sh \ + rscript_re_match_i.sh \ + rscript_re_match.sh \ + rscript_re_match-dbl_quotes.sh \ + rscript_eq.sh \ + rscript_eq_var.sh \ + rscript_ge.sh \ + rscript_ge_var.sh \ + rscript_gt.sh \ + rscript_gt_var.sh \ + rscript_le.sh \ + rscript_le_var.sh \ + rscript_lt.sh \ + rscript_lt_var.sh \ + rscript_ne.sh \ + rscript_ne_var.sh \ + rscript_number_comparison_LE.sh \ + rscript_number_comparison_LT.sh \ + rscript_compare_str-numstr.sh \ + rscript_compare_str-num.sh \ + rscript_compare_numstr-str.sh \ + rscript_compare_num-str.sh \ + rscript_compare_numstr-numstr.sh \ + rscript_compare_numstr-num.sh \ + rscript_compare_num-numstr.sh \ + rscript_compare_num-num.sh \ + rscript_compare_str-str.sh \ + rscript_num2ipv4.sh \ + rscript_int2Hex.sh \ + rscript_trim.sh \ + rscript_substring.sh \ + rscript_format_time.sh \ + rscript_parse_time.sh \ + rscript_is_time.sh \ + rscript_script_error.sh \ + rscript_parse_json.sh \ + rscript_previous_action_suspended.sh \ + rscript_str2num_negative.sh \ + rscript_exists-yes.sh \ + rscript_exists-yes2.sh \ + rscript_exists-not1.sh \ + rscript_exists-not2.sh \ + rscript_exists-not3.sh \ + rscript_exists-not4.sh \ + rscript-config_enable-on.sh \ + rscript_get_property.sh \ + config_output-o-option.sh \ + rs-cnum.sh \ + rs-substring.sh \ + rs-int2hex.sh \ + empty-prop-comparison.sh \ + rs_optimizer_pri.sh \ + cee_simple.sh \ + cee_diskqueue.sh \ + incltest.sh \ + incltest_dir.sh \ + incltest_dir_wildcard.sh \ + incltest_dir_empty_wildcard.sh \ + linkedlistqueue.sh \ + lookup_table.sh \ + lookup_table-hup-backgrounded.sh \ + lookup_table_no_hup_reload.sh \ + key_dereference_on_uninitialized_variable_space.sh \ + array_lookup_table.sh \ + sparse_array_lookup_table.sh \ + lookup_table_bad_configs.sh \ + lookup_table_rscript_reload.sh \ + lookup_table_rscript_reload_without_stub.sh \ + config_multiple_include.sh \ + include-obj-text-from-file.sh \ + include-obj-text-from-file-noexist.sh \ + multiple_lookup_tables.sh \ + parsertest-parse1.sh \ + parsertest-parse1-udp.sh \ + parsertest-parse2.sh \ + parsertest-parse2-udp.sh \ + parsertest-parse_8bit_escape.sh \ + parsertest-parse_8bit_escape-udp.sh \ + parsertest-parse3.sh \ + parsertest-parse3-udp.sh \ + parsertest-parse_invld_regex.sh \ + parsertest-parse_invld_regex-udp.sh \ + parsertest-parse-3164-buggyday.sh \ + parsertest-parse-3164-buggyday-udp.sh \ + parsertest-parse-nodate.sh \ + parsertest-parse-nodate-udp.sh \ + parsertest-snare_ccoff_udp.sh \ + parsertest-snare_ccoff_udp2.sh + +if ENABLE_LIBZSTD +TESTS += \ + zstd.sh +if HAVE_VALGRIND +TESTS += \ + zstd-vg.sh +endif # if HAVE_VALGRIND +endif + +if ENABLE_LIBGCRYPT +TESTS += \ + queue-encryption-disk.sh \ + queue-encryption-disk_keyfile.sh \ + queue-encryption-disk_keyprog.sh \ + queue-encryption-da.sh +endif # ENABLE_LIBGCRYPT +if HAVE_VALGRIND +TESTS += \ + omusrmsg-noabort-vg.sh \ + omfile_hup-vg.sh \ + gzipwr_hup-vg.sh \ + tcpflood_wrong_option_output.sh \ + imtcp-octet-framing-too-long-vg.sh \ + smtradfile-vg.sh \ + dnscache-TTL-0-vg.sh \ + include-obj-outside-control-flow-vg.sh \ + include-obj-in-if-vg.sh \ + include-obj-text-vg.sh \ + rscript_parse_json-vg.sh \ + rscript_backticks-vg.sh \ + rscript_backticks_empty_envvar-vg.sh \ + rscript-config_enable-off-vg.sh \ + rscript_get_property-vg.sh \ + prop-jsonmesg-vg.sh \ + mmexternal-InvldProg-vg.sh \ + internal-errmsg-memleak-vg.sh \ + glbl-oversizeMsg-log-vg.sh \ + rscript_set_memleak-vg.sh \ + no-parser-vg.sh \ + discard-rptdmsg-vg.sh \ + discard-allmark-vg.sh \ + failover-basic-vg.sh \ + failover-rptd-vg.sh \ + failover-no-basic-vg.sh \ + failover-no-rptd-vg.sh \ + timereported-utc-vg.sh \ + udp-msgreduc-vg.sh \ + udp-msgreduc-orgmsg-vg.sh \ + tcp-msgreduc-vg.sh \ + rscript_field-vg.sh \ + rscript_number_comparison_LE-vg.sh \ + rscript_compare_str-str-vg.sh \ + rscript_compare_str-num-vg.sh \ + rscript_compare_str-numstr-vg.sh \ + rscript_compare_num-str-vg.sh \ + rscript_compare_numstr-str-vg.sh \ + rscript_compare_numstr-num-vg.sh \ + rscript_compare_numstr-numstr-vg.sh \ + rscript_compare_num-num-vg.sh \ + rscript_compare_num-numstr-vg.sh \ + unused_lookup_table-vg.sh \ + lookup_table-vg.sh \ + lookup_table_no_hup_reload-vg.sh \ + array_lookup_table-vg.sh \ + array_lookup_table_misuse-vg.sh \ + sparse_array_lookup_table-vg.sh \ + lookup_table_bad_configs-vg.sh \ + lookup_table_rscript_reload-vg.sh \ + lookup_table_rscript_reload_without_stub-vg.sh \ + multiple_lookup_tables-vg.sh \ + fac_local0-vg.sh \ + badqi.sh \ + threadingmq.sh \ + threadingmqaq.sh \ + func-substring-invld-startpos-vg.sh \ + rscript_trim-vg.sh +if ENABLE_LIBGCRYPT +TESTS += \ + queue-encryption-disk_keyfile-vg.sh +endif # ENABLE_LIBGCRYPT +endif # HAVE_VALGRIND +endif # ENABLE_DEFAULT_TESTS + +if ENABLE_SNMP +TESTS += \ + omsnmp_errmsg_no_params.sh +if ENABLE_SNMP_TESTS +TESTS += \ + sndrcv_omsnmpv1_udp.sh \ + sndrcv_omsnmpv1_udp_dynsource.sh \ + sndrcv_omsnmpv1_udp_invalidoid.sh +endif # if ENABLE_SNMP_TESTS +endif # if ENABLE_SNMP + +if ENABLE_MMUTF8FIX +TESTS += \ + mmutf8fix_no_error.sh +endif # if ENABLE_MAIL + +if ENABLE_MAIL +TESTS += \ + ommail_errmsg_no_params.sh +endif # if ENABLE_MAIL + +if ENABLE_MMANON +TESTS += \ + mmanon_with_debug.sh \ + mmanon_random_32_ipv4.sh \ + mmanon_random_cons_32_ipv4.sh \ + mmanon_recognize_ipv4.sh \ + mmanon_zero_12_ipv4.sh \ + mmanon_zero_33_ipv4.sh \ + mmanon_zero_8_ipv4.sh \ + mmanon_simple_12_ipv4.sh \ + mmanon_simple_33_ipv4.sh \ + mmanon_simple_8_ipv4.sh \ + mmanon_simple_mallformed_ipv4.sh \ + mmanon_random_128_ipv6.sh \ + mmanon_zero_128_ipv6.sh \ + mmanon_zero_96_ipv6.sh \ + mmanon_random_cons_128_ipv6.sh \ + mmanon_zero_50_ipv6.sh \ + mmanon_recognize_ipv6.sh \ + mmanon_zero_64_ipv6.sh \ + mmanon_both_modes_compatible.sh \ + mmanon_recognize_ipembedded.sh \ + mmanon_ipv6_port.sh \ + mmanon_random_cons_128_ipembedded.sh +endif # if ENABLE_MMANON + +if ENABLE_CLICKHOUSE_TESTS +TESTS += \ + clickhouse-start.sh \ + clickhouse-basic.sh \ + clickhouse-dflt-tpl.sh \ + clickhouse-retry-error.sh \ + clickhouse-load.sh \ + clickhouse-bulk.sh \ + clickhouse-bulk-load.sh \ + clickhouse-limited-batch.sh \ + clickhouse-select.sh \ + clickhouse-errorfile.sh \ + clickhouse-wrong-quotation-marks.sh \ + clickhouse-wrong-template-option.sh \ + clickhouse-wrong-insert-syntax.sh + +clickhouse-basic.log: clickhouse-start.log +clickhouse-dflt-tpl.log: clickhouse-basic.log +clickhouse-retry-error.log: clickhouse-dflt-tpl.log +clickhouse-load.log: clickhouse-retry-error.log +clickhouse-bulk.log: clickhouse-load.log +clickhouse-bulk-load.log: clickhouse-bulk.log +clickhouse-limited-batch.log: clickhouse-bulk-load.log +clickhouse-select.log: clickhouse-limited-batch.log +clickhouse-errorfile.log: clickhouse-select.log +clickhouse-wrong-quotation-marks.log: clickhouse-errorfile.log +clickhouse-wrong-template-option.log: clickhouse-wrong-quotation-marks.log +clickhouse-wrong-insert-syntax.log: clickhouse-wrong-template-option.log +clickhouse-stop.log: clickhouse-wrong-insert-syntax.log + +if HAVE_VALGRIND +TESTS += \ + clickhouse-basic-vg.sh \ + clickhouse-load-vg.sh \ + clickhouse-bulk-vg.sh \ + clickhouse-bulk-load-vg.sh + +clickhouse-basic-vg.log: clickhouse-wrong-insert-syntax.log +clickhouse-load-vg.log: clickhouse-basic-vg.log +clickhouse-bulk-vg.log: clickhouse-load-vg.log +clickhouse-bulk-load-vg.log: clickhouse-bulk-vg.log +clickhouse-stop.log: clickhouse-bulk-load-vg.log +endif # VALGRIND + +TESTS += clickhouse-stop.sh +endif # CLICKHOUSE_TESTS + + +if ENABLE_LIBFAKETIME +TESTS += \ + now_family_utc.sh \ + now-utc.sh \ + now-utc-ymd.sh \ + now-utc-casecmp.sh \ + now-unixtimestamp.sh \ + timegenerated-ymd.sh \ + timegenerated-uxtimestamp.sh \ + timegenerated-uxtimestamp-invld.sh \ + timegenerated-dateordinal.sh \ + timegenerated-dateordinal-invld.sh \ + timegenerated-utc.sh \ + timegenerated-utc-legacy.sh \ + timereported-utc.sh \ + timereported-utc-legacy.sh +# now come faketime tests that utilize mmnormalize - aka "no endif here" +if ENABLE_MMNORMALIZE +TESTS += \ + mmnormalize_processing_test1.sh \ + mmnormalize_processing_test2.sh \ + mmnormalize_processing_test3.sh \ + mmnormalize_processing_test4.sh +endif +endif + +if ENABLE_PGSQL +if ENABLE_PGSQL_TESTS +TESTS += \ + pgsql-basic.sh \ + pgsql-basic-cnf6.sh \ + pgsql-basic-threads-cnf6.sh \ + pgsql-template.sh \ + pgsql-template-cnf6.sh \ + pgsql-actq-mt-withpause.sh \ + pgsql-template-threads-cnf6.sh + +pgsql-basic-cnf6.log: pgsql-basic.log +pgsql-basic-threads-cnf6.log: pgsql-basic-cnf6.log +pgsql-template.log: pgsql-basic-threads-cnf6.log +pgsql-template-cnf6.log: pgsql-template.log +pgsql-actq-mt-withpause.log: pgsql-template-cnf6.log +pgsql-template-threads-cnf6.log: pgsql-actq-mt-withpause.log +if HAVE_VALGRIND +TESTS += \ + pgsql-basic-vg.sh \ + pgsql-template-vg.sh \ + pgsql-basic-cnf6-vg.sh \ + pgsql-template-cnf6-vg.sh \ + pgsql-actq-mt-withpause-vg.sh + +pgsql-basic-vg.log: pgsql-template-threads-cnf6.log +pgsql-template-vg.log: pgsql-basic-vg.log +pgsql-basic-cnf6-vg.log: pgsql-template-vg.log +pgsql-template-cnf6-vg.log: pgsql-basic-cnf6-vg.log +pgsql-actq-mt-withpause-vg.log: pgsql-template-cnf6-vg.log +endif +endif +endif + +if ENABLE_MYSQL_TESTS +TESTS += \ + mysqld-start.sh \ + mysql-basic.sh \ + mysql-basic-cnf6.sh \ + mysql-asyn.sh \ + mysql-actq-mt.sh \ + mysql-actq-mt-withpause.sh \ + action-tx-single-processing.sh \ + action-tx-errfile-maxsize.sh \ + action-tx-errfile.sh + +mysql-basic.log: mysqld-start.log +mysql-basic-cnf6.log: mysqld-start.log +mysql-asyn.log: mysqld-start.log +mysql-actq-mt.log: mysqld-start.log +mysql-actq-mt-withpause.log: mysqld-start.log +action-tx-single-processing.log: mysqld-start.log +action-tx-errfile.log: mysqld-start.log + +mysqld-stop.log: mysql-basic.log \ + mysql-basic-cnf6.log \ + mysql-asyn.log \ + mysql-actq-mt.log \ + mysql-actq-mt-withpause.log \ + action-tx-single-processing.log \ + action-tx-errfile.log + +if HAVE_VALGRIND +TESTS += \ + mysql-basic-vg.sh \ + mysql-asyn-vg.sh \ + mysql-actq-mt-withpause-vg.sh +mysql-basic-vg.log: mysqld-start.log +mysql-asyn-vg.log: mysqld-start.log +mysql-actq-mt-withpause-vg.log: mysqld-start.log + +mysqld-stop.log: mysql-basic-vg.log \ + mysql-asyn-vg.log \ + mysql-actq-mt-withpause-vg.log +endif + +if ENABLE_OMLIBDBI # we piggy-back on MYSQL_TESTS as we need the same environment +TESTS += \ + libdbi-basic.sh \ + libdbi-asyn.sh +libdbi-basic.log: mysqld-start.log +libdbi-asyn.log: mysqld-start.log +mysqld-stop.log: libdbi-basic.log \ + libdbi-asyn.log +if HAVE_VALGRIND +TESTS += \ + libdbi-basic-vg.sh +libdbi-basic-vg.log: mysqld-start.log +mysqld-stop.log: libdbi-basic-vg.log +endif +endif +TESTS += mysqld-stop.sh +endif # MYSQL_TESTS + +if ENABLE_FMHTTP +TESTS += \ + rscript_http_request.sh +if HAVE_VALGRIND +TESTS += \ + rscript_http_request-vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_FMHTTP + + +if ENABLE_ROOT_TESTS +TESTS += \ + sndrcv_udp.sh \ + imuxsock_logger_root.sh \ + imuxsock_traillf_root.sh \ + imuxsock_ccmiddle_root.sh \ + imklog_permitnonkernelfacility_root.sh +if ENABLE_IP +TESTS += tcp_forwarding_ns_tpl.sh +endif +if HAVE_VALGRIND +TESTS += \ + mmexternal-SegFault-empty-jroot-vg.sh +endif +endif + +if ENABLE_JOURNAL_TESTS +if ENABLE_IMJOURNAL +TESTS += \ + imjournal-basic.sh \ + imjournal-statefile.sh +if HAVE_VALGRIND +TESTS += \ + imjournal-basic-vg.sh \ + imjournal-statefile-vg.sh +endif +endif + +if ENABLE_OMJOURNAL +TESTS += \ + omjournal-abort-template.sh \ + omjournal-abort-no-template.sh \ + omjournal-basic-template.sh \ + omjournal-basic-no-template.sh +endif +endif #if ENABLE_JOURNAL_TESTS + +if ENABLE_IMPROG +TESTS += \ + improg_errmsg_no_params.sh \ + improg_prog_simple.sh \ + improg_prog_confirm.sh \ + improg_prog_confirm_killonclose.sh \ + improg_prog_killonclose.sh \ + improg_simple_multi.sh +if HAVE_VALGRIND +TESTS += \ + improg_errmsg_no_params-vg.sh \ + improg_prog_simple-vg.sh +endif # ENABLE_IMPROG +endif + +if ENABLE_MMDARWIN +TESTS += \ + mmdarwin_errmsg_no_params.sh \ + mmdarwin_errmsg_no_sock.sh +if HAVE_VALGRIND +TESTS += \ + mmdarwin_errmsg_no_sock-vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_IMPROG + +if ENABLE_OMPROG +TESTS += \ + omprog-defaults.sh \ + omprog-output-capture.sh \ + omprog-output-capture-mt.sh \ + omprog-feedback.sh \ + omprog-feedback-mt.sh \ + omprog-feedback-timeout.sh \ + omprog-close-unresponsive.sh \ + omprog-close-unresponsive-noterm.sh \ + omprog-restart-terminated.sh \ + omprog-restart-terminated-outfile.sh \ + omprog-single-instance.sh \ + omprog-single-instance-outfile.sh \ + omprog-transactions.sh \ + omprog-if-error.sh \ + omprog-transactions-failed-messages.sh \ + omprog-transactions-failed-commits.sh +if HAVE_VALGRIND +TESTS += \ + omprog-defaults-vg.sh \ + omprog-output-capture-vg.sh \ + omprog-feedback-vg.sh \ + omprog-close-unresponsive-vg.sh \ + omprog-restart-terminated-vg.sh \ + omprog-single-instance-vg.sh \ + omprog-transactions-vg.sh +endif +endif + +if ENABLE_OMHTTP +TESTS += \ + omhttp-auth.sh \ + omhttp-basic.sh \ + omhttp-batch-fail-with-400.sh \ + omhttp-batch-jsonarray-compress.sh \ + omhttp-batch-jsonarray-retry.sh \ + omhttp-batch-jsonarray.sh \ + omhttp-batch-kafkarest-retry.sh \ + omhttp-batch-kafkarest.sh \ + omhttp-batch-lokirest-retry.sh \ + omhttp-batch-lokirest.sh \ + omhttp-batch-newline.sh \ + omhttp-retry.sh \ + omhttp-httpheaderkey.sh \ + omhttp-multiplehttpheaders.sh \ + omhttp-dynrestpath.sh \ + omhttp-batch-dynrestpath.sh +if HAVE_VALGRIND +TESTS += \ + omhttp-auth-vg.sh \ + omhttp-basic-vg.sh \ + omhttp-batch-jsonarray-compress-vg.sh \ + omhttp-batch-jsonarray-retry-vg.sh \ + omhttp-batch-jsonarray-vg.sh \ + omhttp-batch-kafkarest-retry-vg.sh \ + omhttp-batch-lokirest-retry-vg.sh \ + omhttp-retry-vg.sh \ + omhttp-batch-lokirest-vg.sh +endif +endif + +if ENABLE_OMKAFKA +if ENABLE_IMKAFKA +if ENABLE_KAFKA_TESTS +TESTS += \ + kafka-selftest.sh \ + omkafka.sh \ + omkafkadynakey.sh \ + imkafka.sh \ + imkafka-backgrounded.sh \ + imkafka-config-err-ruleset.sh \ + imkafka-config-err-param.sh \ + imkafka-hang-on-no-kafka.sh \ + imkafka-hang-other-action-on-no-kafka.sh \ + imkafka_multi_single.sh \ + imkafka_multi_group.sh \ + sndrcv_kafka.sh \ + sndrcv_kafka_multi_topics.sh +# Tests below need to be stable first! +# sndrcv_kafka_fail.sh \ +# sndrcv_kafka_failresume.sh \ +# needs properly to much mempory on arm devices! +# sndrcv_kafka_multi.sh +omkafka.log: kafka-selftest.log +imkafka.log: omkafka.log +imkafka-backgrounded.log: imkafka.log +imkafka-config-err-ruleset.log: imkafka-backgrounded.log +imkafka-config-err-param.log: imkafka-config-err-ruleset.log +imkafka-hang-on-no-kafka.log: imkafka-config-err-param.log +imkafka-hang-other-action-on-no-kafka.log: imkafka-hang-on-no-kafka.log +imkafka_multi_single.log: imkafka-hang-other-action-on-no-kafka.log +sndrcv_kafka.log: imkafka_multi_single.log +imkafka_multi_group.log: sndrcv_kafka.log +sndrcv_kafka_multi_topics.log: imkafka_multi_group.log +omkafkadynakey.log: sndrcv_kafka_multi_topics.log + +if HAVE_VALGRIND +TESTS += \ + omkafka-vg.sh \ + imkafka-vg.sh + +omkafka-vg.log: sndrcv_kafka_multi_topics.log +imkafka-vg.log: omkafka-vg.log +endif +endif +endif +endif + +if ENABLE_OMAZUREEVENTHUBS +if ENABLE_OMAZUREEVENTHUBS_TESTS +TESTS += \ + omazureeventhubs-basic.sh \ + omazureeventhubs-list.sh \ + omazureeventhubs-stress.sh \ + omazureeventhubs-interrupt.sh +if HAVE_VALGRIND +TESTS += \ + omazureeventhubs-basic-vg.sh \ + omazureeventhubs-interrupt-vg.sh +endif +endif +endif + +if ENABLE_IMDOCKER +if ENABLE_IMDOCKER_TESTS +TESTS += \ + imdocker-basic.sh \ + imdocker-long-logline.sh \ + imdocker-new-logs-from-start.sh \ + imdocker-multi-line.sh +if HAVE_VALGRIND +TESTS += \ + imdocker-basic-vg.sh \ + imdocker-long-logline-vg.sh \ + imdocker-new-logs-from-start-vg.sh \ + imdocker-multi-line-vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_IMDOCKER_TESTS +endif # ENABLE_IMDOCKER + +if ENABLE_IMHTTP +TESTS += \ + imhttp-post-payload.sh \ + imhttp-post-payload-basic-auth.sh \ + imhttp-post-payload-query-params.sh \ + imhttp-post-payload-large.sh \ + imhttp-post-payload-multi.sh \ + imhttp-post-payload-multi-lf.sh \ + imhttp-post-payload-compress.sh \ + imhttp-getrequest-file.sh +if HAVE_VALGRIND +TESTS += \ + imhttp-post-payload-vg.sh \ + imhttp-post-payload-basic-auth-vg.sh \ + imhttp-post-payload-query-params-vg.sh \ + imhttp-post-payload-large-vg.sh \ + imhttp-post-payload-multi-vg.sh \ + imhttp-post-payload-multi-lf-vg.sh \ + imhttp-post-payload-compress-vg.sh \ + imhttp-getrequest-file-vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_IMHTTP + +if ENABLE_OMRABBITMQ +check_PROGRAMS += miniamqpsrvr +miniamqpsrvr_SOURCES = miniamqpsrvr.c +miniamqpsrvr_CPPFLAGS = $(PTHREADS_CFLAGS) $(RABBITMQ_CFLAGS) $(RSRT_CFLAGS) +miniamqpsrvr_LDADD = $(SOL_LIBS) $(PTHREADS_LIBS) + +TESTS += \ + omrabbitmq_no_params.sh \ + omrabbitmq_params_missing0.sh \ + omrabbitmq_params_missing1.sh \ + omrabbitmq_params_missing2.sh \ + omrabbitmq_params_invalid0.sh \ + omrabbitmq_params_invalid1.sh \ + omrabbitmq_params_invalid2.sh \ + omrabbitmq_params_invalid3.sh \ + omrabbitmq_data_1server.sh \ + omrabbitmq_data_2servers.sh \ + omrabbitmq_error_server0.sh \ + omrabbitmq_error_server1.sh \ + omrabbitmq_error_server2.sh \ + omrabbitmq_error_server3.sh \ + omrabbitmq_json.sh \ + omrabbitmq_raw.sh +if HAVE_VALGRIND +TESTS += \ + omrabbitmq_data_1server-vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_OMRABBITMQ + +if ENABLE_REDIS_TESTS +if ENABLE_IMHIREDIS +TESTS += \ + imhiredis-queue.sh \ + imhiredis-queue-lpop.sh \ + imhiredis-redis-restart.sh \ + imhiredis-redis-start-after.sh \ + imhiredis-subscribe.sh \ + imhiredis-stream.sh \ + imhiredis-stream-from-beginning.sh \ + imhiredis-stream-consumerGroup-ack.sh \ + imhiredis-stream-consumerGroup-noack.sh \ + imhiredis-stream-consumerGroup-reclaim.sh +if HAVE_VALGRIND +TESTS += \ + imhiredis-queue-vg.sh \ + imhiredis-queue-lpop-vg.sh \ + imhiredis-redis-restart-vg.sh \ + imhiredis-redis-start-after-vg.sh \ + imhiredis-subscribe-vg.sh \ + imhiredis-stream-vg.sh \ + imhiredis-stream-from-beginning-vg.sh \ + imhiredis-stream-consumerGroup-ack-vg.sh \ + imhiredis-stream-consumerGroup-noack-vg.sh \ + imhiredis-stream-consumerGroup-reclaim-vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_IMHIREDIS + +if ENABLE_OMHIREDIS +TESTS += \ + mmdb-reload.sh \ + omhiredis-dynakey.sh \ + omhiredis-publish.sh \ + omhiredis-queue-rpush.sh \ + omhiredis-queue.sh \ + omhiredis-set.sh \ + omhiredis-setex.sh \ + omhiredis-template.sh \ + omhiredis-withpass.sh \ + omhiredis-wrongpass.sh \ + omhiredis-stream-ack.sh \ + omhiredis-stream-capped.sh \ + omhiredis-stream-del.sh \ + omhiredis-stream-dynack.sh \ + omhiredis-stream-outfield.sh \ + omhiredis-stream.sh +if HAVE_VALGRIND +TESTS += \ + mmdb-reload-vg.sh \ + omhiredis-dynakey-vg.sh \ + omhiredis-publish-vg.sh \ + omhiredis-queue-rpush-vg.sh \ + omhiredis-queue-vg.sh \ + omhiredis-set-vg.sh \ + omhiredis-setex-vg.sh \ + omhiredis-template-vg.sh \ + omhiredis-withpass-vg.sh \ + omhiredis-wrongpass-vg.sh \ + omhiredis-stream-ack-vg.sh \ + omhiredis-stream-capped-vg.sh \ + omhiredis-stream-del-vg.sh \ + omhiredis-stream-dynack-vg.sh \ + omhiredis-stream-outfield-vg.sh \ + omhiredis-stream-vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_OMHIREDIS +endif # ENABLE_REDIS_TESTS + +if ENABLE_IMPSTATS +TESTS += \ + impstats-hup.sh \ + perctile-simple.sh \ + dynstats.sh \ + dynstats_overflow.sh \ + dynstats_reset.sh \ + dynstats_ctr_reset.sh \ + dynstats_nometric.sh \ + no-dynstats-json.sh \ + no-dynstats.sh \ + stats-json.sh \ + dynstats-json.sh \ + stats-cee.sh \ + stats-json-es.sh \ + dynstats_reset_without_pstats_reset.sh \ + dynstats_prevent_premature_eviction.sh \ + omfwd_fast_imuxsock.sh \ + omfwd_impstats-udp.sh \ + omfwd_impstats-tcp.sh +if HAVE_VALGRIND +TESTS += \ + perctile-simple-vg.sh \ + dynstats-vg.sh \ + dynstats_reset-vg.sh \ + dynstats_overflow-vg.sh \ + dynstats-json-vg.sh \ + stats-json-vg.sh \ + stats-cee-vg.sh \ + dynstats_prevent_premature_eviction-vg.sh +endif +endif + +if ENABLE_IMPTCP +# note that some tests simply USE imptcp, but they also +# need to be disabled if we do not have this module +TESTS += \ + manyptcp.sh \ + imptcp_framing_regex.sh \ + imptcp_framing_regex-oversize.sh \ + imptcp_large.sh \ + imptcp-connection-msg-disabled.sh \ + imptcp-connection-msg-received.sh \ + imptcp-discard-truncated-msg.sh \ + imptcp_addtlframedelim.sh \ + imptcp_conndrop.sh \ + imptcp_no_octet_counted.sh \ + imptcp_multi_line.sh \ + imptcp_spframingfix.sh \ + imptcp_maxsessions.sh \ + imptcp_nonProcessingPoller.sh \ + imptcp_veryLargeOctateCountedMessages.sh \ + imptcp-basic-hup.sh \ + imptcp-NUL.sh \ + imptcp-NUL-rawmsg.sh \ + rscript_random.sh \ + rscript_hash32.sh \ + rscript_hash64.sh \ + rscript_replace.sh \ + omfile-sizelimitcmd-many.sh \ + omfile-outchannel-many.sh +if HAVE_VALGRIND +TESTS += \ + imptcp-octet-framing-too-long-vg.sh \ + imptcp_conndrop-vg.sh +if ENABLE_FMHASH +TESTS += \ + rscript_hash32-vg.sh \ + rscript_hash64-vg.sh +endif # ENABLE_FMHASH +endif # HAVE_VALGRIND +if ENABLE_FMUNFLATTEN +TESTS += \ + rscript_unflatten_arg1_unsuitable.sh \ + rscript_unflatten_arg2_invalid.sh \ + rscript_unflatten_conflict1.sh \ + rscript_unflatten_conflict2.sh \ + rscript_unflatten_conflict3.sh \ + rscript_unflatten_key_truncated.sh \ + rscript_unflatten_non_object.sh \ + rscript_unflatten_object.sh \ + rscript_unflatten_object_exclamation.sh +if HAVE_VALGRIND +TESTS += \ + rscript_unflatten_arg1_unsuitable-vg.sh \ + rscript_unflatten_arg2_invalid-vg.sh \ + rscript_unflatten_conflict1-vg.sh \ + rscript_unflatten_conflict2-vg.sh \ + rscript_unflatten_conflict3-vg.sh \ + rscript_unflatten_key_truncated-vg.sh \ + rscript_unflatten_non_object-vg.sh \ + rscript_unflatten_object-vg.sh \ + rscript_unflatten_object_exclamation-vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_FMUNFLATTEN +if ENABLE_FFAUP +TESTS += \ + rscript_faup_all.sh \ + rscript_faup_all_2.sh \ + rscript_faup_all_empty.sh \ + rscript_faup_scheme.sh \ + rscript_faup_credential.sh \ + rscript_faup_subdomain.sh \ + rscript_faup_domain.sh \ + rscript_faup_domain_without_tld.sh \ + rscript_faup_host.sh \ + rscript_faup_tld.sh \ + rscript_faup_port.sh \ + rscript_faup_resource_path.sh \ + rscript_faup_query_string.sh \ + rscript_faup_fragment.sh \ + rscript_faup_mozilla_tld.sh +if HAVE_VALGRIND +TESTS += \ + rscript_faup_all_vg.sh \ + rscript_faup_all_2_vg.sh \ + rscript_faup_all_empty_vg.sh \ + rscript_faup_scheme_vg.sh \ + rscript_faup_credential_vg.sh \ + rscript_faup_subdomain_vg.sh \ + rscript_faup_domain_vg.sh \ + rscript_faup_domain_without_tld_vg.sh \ + rscript_faup_host_vg.sh \ + rscript_faup_tld_vg.sh \ + rscript_faup_port_vg.sh \ + rscript_faup_resource_path_vg.sh \ + rscript_faup_query_string_vg.sh \ + rscript_faup_fragment_vg.sh \ + rscript_faup_mozilla_tld_vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_FFAUP +endif + +if ENABLE_MMPSTRUCDATA +TESTS += \ + mmpstrucdata.sh \ + mmpstrucdata-escaping.sh \ + mmpstrucdata-case.sh +if HAVE_VALGRIND +TESTS += \ + mmpstrucdata-vg.sh \ + mmpstrucdata-invalid-vg.sh +endif +endif + +if ENABLE_MMRM1STSPACE +TESTS += \ + mmrm1stspace-basic.sh +endif + +if ENABLE_PMNULL +TESTS += \ + pmnull-basic.sh \ + pmnull-withparams.sh +endif + +if ENABLE_OMSTDOUT +TESTS += \ + omstdout-basic.sh +endif + +if ENABLE_PMNORMALIZE +TESTS += \ + pmnormalize-basic.sh \ + pmnormalize-invld-rulebase.sh \ + pmnormalize-rule.sh \ + pmnormalize-rule_and_rulebase.sh \ + pmnormalize-neither_rule_rulebase.sh \ + pmnormalize-rule_invld-data.sh +if HAVE_VALGRIND +TESTS += \ + pmnormalize-basic-vg.sh \ + pmnormalize-invld-rulebase-vg.sh \ + pmnormalize-rule-vg.sh \ + pmnormalize-rule_and_rulebase-vg.sh \ + pmnormalize-neither_rule_rulebase-vg.sh \ + pmnormalize-rule_invld-data-vg.sh +endif +endif + +if ENABLE_MMNORMALIZE +TESTS += msgvar-concurrency-array.sh \ + msgvar-concurrency-array-event.tags.sh \ + mmnormalize_rule_from_string.sh \ + mmnormalize_rule_from_array.sh \ + mmnormalize_parsesuccess.sh + +if HAVE_VALGRIND +TESTS += \ + mmnormalize_parsesuccess-vg.sh +endif + +if ENABLE_IMPTCP +TESTS += \ + mmnormalize_regex_defaulted.sh \ + mmnormalize_regex_disabled.sh \ + mmnormalize_variable.sh \ + mmnormalize_tokenized.sh +endif + +if LOGNORM_REGEX_SUPPORTED +TESTS += \ + mmnormalize_regex.sh +endif +endif # ENABLE_MMNORMALIZE + +if ENABLE_MMJSONPARSE +TESTS += \ + mmjsonparse-w-o-cookie.sh \ + mmjsonparse-w-o-cookie-multi-spaces.sh +if ENABLE_IMPSTATS +TESTS += \ + mmjsonparse-invalid-containerName.sh \ + wtpShutdownAll-assertionFailure.sh +endif +if ENABLE_IMPTCP +TESTS += \ + mmjsonparse_simple.sh \ + imptcp-oversize-message-display.sh \ + imptcp-msg-truncation-on-number.sh \ + imptcp-msg-truncation-on-number2.sh \ + imptcp-maxFrameSize-parameter.sh \ + mmjsonparse_cim.sh \ + mmjsonparse_cim2.sh \ + mmjsonparse_localvar.sh \ + json_array_subscripting.sh \ + json_array_looping.sh \ + json_object_looping.sh \ + json_nonarray_looping.sh +endif +if HAVE_VALGRIND +TESTS += \ + mmjsonparse_extra_data-vg.sh \ + json_null_array-vg.sh \ + json_object_looping-vg.sh \ + json_array_looping-vg.sh \ + json_object_suicide_in_loop-vg.sh \ + json_null-vg.sh +endif +TESTS += \ + stop_when_array_has_element.sh \ + json_null_array.sh \ + json_null.sh \ + json_var_cmpr.sh \ + json_var_case.sh +endif + +if ENABLE_MMDBLOOKUP +TESTS += \ + mmdb.sh \ + mmdb-space.sh \ + mmdb-container.sh \ + mmdb-container-empty.sh +if HAVE_VALGRIND +TESTS += \ + mmdb-vg.sh \ + mmdb-multilevel-vg.sh +endif +endif + +if ENABLE_GNUTLS_TESTS +TESTS += \ + imtcp-tls-basic.sh \ + imtcp-tls-input-basic.sh \ + imtcp-tls-input-2certs.sh \ + imtcp-tls-basic-verifydepth.sh \ + imtcp_conndrop_tls.sh \ + sndrcv_tls_anon_rebind.sh \ + sndrcv_tls_anon_hostname.sh \ + sndrcv_tls_anon_ipv4.sh \ + sndrcv_tls_anon_ipv6.sh \ + sndrcv_tls_certless_clientonly.sh \ + sndrcv_tls_gtls_servercert_gtls_clientanon.sh \ + sndrcv_tls_gtls_servercert_gtls_clientanon_legacy.sh \ + sndrcv_tls_gtls_serveranon_gtls_clientanon.sh \ + sndrcv_tls_priorityString.sh \ + sndrcv_tls_certvalid.sh \ + sndrcv_tls_certvalid_action_level.sh \ + sndrcv_tls_certvalid_expired.sh \ + sndrcv_tls_certvalid_expired_defaultmode.sh \ + sndrcv_tls_certvalid_revoked.sh \ + sndrcv_tls_client_missing_cert.sh \ + imtcp-tls-no-lstn-startup.sh \ + imtcp-tls-gtls-x509fingerprint-invld.sh \ + imtcp-tls-gtls-x509fingerprint.sh \ + imtcp-tls-gtls-x509name-invld.sh \ + imtcp-tls-gtls-x509name.sh \ + imtcp-tls-gtls-x509name-legacy.sh \ + imtcp-drvr-in-input-basic.sh \ + imtcp-multi-drvr-basic.sh \ + imtcp-multi-drvr-basic-parallel.sh +if HAVE_VALGRIND +TESTS += \ + imtcp-tls-basic-vg.sh \ + imtcp_conndrop_tls-vg.sh \ + manytcp-too-few-tls-vg.sh +endif +if ENABLE_OPENSSL +TESTS += \ + imtcp-multi-drvr-basic-ptcp_gtls_ossl.sh +endif +endif + +if ENABLE_OPENSSL +TESTS += \ + imtcp-tls-ossl-basic.sh \ + imtcp-tls-ossl-input-basic.sh \ + imtcp-tls-ossl-input-2certs.sh \ + imtcp-tls-ossl-basic-tlscommands.sh \ + imtcp-tls-ossl-basic-verifydepth.sh \ + imtcp-tls-ossl-invalid-verifydepth.sh \ + sndrcv_tls_ossl_anon_ipv4.sh \ + sndrcv_tls_ossl_anon_ipv6.sh \ + sndrcv_tls_ossl_anon_rebind.sh \ + sndrcv_tls_ossl_anon_ciphers.sh \ + sndrcv_tls_ossl_serveranon_ossl_clientanon.sh \ + sndrcv_tls_ossl_servercert_ossl_clientanon.sh \ + sndrcv_tls_ossl_certvalid.sh \ + sndrcv_tls_ossl_certvalid_action_level.sh \ + sndrcv_tls_ossl_certvalid_expired.sh \ + sndrcv_tls_ossl_certvalid_tlscommand.sh \ + sndrcv_tls_ossl_certvalid_ciphers.sh \ + sndrcv_tls_ossl_certvalid_revoked.sh \ + imtcp-tls-ossl-x509valid.sh \ + imtcp-tls-ossl-x509name.sh \ + imtcp-tls-ossl-x509fingerprint.sh \ + imtcp-tls-ossl-error-ca.sh \ + imtcp-tls-ossl-error-cert.sh \ + imtcp-tls-ossl-error-key.sh \ + imtcp-tls-ossl-error-key2.sh +if HAVE_VALGRIND +TESTS += \ + imtcp-tls-ossl-basic-vg.sh \ + imtcp-tls-ossl-basic-brokenhandshake-vg.sh +endif +endif + +if ENABLE_GNUTLS_TESTS +if ENABLE_OPENSSL +TESTS += \ + sndrcv_tls_ossl_servercert_gtls_clientanon.sh \ + sndrcv_tls_ossl_serveranon_gtls_clientanon.sh \ + sndrcv_tls_gtls_servercert_ossl_clientanon.sh \ + sndrcv_tls_gtls_serveranon_ossl_clientanon.sh +endif +endif + +if ENABLE_OMUXSOCK +TESTS += uxsock_simple.sh +endif + +if ENABLE_RELP +TESTS += sndrcv_relp.sh \ + sndrcv_relp_rebind.sh \ + omrelp_errmsg_no_connect.sh \ + imrelp-basic.sh \ + imrelp-basic-oldstyle.sh \ + imrelp-basic-hup.sh \ + imrelp-manyconn.sh \ + imrelp-maxDataSize-error.sh \ + imrelp-long-msg.sh \ + imrelp-oversizeMode-truncate.sh \ + imrelp-oversizeMode-accept.sh \ + imrelp-invld-tlslib.sh \ + imrelp-bigmessage.sh \ + omrelp-invld-tlslib.sh \ + sndrcv_relp_dflt_pt.sh \ + glbl-oversizeMsg-log.sh \ + glbl-oversizeMsg-truncate.sh \ + glbl-oversizeMsg-split.sh +if ENABLE_GNUTLS +TESTS += \ + sndrcv_relp_tls.sh \ + sndrcv_relp_tls_certvalid.sh \ + sndrcv_tls_certvalid_action_level.sh \ + sndrcv_relp_tls_prio.sh \ + sndrcv_relp_tls_chainedcert.sh \ + relp_tls_certificate_not_found.sh \ + omrelp_wrong_authmode.sh \ + imrelp-tls.sh \ + imrelp-tls-chainedcert.sh \ + imrelp-tls-mixed-chainedcert.sh \ + imrelp-tls-mixed-chainedcert2.sh +if USE_RELPENGINESETTLSCFGCMD +TESTS += \ + imrelp-tls-cfgcmd.sh \ + sndrcv_relp_tls-cfgcmd.sh +endif # USE_RELPENGINESETTLSCFGCMD +endif # ENABLE_GNUTLS +if HAVE_VALGRIND +TESTS += \ + imrelp-basic-vg.sh \ + imrelp-sessionbreak-vg.sh \ + imrelp-manyconn-vg.sh \ + sndrcv_relp-vg-rcvr.sh \ + sndrcv_relp-vg-sender.sh +endif # HAVE_VALGRIND +endif + +if ENABLE_IMDTLS +TESTS += \ + imdtls-basic.sh \ + imdtls-basic-tlscommands.sh \ + imdtls-basic-timeout.sh \ + imdtls-error-cert.sh \ + imdtls-sessionbreak.sh +if HAVE_VALGRIND +TESTS += \ + imdtls-basic-vg.sh \ + imdtls-sessionbreak-vg.sh +endif # HAVE_VALGRIND +if ENABLE_OMDTLS +TESTS += \ + sndrcv_dtls_certvalid.sh \ + sndrcv_dtls_anon_ciphers.sh \ + sndrcv_dtls_certvalid_ciphers.sh \ + sndrcv_dtls_certvalid_permitted.sh \ + sndrcv_dtls_certvalid_missing.sh \ + sndrcv_dtls_anon_ciphers.sh +if HAVE_VALGRIND +TESTS += \ + sndrcv_dtls_certvalid-vg.sh +endif # HAVE_VALGRIND +endif # ENABLE_OMDTLS +endif # ENABLE_IMDTLS + +if ENABLE_OMUDPSPOOF +TESTS += \ + omudpspoof_errmsg_no_params.sh \ + sndrcv_omudpspoof.sh \ + sndrcv_omudpspoof-bigmsg.sh \ + sndrcv_omudpspoof_nonstdpt.sh +endif + +#disabled as array-passing mode is no longer supported: omod-if-array.sh +# omod-if-array.sh +# omod-if-array-udp.sh +if ENABLE_IMPTCP +TESTS += \ + tabescape_dflt.sh \ + tabescape_dflt-udp.sh \ + tabescape_off.sh \ + tabescape_off-udp.sh \ + tabescape_on.sh \ + inputname-imtcp.sh \ + fieldtest.sh \ + fieldtest-udp.sh \ + proprepltest-nolimittag-udp.sh \ + proprepltest-nolimittag.sh \ + proprepltest-rfctag-udp.sh \ + proprepltest-rfctag.sh + +endif + +if ENABLE_OMRULESET +TESTS += \ + omruleset.sh \ + omruleset-queue.sh +endif + +if ENABLE_PMDB2DIAG +TESTS += \ + pmdb2diag_parse.sh +endif + +if ENABLE_PMSNARE +TESTS += \ + pmsnare-default.sh \ + pmsnare-default-udp.sh \ + pmsnare-ccoff.sh \ + pmsnare-ccoff-udp.sh \ + pmsnare-ccdefault.sh \ + pmsnare-ccdefault-udp.sh \ + pmsnare-cccstyle.sh \ + pmsnare-cccstyle-udp.sh \ + pmsnare-ccbackslash.sh \ + pmsnare-ccbackslash-udp.sh \ + pmsnare-modoverride.sh \ + pmsnare-modoverride-udp.sh +endif + +if ENABLE_PMLASTMSG +TESTS += \ + pmlastmsg.sh \ + pmlastmsg-udp.sh +endif + +if ENABLE_EXTENDED_TESTS +# random.sh is temporarily disabled as it needs some work +# to rsyslog core to complete in reasonable time +#TESTS += random.sh +if ENABLE_IMFILE_TESTS +TESTS += \ + imfile-basic-2GB-file.sh \ + imfile-truncate-2GB-file.sh +endif # ENABLE_IMFILE_TESTS +endif + +if ENABLE_IMFILE_TESTS +TESTS += \ + imfile-basic.sh \ + imfile-basic-legacy.sh \ + imfile-discard-truncated-line.sh \ + imfile-truncate-line.sh \ + imfile-file-not-found-error.sh \ + imfile-fileNotFoundError-parameter.sh \ + imfile-error-not-repeated.sh \ + imfile-truncate.sh \ + imfile-truncate-multiple.sh \ + imfile-readmode2.sh \ + imfile-readmode2-polling.sh \ + imfile-readmode2-with-persists-data-during-stop.sh \ + imfile-readmode2-with-persists.sh \ + imfile-endregex.sh \ + imfile-endregex-save-lf.sh \ + imfile-endregex-save-lf-persist.sh \ + imfile-endregex-timeout-none-polling.sh \ + imfile-endregex-timeout-polling.sh \ + imfile-endregex-timeout.sh \ + imfile-endregex-timeout-none.sh \ + imfile-endregex-timeout-with-shutdown.sh \ + imfile-endregex-timeout-with-shutdown-polling.sh \ + imfile-endmsg.regex.sh \ + imfile-escapelf.replacement.sh \ + imfile-escapelf.replacement-empty.sh \ + imfile-statefile-no-file_id.sh \ + imfile-statefile-no-file_id-TO-file_id.sh \ + imfile-statefile-directory.sh \ + imfile-statefile-delete.sh \ + imfile-statefile-no-delete.sh \ + imfile-persist-state-1.sh \ + imfile-freshStartTail1.sh \ + imfile-freshStartTail2.sh \ + imfile-freshStartTail3.sh \ + imfile-wildcards.sh \ + imfile-wildcards-dirs.sh \ + imfile-wildcards-dirs2.sh \ + imfile-wildcards-dirs-multi.sh \ + imfile-wildcards-dirs-multi2.sh \ + imfile-wildcards-dirs-multi3.sh \ + imfile-wildcards-dirs-multi4.sh \ + imfile-wildcards-dirs-multi5.sh \ + imfile-wildcards-dirs-multi5-polling.sh \ + imfile-old-state-file.sh \ + imfile-rename-while-stopped.sh \ + imfile-rename.sh \ + imfile-symlink.sh \ + imfile-symlink-multi.sh \ + imfile-symlink-ext-tmp-dir-tree.sh \ + imfile-logrotate.sh \ + imfile-logrotate-async.sh \ + imfile-logrotate-multiple.sh \ + imfile-logrotate-copytruncate.sh \ + imfile-logrotate-nocopytruncate.sh \ + imfile-growing-file-id.sh \ + imfile-ignore-old-file-1.sh \ + imfile-ignore-old-file-2.sh \ + imfile-ignore-old-file-3.sh \ + imfile-ignore-old-file-4.sh \ + imfile-ignore-old-file-5.sh \ + imfile-ignore-old-file-6.sh \ + imfile-ignore-old-file-7.sh \ + glbl-oversizeMsg-truncate-imfile.sh \ + config_enabled-on.sh \ + config_enabled-off.sh + +if ENABLE_MMNORMALIZE +TESTS += \ + imfile-endmsg.regex-with-example.sh +endif + +if HAVE_VALGRIND +TESTS += \ + imfile-basic-vg.sh \ + imfile-endregex-vg.sh \ + imfile-endmsg.regex-vg.sh \ + imfile-readmode0-vg.sh \ + imfile-readmode2-vg.sh + +if ENABLE_HELGRIND +TESTS += \ + imfile-basic-vgthread.sh +endif # ENABLE_HELGRIND + +if ENABLE_MMNORMALIZE +TESTS += \ + imfile-endmsg.regex-with-example-vg.sh +endif # ENABLE_MMNORMALIZE + +endif # HAVE_VALGRIND + +endif # ENABLE_IMFILE_TESTS + +if ENABLE_IMBATCHREPORT +TESTS += \ + imbatchreport_errmsg_no_params.sh \ + imbatchreport_errmsg_glob_not_regular.sh \ + imbatchreport_errmsg_glob_dir_fake.sh \ + imbatchreport_errmsg_glob_dir_not_dir.sh \ + imbatchreport_errmsg_regex.match.reject.sh \ + imbatchreport_errmsg_regex.match.rename.sh \ + imbatchreport_errmsg_regex.nomatch.sh \ + imbatchreport_errmsg_not_supported1.sh \ + imbatchreport_errmsg_not_supported2.sh \ + imbatchreport_errmsg_not_supported3.sh \ + imbatchreport_errmsg_delete_params.sh \ + imbatchreport_errmsg_rename_params.sh \ + imbatchreport_delete_success.sh \ + imbatchreport_delete_structdata.sh \ + imbatchreport_rename_success.sh \ + imbatchreport_delete_toolarge.sh \ + imbatchreport_rename_toolarge.sh +if HAVE_VALGRIND +TESTS += \ + imbatchreport_errmsg_no_params-vg.sh +endif # ENABLE_IMBATCHREPORT +endif + +if ENABLE_OMTCL +TESTS += \ + omtcl.sh +endif + +if ENABLE_MMTAGHOSTNAME +TESTS += \ + mmtaghostname_tag.sh \ + mmtaghostname_server.sh +endif + +if ENABLE_MMKUBERNETES +if ENABLE_MMJSONPARSE +if ENABLE_IMFILE +if ENABLE_IMPSTATS +TESTS += \ + mmkubernetes-basic.sh \ + mmkubernetes-cache-expire.sh +if HAVE_VALGRIND +TESTS += \ + mmkubernetes-basic-vg.sh \ + mmkubernetes-cache-expire-vg.sh +endif +endif +endif +endif +endif + +if ENABLE_IMTUXEDOULOG +TESTS += \ + imtuxedoulog_errmsg_no_params.sh \ + imtuxedoulog_data.sh +if HAVE_VALGRIND +TESTS += \ + imtuxedoulog_errmsg_no_params-vg.sh +endif # ENABLE_IMTUXEDOULOG +endif + +if ENABLE_OMAMQP1 +TESTS += \ + omamqp1-basic.sh +if HAVE_VALGRIND +TESTS += \ + omamqp1-basic-vg.sh +endif +endif # ENABLE_OMAMQP1 + +endif # if ENABLE_TESTBENCH + +TESTS_ENVIRONMENT = RSYSLOG_MODDIR='$(abs_top_builddir)'/runtime/.libs/ +TESTS_ENVIRONMENT+= TOP_BUILDDIR='$(top_builddir)' +TESTS_ENVIRONMENT+= TESTTOOL_DIR='$(abs_top_builddir)/tests' +test_files = testbench.h runtime-dummy.c +DISTCLEANFILES=rsyslog.pid + +distclean-local: + rm -rf .dep_cache .dep_wrk + +EXTRA_DIST= \ + set-envvars.in \ + urlencode.py \ + dnscache-TTL-0.sh \ + dnscache-TTL-0-vg.sh \ + loadbalance.sh \ + smtradfile.sh \ + smtradfile-vg.sh \ + immark.sh \ + immark-inputname.sh \ + immark-ruleset.sh \ + immark-ruleset-custom-msg.sh \ + operatingstate-basic.sh \ + operatingstate-empty.sh \ + operatingstate-unclean.sh \ + internal-errmsg-memleak-vg.sh \ + glbl-ruleset-queue-defaults.sh \ + glbl-internalmsg_severity-info-shown.sh \ + glbl-internalmsg_severity-debug-shown.sh \ + glbl-internalmsg_severity-debug-not_shown.sh \ + glbl-oversizeMsg-log-vg.sh \ + config_enabled-on.sh \ + config_enabled-off.sh \ + empty-app-name.sh \ + empty-hostname.sh \ + func-substring-invld-startpos.sh \ + func-substring-invld-startpos-vg.sh \ + func-substring-large-endpos.sh \ + func-substring-large-neg-endpos.sh \ + func-substring-relative-endpos.sh \ + hostname-with-slash-pmrfc5424.sh \ + hostname-with-slash-pmrfc3164.sh \ + pmrfc3164-msgFirstSpace.sh \ + pmrfc3164-AtSignsInHostname.sh \ + pmrfc3164-AtSignsInHostname_off.sh \ + pmrfc3164-tagEndingByColon.sh \ + pmrfc3164-defaultTag.sh \ + pmrfc3164-json.sh \ + hostname-with-slash-dflt-invld.sh \ + hostname-with-slash-dflt-slash-valid.sh \ + glbl-umask.sh \ + glbl-unloadmodules.sh \ + glbl-invld-param.sh \ + glbl_setenv_2_vars.sh \ + glbl_setenv_err.sh \ + glbl_setenv_err_too_long.sh \ + glbl_setenv.sh \ + imtuxedoulog_errmsg_no_params.sh \ + imtuxedoulog_data.sh \ + imtuxedoulog_errmsg_no_params-vg.sh \ + pmdb2diag_parse.sh \ + mmtaghostname_tag.sh \ + mmtaghostname_server.sh \ + imbatchreport_errmsg_no_params.sh \ + imbatchreport_errmsg_glob_not_regular.sh \ + imbatchreport_errmsg_glob_dir_fake.sh \ + imbatchreport_errmsg_glob_dir_not_dir.sh \ + imbatchreport_errmsg_regex.match.reject.sh \ + imbatchreport_errmsg_regex.match.rename.sh \ + imbatchreport_errmsg_regex.nomatch.sh \ + imbatchreport_errmsg_not_supported1.sh \ + imbatchreport_errmsg_not_supported2.sh \ + imbatchreport_errmsg_not_supported3.sh \ + imbatchreport_errmsg_delete_params.sh \ + imbatchreport_errmsg_rename_params.sh \ + imbatchreport_delete_success.sh \ + imbatchreport_delete_structdata.sh \ + imbatchreport_rename_success.sh \ + imbatchreport_delete_toolarge.sh \ + imbatchreport_rename_toolarge.sh \ + imbatchreport_errmsg_no_params-vg.sh \ + mmexternal-SegFault.sh \ + mmexternal-SegFault-empty-jroot-vg.sh \ + testsuites/mmexternal-SegFault-mm-python.py \ + mmexternal-InvldProg-vg.sh \ + nested-call-shutdown.sh \ + 1.rstest 2.rstest 3.rstest err1.rstest \ + config_multiple_include.sh \ + testsuites/include-std1-omfile-action.conf \ + testsuites/include-std2-omfile-action.conf \ + invalid_nested_include.sh \ + validation-run.sh \ + tls-certs/ca-key.pem \ + tls-certs/ca.pem \ + tls-certs/cert.pem \ + tls-certs/certchained.pem \ + tls-certs/key.pem \ + tls-certs/ca-fail.pem \ + tls-certs/cert-fail.pem \ + tls-certs/key-fail.pem \ + testsuites/x.509/ca.srl \ + testsuites/x.509/client-cert-new.pem \ + testsuites/x.509/client-new.csr \ + testsuites/x.509/client-revoked-key.pem \ + testsuites/x.509/client-revoked-valid.pem \ + testsuites/x.509/client-revoked.csr \ + testsuites/x.509/client-revoked.pem \ + testsuites/x.509/crl.pem \ + testsuites/x.509/index.txt \ + testsuites/x.509/index.txt.attr \ + testsuites/x.509/newcerts/01.pem \ + testsuites/x.509/newcerts/02.pem \ + testsuites/x.509/newcerts/03.pem \ + testsuites/x.509/newcerts/04.pem \ + testsuites/x.509/openssl-cmds.sh \ + testsuites/x.509/openssl.cnf \ + testsuites/x.509/serial \ + testsuites/x.509/ca.pem \ + testsuites/x.509/ca-key.pem \ + testsuites/x.509/client-cert.pem \ + testsuites/x.509/client-key.pem \ + testsuites/x.509/machine-cert.pem \ + testsuites/x.509/machine-key.pem \ + testsuites/x.509/client-expired-cert.pem \ + testsuites/x.509/client-expired-key.pem \ + cfg.sh \ + cfg1.cfgtest \ + cfg1.testin \ + cfg2.cfgtest \ + cfg2.testin \ + cfg3.cfgtest \ + cfg3.testin \ + cfg4.cfgtest \ + cfg4.testin \ + DevNull.cfgtest \ + err1.rstest \ + NoExistFile.cfgtest \ + tcp_forwarding_tpl.sh \ + tcp_forwarding_ns_tpl.sh \ + tcp_forwarding_dflt_tpl.sh \ + tcp_forwarding_retries.sh \ + mainq_actq_DA.sh \ + queue_warnmsg-oversize.sh \ + queue-minbatch.sh \ + queue-minbatch-queuefull.sh \ + queue-direct-with-no-params.sh \ + queue-direct-with-params-given.sh \ + killrsyslog.sh \ + parsertest-parse1.sh \ + parsertest-parse1-udp.sh \ + parsertest-parse2.sh \ + parsertest-parse2-udp.sh \ + parsertest-parse_8bit_escape.sh \ + parsertest-parse_8bit_escape-udp.sh \ + parsertest-parse3.sh \ + parsertest-parse3-udp.sh \ + parsertest-parse_invld_regex.sh \ + parsertest-parse_invld_regex-udp.sh \ + parsertest-parse-3164-buggyday.sh \ + parsertest-parse-3164-buggyday-udp.sh \ + parsertest-parse-nodate.sh \ + parsertest-parse-nodate-udp.sh \ + parsertest-snare_ccoff_udp.sh \ + parsertest-snare_ccoff_udp2.sh \ + fieldtest.sh \ + fieldtest-udp.sh \ + proprepltest-nolimittag-udp.sh \ + proprepltest-nolimittag.sh \ + proprepltest-rfctag-udp.sh \ + proprepltest-rfctag.sh \ + timestamp-3164.sh \ + timestamp-3339.sh \ + timestamp-isoweek.sh \ + timestamp-mysql.sh \ + timestamp-pgsql.sh \ + timestamp-subseconds.sh \ + rsf_getenv.sh \ + diskq-rfc5424.sh \ + rfc5424parser-sp_at_msg_start.sh \ + diskqueue-full.sh \ + diskqueue-fail.sh \ + diskqueue.sh \ + diskqueue-non-unique-prefix.sh \ + arrayqueue.sh \ + include-obj-text-from-file.sh \ + include-obj-text-from-file-noexist.sh \ + include-obj-outside-control-flow-vg.sh \ + include-obj-in-if-vg.sh \ + include-obj-text-vg.sh \ + config_output-o-option.sh \ + rscript-config_enable-off-vg.sh \ + rscript-config_enable-on.sh \ + rscript_http_request.sh \ + rscript_http_request-vg.sh \ + rscript_bare_var_root.sh \ + rscript_bare_var_root-empty.sh \ + rscript_contains.sh \ + rscript_ipv42num.sh \ + rscript_field.sh \ + rscript_field-vg.sh \ + rscript_stop.sh \ + rscript_stop2.sh \ + stop.sh \ + rscript_le.sh \ + rscript_le_var.sh \ + rscript_ge.sh \ + rscript_ge_var.sh \ + rscript_lt.sh \ + rscript_lt_var.sh \ + rscript_gt.sh \ + rscript_gt_var.sh \ + rscript_ne.sh \ + rscript_ne_var.sh \ + rscript_number_comparison_LE.sh \ + rscript_number_comparison_LE-vg.sh \ + rscript_number_comparison_LT.sh \ + rscript_compare_str-numstr.sh \ + rscript_compare_str-num.sh \ + rscript_compare_numstr-str.sh \ + rscript_compare_num-str.sh \ + rscript_compare_numstr-numstr.sh \ + rscript_compare_numstr-num.sh \ + rscript_compare_num-numstr.sh \ + rscript_compare_num-num.sh \ + rscript_compare_str-str.sh \ + rscript_compare_str-str-vg.sh \ + rscript_compare_str-num-vg.sh \ + rscript_compare_str-numstr-vg.sh \ + rscript_compare_num-str-vg.sh \ + rscript_compare_numstr-str-vg.sh \ + rscript_compare_numstr-num-vg.sh \ + rscript_compare_numstr-numstr-vg.sh \ + rscript_compare_num-num-vg.sh \ + rscript_compare_num-numstr-vg.sh \ + rscript_compare-common.sh \ + rscript_num2ipv4.sh \ + rscript_int2Hex.sh \ + rscript_trim.sh \ + rscript_substring.sh \ + rscript_format_time.sh \ + rscript_parse_time.sh \ + rscript_parse_time_get-ts.py \ + rscript_is_time.sh \ + rscript_script_error.sh \ + rscript_parse_json.sh \ + rscript_parse_json-vg.sh \ + rscript_backticks-vg.sh \ + rscript_backticks_empty_envvar-vg.sh \ + rscript_previous_action_suspended.sh \ + rscript_str2num_negative.sh \ + rscript_exists-yes.sh \ + rscript_exists-yes2.sh \ + rscript_exists-not1.sh \ + rscript_exists-not2.sh \ + rscript_exists-not3.sh \ + rscript_exists-not4.sh \ + rscript_unflatten_arg1_unsuitable.sh \ + rscript_unflatten_arg2_invalid.sh \ + rscript_unflatten_conflict1.sh \ + rscript_unflatten_conflict2.sh \ + rscript_unflatten_conflict3.sh \ + rscript_unflatten_key_truncated.sh \ + rscript_unflatten_non_object.sh \ + rscript_unflatten_object_exclamation.sh \ + rscript_unflatten_object.sh \ + rscript_unflatten_arg1_unsuitable-vg.sh \ + rscript_unflatten_arg2_invalid-vg.sh \ + rscript_unflatten_conflict1-vg.sh \ + rscript_unflatten_conflict2-vg.sh \ + rscript_unflatten_conflict3-vg.sh \ + rscript_unflatten_key_truncated-vg.sh \ + rscript_unflatten_non_object-vg.sh \ + rscript_unflatten_object_exclamation-vg.sh \ + rscript_unflatten_object-vg.sh \ + rscript_get_property.sh \ + rscript_get_property-vg.sh \ + rs-cnum.sh \ + rs-int2hex.sh \ + rs-substring.sh \ + omsnmp_errmsg_no_params.sh \ + sndrcv_omsnmpv1_udp.sh \ + sndrcv_omsnmpv1_udp_dynsource.sh \ + sndrcv_omsnmpv1_udp_invalidoid.sh \ + snmptrapreceiver.py \ + ommail_errmsg_no_params.sh \ + mmdarwin_errmsg_no_params.sh \ + mmdarwin_errmsg_no_sock.sh \ + mmdarwin_errmsg_no_sock-vg.sh \ + mmutf8fix_no_error.sh \ + tcpflood_wrong_option_output.sh \ + msleep_usage_output.sh \ + mangle_qi_usage_output.sh \ + minitcpsrv_usage_output.sh \ + test_id_usage_output.sh \ + mmanon_with_debug.sh \ + mmanon_random_32_ipv4.sh \ + mmanon_random_cons_32_ipv4.sh \ + mmanon_recognize_ipv4.sh \ + mmanon_zero_12_ipv4.sh \ + mmanon_zero_33_ipv4.sh \ + mmanon_zero_8_ipv4.sh \ + mmanon_simple_12_ipv4.sh \ + mmanon_simple_33_ipv4.sh \ + mmanon_simple_8_ipv4.sh \ + mmanon_simple_mallformed_ipv4.sh \ + mmanon_random_128_ipv6.sh \ + mmanon_zero_128_ipv6.sh \ + mmanon_zero_96_ipv6.sh \ + mmanon_random_cons_128_ipv6.sh \ + mmanon_zero_50_ipv6.sh \ + mmanon_recognize_ipv6.sh \ + mmanon_zero_64_ipv6.sh \ + mmanon_both_modes_compatible.sh \ + mmanon_recognize_ipembedded.sh \ + mmanon_ipv6_port.sh \ + mmanon_random_cons_128_ipembedded.sh \ + rscript_eq.sh \ + rscript_eq_var.sh \ + rscript_set_memleak-vg.sh \ + rscript_set_unset_invalid_var.sh \ + rscript_set_modify.sh \ + stop-localvar.sh \ + stop-msgvar.sh \ + omfwd-tls-invalid-permitExpiredCerts.sh \ + omfwd-keepalive.sh \ + omfwd_fast_imuxsock.sh \ + omfile_hup-vg.sh \ + zstd.sh \ + zstd-vg.sh \ + gzipwr_hup-vg.sh \ + omusrmsg-errmsg-no-params.sh \ + omusrmsg-noabort.sh \ + omusrmsg-noabort-vg.sh \ + omfile-module-params.sh \ + omfile-read-only-errmsg.sh \ + omfile-null-filename.sh \ + omfile-whitespace-filename.sh \ + omfile-read-only.sh \ + omfile-outchannel.sh \ + omfile-outchannel-many.sh \ + omfile-sizelimitcmd-many.sh \ + omfile_both_files_set.sh \ + omfile_hup.sh \ + omrabbitmq_no_params.sh \ + omrabbitmq_params_missing0.sh \ + omrabbitmq_params_missing1.sh \ + omrabbitmq_params_missing2.sh \ + omrabbitmq_params_invalid0.sh \ + omrabbitmq_params_invalid1.sh \ + omrabbitmq_params_invalid2.sh \ + omrabbitmq_params_invalid3.sh \ + omrabbitmq_data_1server.sh \ + omrabbitmq_data_1server-vg.sh \ + omrabbitmq_data_2servers.sh \ + omrabbitmq_error_server0.sh \ + omrabbitmq_error_server1.sh \ + omrabbitmq_error_server2.sh \ + omrabbitmq_error_server3.sh \ + omrabbitmq_json.sh \ + omrabbitmq_raw.sh \ + imhiredis-queue.sh \ + imhiredis-queue-vg.sh \ + imhiredis-queue-lpop.sh \ + imhiredis-queue-lpop-vg.sh \ + imhiredis-redis-restart.sh \ + imhiredis-redis-restart-vg.sh \ + imhiredis-redis-start-after.sh \ + imhiredis-redis-start-after-vg.sh \ + imhiredis-subscribe.sh \ + imhiredis-subscribe-vg.sh \ + imhiredis-stream.sh \ + imhiredis-stream-vg.sh \ + imhiredis-stream-from-beginning.sh \ + imhiredis-stream-from-beginning-vg.sh \ + imhiredis-stream-consumerGroup-ack.sh \ + imhiredis-stream-consumerGroup-ack-vg.sh \ + imhiredis-stream-consumerGroup-noack.sh \ + imhiredis-stream-consumerGroup-noack-vg.sh \ + imhiredis-stream-consumerGroup-reclaim.sh \ + imhiredis-stream-consumerGroup-reclaim-vg.sh \ + msgvar-concurrency.sh \ + msgvar-concurrency-array.sh \ + testsuites/msgvar-concurrency-array.rulebase \ + msgvar-concurrency-array-event.tags.sh \ + testsuites/msgvar-concurrency-array-event.tags.rulebase \ + localvar-concurrency.sh \ + exec_tpl-concurrency.sh \ + prop-jsonmesg-vg.sh \ + prop-all-json-concurrency.sh \ + no-parser-errmsg.sh \ + global_vars.sh \ + no-parser-errmsg.sh \ + no-parser-vg.sh \ + prop-programname.sh \ + prop-programname-with-slashes.sh \ + rfc5424parser.sh \ + rscript_privdropuser.sh \ + rscript_privdropuserid.sh \ + rscript_privdropgroup.sh \ + rscript_privdropgroupid.sh \ + privdrop_common.sh \ + privdropuser.sh \ + privdropuserid.sh \ + privdropgroup.sh \ + privdropgroupid.sh \ + privdropabortonidfail.sh \ + privdropabortonidfaillegacy.sh \ + json-nonstring.sh \ + json-onempty-at-end.sh \ + template-json.sh \ + template-pure-json.sh \ + template-pos-from-to.sh \ + template-pos-from-to-lowercase.sh \ + template-pos-from-to-oversize.sh \ + template-pos-from-to-oversize-lowercase.sh \ + template-pos-from-to-missing-jsonvar.sh \ + template-const-jsonf.sh \ + template-topos-neg.sh \ + fac_authpriv.sh \ + fac_local0.sh \ + fac_local0-vg.sh \ + fac_local7.sh \ + fac_mail.sh \ + fac_news.sh \ + fac_ftp.sh \ + fac_ntp.sh \ + fac_uucp.sh \ + fac_invld1.sh \ + fac_invld2.sh \ + fac_invld3.sh \ + fac_invld4_rfc5424.sh \ + compresssp.sh \ + compresssp-stringtpl.sh \ + now_family_utc.sh \ + now-utc-ymd.sh \ + now-utc-casecmp.sh \ + now-utc.sh \ + now-unixtimestamp.sh \ + faketime_common.sh \ + imjournal-basic.sh \ + imjournal-statefile.sh \ + imjournal-statefile-vg.sh \ + imjournal-basic-vg.sh \ + omjournal-abort-template.sh \ + omjournal-abort-no-template.sh \ + omjournal-basic-template.sh \ + omjournal-basic-no-template.sh \ + timegenerated-ymd.sh \ + timegenerated-uxtimestamp.sh \ + timegenerated-uxtimestamp-invld.sh \ + timegenerated-dateordinal.sh \ + timegenerated-dateordinal-invld.sh \ + timegenerated-utc.sh \ + timegenerated-utc-legacy.sh \ + timereported-utc.sh \ + timereported-utc-legacy.sh \ + timereported-utc-vg.sh \ + mmrm1stspace-basic.sh \ + mmnormalize_parsesuccess.sh \ + mmnormalize_parsesuccess-vg.sh \ + mmnormalize_rule_from_string.sh \ + mmnormalize_rule_from_array.sh \ + pmnull-basic.sh \ + pmnull-withparams.sh \ + omstdout-basic.sh \ + testsuites/mmnormalize_processing_tests.rulebase \ + mmnormalize_processing_test1.sh \ + mmnormalize_processing_test2.sh \ + mmnormalize_processing_test3.sh \ + mmnormalize_processing_test4.sh \ + pmnormalize-basic.sh \ + pmnormalize-rule.sh \ + pmnormalize-rule_and_rulebase.sh \ + pmnormalize-neither_rule_rulebase.sh \ + pmnormalize-invld-rulebase.sh \ + pmnormalize-rule_invld-data.sh \ + testsuites/pmnormalize_basic.rulebase \ + pmnormalize-basic-vg.sh \ + pmnormalize-rule-vg.sh\ + pmnormalize-rule_and_rulebase-vg.sh \ + pmnormalize-neither_rule_rulebase-vg.sh \ + pmnormalize-invld-rulebase-vg.sh \ + pmnormalize-rule_invld-data-vg.sh \ + rawmsg-after-pri.sh \ + rs_optimizer_pri.sh \ + rscript_prifilt.sh \ + rscript_optimizer1.sh \ + rscript_ruleset_call.sh \ + rscript_ruleset_call_indirect-basic.sh \ + rscript_ruleset_call_indirect-var.sh \ + rscript_ruleset_call_indirect-invld.sh \ + cee_simple.sh \ + cee_diskqueue.sh \ + mmjsonparse-w-o-cookie.sh \ + mmjsonparse-w-o-cookie-multi-spaces.sh \ + mmjsonparse_simple.sh \ + mmjsonparse-invalid-containerName.sh \ + wtpShutdownAll-assertionFailure.sh \ + imptcp-octet-framing-too-long-vg.sh \ + imptcp-oversize-message-display.sh \ + imptcp-msg-truncation-on-number.sh \ + imptcp-msg-truncation-on-number2.sh \ + imptcp-maxFrameSize-parameter.sh \ + mmjsonparse_cim.sh \ + mmjsonparse_cim2.sh \ + mmjsonparse_localvar.sh \ + mmdb.sh \ + mmdb-space.sh \ + mmdb.rb \ + test.mmdb \ + with_space.mmdb \ + mmdb-vg.sh \ + mmdb-container.sh \ + mmdb-container-empty.sh \ + mmdb-multilevel-vg.sh \ + incltest.sh \ + incltest_dir.sh \ + incltest_dir_empty_wildcard.sh \ + incltest_dir_wildcard.sh \ + testsuites/es.yml \ + clickhouse-dflt-tpl.sh \ + clickhouse-retry-error.sh \ + clickhouse-start.sh \ + clickhouse-stop.sh \ + clickhouse-basic.sh \ + clickhouse-load.sh \ + clickhouse-bulk.sh \ + clickhouse-bulk-load.sh \ + clickhouse-limited-batch.sh \ + clickhouse-select.sh \ + clickhouse-wrong-quotation-marks.sh \ + clickhouse-wrong-template-option.sh \ + clickhouse-errorfile.sh \ + clickhouse-wrong-insert-syntax.sh \ + clickhouse-basic-vg.sh \ + clickhouse-load-vg.sh \ + clickhouse-bulk-vg.sh \ + clickhouse-bulk-load-vg.sh \ + es_response_get_msgnum.py \ + elasticsearch-error-format-check.py \ + es-duplicated-ruleset.sh \ + es-duplicated-ruleset-vg.sh \ + es-basic-es6.0.sh \ + es-basic-es7.14.sh \ + es-basic.sh \ + es-basic-vgthread.sh \ + es-basic-server.sh \ + es-execOnlyWhenPreviousSuspended.sh \ + es-basic-ha.sh \ + es-basic-bulk.sh \ + es-basic-errfile-empty.sh \ + es-basic-errfile-popul.sh \ + es-bulk-errfile-empty.sh \ + es-bulk-errfile-popul.sh \ + es-bulk-errfile-popul-def-format.sh \ + es-bulk-errfile-popul-erronly.sh \ + es-bulk-errfile-popul-erronly-interleaved.sh \ + es-bulk-errfile-popul-def-interleaved.sh \ + es-searchType-empty.sh \ + diskqueue-multithread-es.sh \ + es-basic-vg.sh \ + es-basic-bulk-vg.sh \ + es-basic-ha-vg.sh \ + es-maxbytes-bulk.sh \ + es-bulk-retry.sh \ + elasticsearch-stop.sh \ + linkedlistqueue.sh \ + da-mainmsg-q.sh \ + diskqueue-fsync.sh \ + msgdup.sh \ + msgdup_props.sh \ + empty-ruleset.sh \ + ruleset-direct-queue.sh \ + imtcp-listen-port-file-2.sh \ + allowed-sender-tcp-ok.sh \ + allowed-sender-tcp-fail.sh \ + allowed-sender-tcp-hostname-ok.sh \ + allowed-sender-tcp-hostname-fail.sh \ + imtcp-octet-framing-too-long-vg.sh \ + imtcp-discard-truncated-msg.sh \ + imtcp-basic.sh \ + imtcp-basic-hup.sh \ + imtcp-maxFrameSize.sh \ + imtcp-msg-truncation-on-number.sh \ + imtcp-msg-truncation-on-number2.sh \ + imtcp-NUL.sh \ + imtcp-NUL-rawmsg.sh \ + imtcp-tls-gtls-x509fingerprint-invld.sh \ + imtcp-tls-gtls-x509fingerprint.sh \ + imtcp-tls-gtls-x509name-invld.sh \ + imtcp-tls-gtls-x509name.sh \ + imtcp-tls-gtls-x509name-legacy.sh \ + imtcp-drvr-in-input-basic.sh \ + imtcp-multi-drvr-basic.sh \ + imtcp-multi-drvr-basic-parallel.sh \ + imtcp-multi-drvr-basic-ptcp_gtls_ossl.sh \ + imtcp-tls-basic.sh \ + imtcp-tls-input-basic.sh \ + imtcp-tls-input-2certs.sh \ + imtcp-tls-basic-verifydepth.sh \ + imtcp-tls-basic-vg.sh \ + imtcp-tls-no-lstn-startup.sh \ + imtcp_incomplete_frame_at_end.sh \ + imtcp-multiport.sh \ + imtcp-bigmessage-octetcounting.sh \ + imtcp-bigmessage-octetstuffing.sh \ + udp-msgreduc-orgmsg-vg.sh \ + udp-msgreduc-vg.sh \ + manytcp-too-few-tls-vg.sh \ + imtcp-tls-ossl-basic.sh \ + imtcp-tls-ossl-input-basic.sh \ + imtcp-tls-ossl-input-2certs.sh \ + imtcp-tls-ossl-basic-tlscommands.sh \ + imtcp-tls-ossl-basic-verifydepth.sh \ + imtcp-tls-ossl-invalid-verifydepth.sh \ + sndrcv_tls_ossl_anon_ipv4.sh \ + sndrcv_tls_ossl_anon_ipv6.sh \ + sndrcv_tls_ossl_anon_rebind.sh \ + sndrcv_tls_ossl_anon_ciphers.sh \ + sndrcv_tls_ossl_certvalid.sh \ + sndrcv_tls_ossl_certvalid_action_level.sh \ + sndrcv_tls_ossl_certvalid_expired.sh \ + sndrcv_tls_ossl_certvalid_tlscommand.sh \ + sndrcv_tls_ossl_certvalid_ciphers.sh \ + sndrcv_tls_ossl_certvalid_revoked.sh \ + imtcp-tls-ossl-x509valid.sh \ + imtcp-tls-ossl-x509name.sh \ + imtcp-tls-ossl-x509fingerprint.sh \ + imtcp-tls-ossl-basic-vg.sh \ + imtcp-tls-ossl-basic-brokenhandshake-vg.sh \ + imtcp-tls-ossl-error-ca.sh \ + imtcp-tls-ossl-error-cert.sh \ + imtcp-tls-ossl-error-key.sh \ + imtcp-tls-ossl-error-key2.sh \ + manytcp.sh \ + manyptcp.sh \ + imptcp-basic-hup.sh \ + imptcp-NUL.sh \ + imptcp-NUL-rawmsg.sh \ + imptcp_framing_regex.sh \ + testsuites/imptcp_framing_regex.testdata \ + imptcp_framing_regex-oversize.sh \ + testsuites/imptcp_framing_regex-oversize.testdata \ + imptcp_large.sh \ + imptcp-connection-msg-disabled.sh \ + imptcp-connection-msg-received.sh \ + imptcp-discard-truncated-msg.sh \ + imptcp_addtlframedelim.sh \ + imptcp_conndrop-vg.sh \ + imptcp_conndrop.sh \ + imptcp_multi_line.sh \ + testsuites/imptcp_multi_line.testdata \ + imptcp_no_octet_counted.sh \ + imtcp_addtlframedelim_on_input.sh \ + testsuites/no_octet_counted.testdata \ + imtcp_no_octet_counted.sh \ + testsuites/spframingfix.testdata \ + imtcp_spframingfix.sh \ + imtcp-connection-msg-recieved.sh \ + imptcp_spframingfix.sh \ + msg-deadlock-headerless-noappname.sh \ + imtcp_conndrop.sh \ + imtcp_conndrop_tls.sh \ + imtcp_conndrop_tls-vg.sh \ + imtcp_addtlframedelim.sh \ + tcp-msgreduc-vg.sh \ + inputname-imtcp.sh \ + omod-if-array.sh \ + omod-if-array-udp.sh \ + discard.sh \ + failover-no-rptd.sh \ + failover-no-rptd-vg.sh \ + failover-no-basic.sh \ + failover-no-basic-vg.sh \ + failover-rptd.sh \ + failover-rptd-vg.sh \ + failover-basic.sh \ + failover-basic-vg.sh \ + failover-async.sh \ + failover-double.sh \ + suspend-via-file.sh \ + suspend-omfwd-via-file.sh \ + externalstate-failed-rcvr.sh \ + discard-rptdmsg.sh \ + discard-rptdmsg-vg.sh \ + discard-allmark.sh \ + discard-allmark-vg.sh \ + diag.sh \ + rcvr_fail_restore.sh \ + queue-encryption-disk.sh \ + queue-encryption-disk_keyfile.sh \ + queue-encryption-disk_keyfile-vg.sh \ + queue-encryption-disk_keyprog.sh \ + queue-encryption-da.sh \ + da-queue-persist.sh \ + daqueue-dirty-shutdown.sh \ + daqueue-invld-qi.sh \ + daqueue-persist.sh \ + daqueue-persist-drvr.sh \ + queue-persist.sh \ + queue-persist-drvr.sh \ + threadingmq.sh \ + threadingmqaq.sh \ + sndrcv_drvr.sh \ + sndrcv_drvr_noexit.sh \ + sndrcv_failover.sh \ + sndrcv.sh \ + omrelp_errmsg_no_connect.sh \ + imrelp-basic.sh \ + imrelp-basic-hup.sh \ + imrelp-basic-vg.sh \ + imrelp-basic-oldstyle.sh \ + imrelp-manyconn.sh \ + imrelp-manyconn-vg.sh \ + imrelp-maxDataSize-error.sh \ + imrelp-long-msg.sh \ + imrelp-oversizeMode-truncate.sh \ + imrelp-oversizeMode-accept.sh \ + imrelp-invld-tlslib.sh \ + imrelp-bigmessage.sh \ + imrelp-sessionbreak-vg.sh \ + omrelp-invld-tlslib.sh \ + glbl-oversizeMsg-log.sh \ + glbl-oversizeMsg-truncate.sh \ + glbl-oversizeMsg-split.sh \ + sndrcv_relp.sh \ + sndrcv_relp_rebind.sh \ + sndrcv_relp_tls_prio.sh \ + sndrcv_relp_tls_chainedcert.sh \ + sndrcv_relp_tls.sh \ + sndrcv_relp_tls_certvalid.sh \ + sndrcv_relp-vg-rcvr.sh \ + sndrcv_relp-vg-sender.sh \ + relp_tls_certificate_not_found.sh \ + omrelp_wrong_authmode.sh \ + imrelp-tls.sh \ + imrelp-tls-cfgcmd.sh \ + imrelp-tls-chainedcert.sh \ + imrelp-tls-mixed-chainedcert.sh \ + imrelp-tls-mixed-chainedcert2.sh \ + sndrcv_relp_tls-cfgcmd.sh \ + sndrcv_relp_dflt_pt.sh \ + sndrcv_udp.sh \ + imudp_thread_hang.sh \ + sndrcv_udp_nonstdpt.sh \ + sndrcv_udp_nonstdpt_v6.sh \ + omudpspoof_errmsg_no_params.sh \ + sndrcv_omudpspoof.sh \ + sndrcv_omudpspoof-bigmsg.sh \ + sndrcv_omudpspoof_nonstdpt.sh \ + sndrcv_gzip.sh \ + imdtls-basic.sh \ + imdtls-basic-tlscommands.sh \ + imdtls-basic-timeout \ + imdtls-error-cert.sh \ + imdtls-sessionbreak.sh \ + imdtls-basic-vg.sh \ + imdtls-sessionbreak-vg.sh \ + sndrcv_dtls_certvalid.sh \ + sndrcv_dtls_anon_ciphers.sh \ + sndrcv_dtls_certvalid_ciphers.sh \ + sndrcv_dtls_certvalid_permitted.sh \ + sndrcv_dtls_certvalid_missing.sh \ + sndrcv_dtls_anon_ciphers.sh \ + sndrcv_dtls_certvalid-vg.sh \ + action-tx-single-processing.sh \ + omfwd-errfile-maxsize.sh \ + omfwd-errfile-maxsize-filled.sh \ + action-tx-errfile-maxsize.sh \ + action-tx-errfile.sh \ + testsuites/action-tx-errfile.result \ + pipeaction.sh \ + improg-simul.sh \ + improg-multiline-test.py \ + improg_errmsg_no_params.sh \ + improg_errmsg_no_params-vg.sh \ + improg_prog_simple.sh \ + improg_prog_confirm.sh \ + improg_prog_confirm_killonclose.sh \ + improg_prog_killonclose.sh \ + improg_prog_simple-vg.sh \ + improg_simple_multi.sh \ + imhttp-post-payload.sh \ + imhttp-post-payload-vg.sh \ + imhttp-post-payload-basic-auth.sh \ + imhttp-post-payload-basic-auth-vg.sh \ + imhttp-post-payload-query-params.sh \ + imhttp-post-payload-query-params-vg.sh \ + imhttp-post-payload-large.sh \ + imhttp-post-payload-large-vg.sh \ + testsuites/imhttp-large-data.txt \ + imhttp-post-payload-multi.sh \ + imhttp-post-payload-multi-vg.sh \ + imhttp-getrequest-file.sh \ + imhttp-getrequest-file-vg.sh \ + imhttp-post-payload-multi-lf.sh \ + imhttp-post-payload-multi-lf-vg.sh \ + imhttp-post-payload-compress.sh \ + imhttp-post-payload-compress-vg.sh \ + testsuites/docroot/file.txt \ + testsuites/htpasswd \ + omhttp-auth.sh \ + omhttp-basic.sh \ + omhttp-batch-fail-with-400.sh \ + omhttp-batch-jsonarray-compress.sh \ + omhttp-batch-jsonarray-retry.sh \ + omhttp-batch-jsonarray.sh \ + omhttp-batch-kafkarest-retry.sh \ + omhttp-batch-kafkarest.sh \ + omhttp-batch-lokirest-retry.sh \ + omhttp-batch-lokirest.sh \ + omhttp-batch-lokirest-vg.sh \ + omhttp-batch-newline.sh \ + omhttp-retry.sh \ + omhttp-httpheaderkey.sh \ + omhttp-multiplehttpheaders.sh \ + omhttp-dynrestpath.sh \ + omhttp-batch-dynrestpath.sh \ + omhttp-auth-vg.sh \ + omhttp-basic-vg.sh \ + omhttp-batch-jsonarray-compress-vg.sh \ + omhttp-batch-jsonarray-retry-vg.sh \ + omhttp-batch-jsonarray-vg.sh \ + omhttp-batch-kafkarest-retry-vg.sh \ + omhttp-batch-lokirest-retry-vg.sh \ + omhttp-retry-vg.sh \ + omhttp_server.py \ + omprog-defaults.sh \ + omprog-defaults-vg.sh \ + omprog-output-capture.sh \ + omprog-output-capture-mt.sh \ + omprog-output-capture-vg.sh \ + omprog-feedback.sh \ + omprog-feedback-mt.sh \ + omprog-feedback-vg.sh \ + omprog-feedback-timeout.sh \ + omprog-close-unresponsive.sh \ + omprog-close-unresponsive-vg.sh \ + omprog-close-unresponsive-noterm.sh \ + omprog-restart-terminated.sh \ + omprog-restart-terminated-vg.sh \ + omprog-restart-terminated-outfile.sh \ + omprog-single-instance.sh \ + omprog-single-instance-vg.sh \ + omprog-single-instance-outfile.sh \ + omprog-if-error.sh \ + omprog-transactions.sh \ + omprog-transactions-vg.sh \ + omprog-transactions-failed-messages.sh \ + omprog-transactions-failed-commits.sh \ + testsuites/omprog-defaults-bin.sh \ + testsuites/omprog-output-capture-bin.sh \ + testsuites/omprog-output-capture-mt-bin.py \ + testsuites/omprog-feedback-bin.sh \ + testsuites/omprog-feedback-mt-bin.sh \ + testsuites/omprog-feedback-timeout-bin.sh \ + testsuites/omprog-close-unresponsive-bin.sh \ + testsuites/omprog-restart-terminated-bin.sh \ + testsuites/omprog-single-instance-bin.sh \ + testsuites/omprog-transactions-bin.sh \ + pipe_noreader.sh \ + uxsock_simple.sh \ + asynwr_simple.sh \ + asynwr_simple_2.sh \ + asynwr_timeout.sh \ + asynwr_timeout_2.sh \ + asynwr_small.sh \ + asynwr_tinybuf.sh \ + wr_large_async.sh \ + wr_large_sync.sh \ + asynwr_deadlock.sh \ + asynwr_deadlock_2.sh \ + asynwr_deadlock2.sh \ + asynwr_deadlock4.sh \ + asynwr_dynfile_flushtxend-off.sh \ + abort-uncleancfg-goodcfg.sh \ + abort-uncleancfg-goodcfg-check.sh \ + abort-uncleancfg-badcfg-check.sh \ + abort-uncleancfg-badcfg-check_1.sh \ + variable_leading_underscore.sh \ + gzipwr_hup_multi_file.sh \ + gzipwr_hup_single_file.sh \ + gzipwr_rscript.sh \ + gzipwr_flushInterval.sh \ + gzipwr_flushOnTXEnd.sh \ + gzipwr_large.sh \ + gzipwr_large_dynfile.sh \ + gzipwr_hup.sh \ + complex1.sh \ + random.sh \ + testsuites/imfile-old-state-file_imfile-state_.-rsyslog.input \ + imfile-readmode0-vg.sh \ + imfile-readmode2.sh \ + imfile-readmode2-polling.sh \ + imfile-readmode2-vg.sh \ + imfile-readmode2-with-persists-data-during-stop.sh \ + imfile-readmode2-with-persists.sh \ + imfile-endregex-save-lf.sh \ + imfile-endregex-save-lf-persist.sh \ + imfile-endregex.sh \ + imfile-endregex-vg.sh \ + imfile-basic.sh \ + imfile-basic-legacy.sh \ + imfile-basic-2GB-file.sh \ + imfile-truncate-2GB-file.sh \ + imfile-discard-truncated-line.sh \ + imfile-truncate-line.sh \ + imfile-file-not-found-error.sh \ + imfile-fileNotFoundError-parameter.sh \ + imfile-error-not-repeated.sh \ + imfile-basic-vg.sh \ + imfile-basic-vgthread.sh \ + imfile-endregex-timeout-none-polling.sh \ + imfile-endregex-timeout-polling.sh \ + imfile-endregex-timeout.sh \ + imfile-endregex-timeout-none.sh \ + imfile-endregex-timeout-with-shutdown.sh \ + imfile-endregex-timeout-with-shutdown-polling.sh \ + imfile-escapelf.replacement.sh \ + imfile-escapelf.replacement-empty.sh \ + imfile-endmsg.regex.sh \ + imfile-endmsg.regex-vg.sh \ + imfile-endmsg.regex-with-example.sh \ + imfile-endmsg.regex-with-example-vg.sh \ + imfile-endmsg.regex.crio.rulebase \ + imfile-endmsg.regex.json.rulebase \ + imfile-statefile-no-file_id.sh \ + imfile-statefile-no-file_id-TO-file_id.sh \ + imfile-statefile-directory.sh \ + imfile-statefile-delete.sh \ + imfile-statefile-no-delete.sh \ + imfile-persist-state-1.sh \ + imfile-freshStartTail1.sh \ + imfile-freshStartTail2.sh \ + imfile-freshStartTail3.sh \ + imfile-truncate.sh \ + imfile-truncate-multiple.sh \ + imfile-wildcards.sh \ + imfile-wildcards-dirs.sh \ + imfile-wildcards-dirs2.sh \ + imfile-wildcards-dirs-multi.sh \ + imfile-wildcards-dirs-multi2.sh \ + imfile-wildcards-dirs-multi3.sh \ + imfile-wildcards-dirs-multi4.sh \ + imfile-wildcards-dirs-multi5.sh \ + imfile-wildcards-dirs-multi5-polling.sh \ + imfile-old-state-file.sh \ + imfile-rename-while-stopped.sh \ + imfile-rename.sh \ + imfile-symlink.sh \ + imfile-symlink-multi.sh \ + imfile-symlink-ext-tmp-dir-tree.sh \ + imfile-logrotate.sh \ + imfile-logrotate-async.sh \ + imfile-logrotate-copytruncate.sh \ + imfile-logrotate-nocopytruncate.sh \ + imfile-logrotate-multiple.sh \ + imfile-growing-file-id.sh \ + imfile-ignore-old-file-1.sh \ + imfile-ignore-old-file-2.sh \ + imfile-ignore-old-file-3.sh \ + imfile-ignore-old-file-4.sh \ + imfile-ignore-old-file-5.sh \ + imfile-ignore-old-file-6.sh \ + imfile-ignore-old-file-7.sh \ + glbl-oversizeMsg-truncate-imfile.sh \ + dynfile_invld_async.sh \ + dynfile_invld_sync.sh \ + dynfile_invalid2.sh \ + rulesetmultiqueue.sh \ + rulesetmultiqueue-v6.sh \ + omruleset.sh \ + omruleset-queue.sh \ + badqi.sh \ + bad_qi/dbq.qi \ + execonlyonce.sh \ + execonlywhenprevsuspended.sh \ + execonlywhenprevsuspended2.sh \ + execonlywhenprevsuspended3.sh \ + execonlywhenprevsuspended4.sh \ + execonlywhenprevsuspended_multiwrkr.sh \ + execonlywhenprevsuspended-queue.sh \ + execonlywhenprevsuspended-nonsusp.sh \ + execonlywhenprevsuspended-nonsusp-queue.sh \ + tabescape_dflt.sh \ + tabescape_dflt-udp.sh \ + tabescape_off.sh \ + tabescape_off-udp.sh \ + tabescape_on.sh \ + dircreate_dflt.sh \ + dircreate_off.sh \ + imuxsock_legacy.sh \ + imuxsock_logger_parserchain.sh \ + imuxsock_logger.sh \ + imuxsock_logger_ratelimit.sh \ + imuxsock_logger_ruleset.sh \ + imuxsock_logger_ruleset_ratelimit.sh \ + imuxsock_logger_err.sh \ + imuxsock_logger_root.sh \ + imuxsock_logger_syssock.sh \ + imuxsock_traillf.sh \ + imuxsock_traillf_root.sh \ + imuxsock_traillf_syssock.sh \ + imuxsock_ccmiddle.sh \ + imuxsock_ccmiddle_root.sh \ + imklog_permitnonkernelfacility_root.sh \ + imuxsock_ccmiddle_syssock.sh \ + imuxsock_hostname.sh \ + testsuites/mysql-truncate.sql \ + testsuites/mysql-select-msg.sql \ + libdbi-basic.sh \ + libdbi-asyn.sh \ + mysqld-start.sh \ + mysqld-stop.sh \ + mysql-basic.sh \ + mysql-basic-cnf6.sh \ + mysql-basic-vg.sh \ + mysql-asyn.sh \ + mysql-asyn-vg.sh \ + mysql-actq-mt.sh \ + mysql-actq-mt-withpause.sh \ + mysql-actq-mt-withpause-vg.sh \ + kafka-selftest.sh \ + omkafka.sh \ + omkafkadynakey.sh \ + omkafka-vg.sh \ + imkafka-hang-on-no-kafka.sh \ + imkafka-hang-other-action-on-no-kafka.sh \ + imkafka-backgrounded.sh \ + imkafka-config-err-ruleset.sh \ + imkafka-config-err-param.sh \ + imkafka.sh \ + imkafka-vg.sh \ + imkafka_multi_single.sh \ + imkafka_multi_group.sh \ + sndrcv_kafka.sh \ + sndrcv_kafka_multi_topics.sh \ + testsuites/kafka-server.properties \ + testsuites/kafka-server.dep_wrk1.properties \ + testsuites/kafka-server.dep_wrk2.properties \ + testsuites/kafka-server.dep_wrk3.properties \ + testsuites/zoo.cfg \ + testsuites/zoo.dep_wrk1.cfg \ + testsuites/zoo.dep_wrk2.cfg \ + testsuites/zoo.dep_wrk3.cfg \ + omazureeventhubs-basic.sh \ + omazureeventhubs-list.sh \ + omazureeventhubs-stress.sh \ + omazureeventhubs-interrupt.sh \ + omazureeventhubs-basic-vg.sh \ + omazureeventhubs-interrupt-vg.sh \ + mmpstrucdata.sh \ + mmpstrucdata-escaping.sh \ + mmpstrucdata-case.sh \ + mmpstrucdata-vg.sh \ + mmpstrucdata-invalid-vg.sh \ + libdbi-basic-vg.sh \ + dynstats_ctr_reset.sh \ + dynstats_reset_without_pstats_reset.sh \ + dynstats_nometric.sh \ + dynstats_overflow.sh \ + dynstats_overflow-vg.sh \ + dynstats_reset.sh \ + dynstats_reset-vg.sh \ + impstats-hup.sh \ + dynstats.sh \ + dynstats-vg.sh \ + dynstats_prevent_premature_eviction.sh \ + dynstats_prevent_premature_eviction-vg.sh \ + testsuites/dynstats_empty_input \ + testsuites/dynstats_input \ + testsuites/dynstats_input_1 \ + testsuites/dynstats_input_2 \ + testsuites/dynstats_input_3 \ + testsuites/dynstats_input_more_0 \ + testsuites/dynstats_input_more_1 \ + testsuites/dynstats_input_more_2 \ + no-dynstats-json.sh \ + no-dynstats.sh \ + omfwd_impstats-udp.sh \ + omfwd_impstats-tcp.sh \ + perctile-simple.sh \ + perctile-simple-vg.sh \ + stats-json.sh \ + stats-json-vg.sh \ + stats-cee.sh \ + stats-cee-vg.sh \ + stats-json-es.sh \ + dynstats-json.sh \ + dynstats-json-vg.sh \ + mmnormalize_variable.sh \ + mmnormalize_tokenized.sh \ + testsuites/mmnormalize_variable.rulebase \ + testsuites/date_time_msg \ + testsuites/mmnormalize_tokenized.rulebase \ + testsuites/tokenized_input \ + rscript_random.sh \ + rscript_hash32.sh \ + rscript_hash32-vg.sh \ + rscript_hash64.sh \ + rscript_hash64-vg.sh \ + rscript_replace.sh \ + rscript_replace_complex.sh \ + testsuites/complex_replace_input \ + rscript_unaffected_reset.sh \ + rscript_wrap2.sh \ + rscript_wrap3.sh \ + testsuites/wrap3_input\ + json_array_subscripting.sh \ + testsuites/json_array_input \ + testsuites/json_object_input \ + testsuites/json_nonarray_input \ + json_array_looping.sh \ + json_object_looping.sh \ + json_object_looping-vg.sh \ + json_array_looping-vg.sh \ + json_object_suicide_in_loop-vg.sh \ + json_nonarray_looping.sh \ + json_null.sh \ + json_null-vg.sh \ + json_null_array.sh \ + json_null_array-vg.sh \ + mmjsonparse_extra_data-vg.sh \ + mmnormalize_regex.sh \ + testsuites/mmnormalize_regex.rulebase \ + testsuites/regex_input \ + mmnormalize_regex_disabled.sh \ + mmnormalize_regex_defaulted.sh \ + stop_when_array_has_element.sh \ + testsuites/stop_when_array_has_elem_input \ + key_dereference_on_uninitialized_variable_space.sh \ + rscript_re_extract_i.sh \ + rscript_re_extract.sh \ + rscript_re_match_i.sh \ + rscript_re_match.sh \ + rscript_re_match-dbl_quotes.sh \ + lookup_table.sh \ + lookup_table-hup-backgrounded.sh \ + lookup_table_no_hup_reload.sh \ + lookup_table_no_hup_reload-vg.sh \ + lookup_table_rscript_reload.sh \ + lookup_table_rscript_reload_without_stub.sh \ + lookup_table_rscript_reload-vg.sh \ + lookup_table_rscript_reload_without_stub-vg.sh \ + rscript_trim-vg.sh \ + testsuites/xlate.lkp_tbl \ + testsuites/xlate_more.lkp_tbl \ + unused_lookup_table-vg.sh \ + lookup_table-vg.sh \ + array_lookup_table.sh \ + array_lookup_table-vg.sh \ + array_lookup_table_misuse-vg.sh \ + multiple_lookup_tables.sh \ + multiple_lookup_tables-vg.sh \ + testsuites/xlate_array.lkp_tbl \ + testsuites/xlate_array_more.lkp_tbl \ + testsuites/xlate_array_misuse.lkp_tbl \ + testsuites/xlate_array_more_misuse.lkp_tbl \ + sparse_array_lookup_table.sh \ + sparse_array_lookup_table-vg.sh \ + testsuites/xlate_sparse_array.lkp_tbl \ + testsuites/xlate_sparse_array_more.lkp_tbl \ + lookup_table_bad_configs.sh \ + lookup_table_bad_configs-vg.sh \ + testsuites/xlate_array_empty_table.lkp_tbl \ + testsuites/xlate_array_no_index.lkp_tbl \ + testsuites/xlate_array_no_table.lkp_tbl \ + testsuites/xlate_array_no_value.lkp_tbl \ + testsuites/xlate_empty_file.lkp_tbl \ + testsuites/xlate_incorrect_type.lkp_tbl \ + testsuites/xlate_incorrect_version.lkp_tbl \ + testsuites/xlate_sparseArray_empty_table.lkp_tbl \ + testsuites/xlate_sparseArray_no_index.lkp_tbl \ + testsuites/xlate_sparseArray_no_table.lkp_tbl \ + testsuites/xlate_sparseArray_no_value.lkp_tbl \ + testsuites/xlate_string_empty_table.lkp_tbl \ + testsuites/xlate_string_no_index.lkp_tbl \ + testsuites/xlate_string_no_table.lkp_tbl \ + testsuites/xlate_string_no_value.lkp_tbl \ + testsuites/xlate_invalid_json.lkp_tbl \ + testsuites/xlate_array_more_with_duplicates_and_nomatch.lkp_tbl \ + testsuites/xlate_more_with_duplicates_and_nomatch.lkp_tbl \ + testsuites/xlate_sparse_array_more_with_duplicates_and_nomatch.lkp_tbl \ + json_var_cmpr.sh \ + imptcp_maxsessions.sh \ + imptcp_nonProcessingPoller.sh \ + imptcp_veryLargeOctateCountedMessages.sh \ + known_issues.supp \ + libmaxmindb.supp \ + travis/trusty.supp \ + linux_localtime_r.supp \ + CI/centos6-9.supp \ + CI/centos7.supp \ + CI/gcov.supp \ + CI/ubuntu20.04.supp \ + json_var_case.sh \ + cfg.sh \ + empty-prop-comparison.sh \ + sndrcv_tls_anon_rebind.sh \ + sndrcv_tls_anon_hostname.sh \ + sndrcv_tls_anon_ipv4.sh \ + sndrcv_tls_anon_ipv6.sh \ + sndrcv_tls_priorityString.sh \ + sndrcv_tls_certvalid.sh \ + sndrcv_tls_certvalid_action_level.sh \ + sndrcv_tls_certvalid_expired.sh \ + sndrcv_tls_certvalid_expired_defaultmode.sh \ + sndrcv_tls_certvalid_revoked.sh \ + sndrcv_tls_certless_clientonly.sh \ + sndrcv_tls_gtls_servercert_gtls_clientanon.sh \ + sndrcv_tls_gtls_servercert_gtls_clientanon_legacy.sh \ + sndrcv_tls_gtls_serveranon_gtls_clientanon.sh \ + sndrcv_tls_ossl_serveranon_ossl_clientanon.sh \ + sndrcv_tls_ossl_servercert_ossl_clientanon.sh \ + sndrcv_tls_ossl_servercert_gtls_clientanon.sh \ + sndrcv_tls_ossl_serveranon_gtls_clientanon.sh \ + sndrcv_tls_gtls_servercert_ossl_clientanon.sh \ + sndrcv_tls_gtls_serveranon_ossl_clientanon.sh \ + sndrcv_tls_client_missing_cert.sh \ + sndrcv_ossl_cert_chain.sh \ + omtcl.sh \ + omtcl.tcl \ + pmsnare-default.sh \ + pmsnare-default-udp.sh \ + pmsnare-ccoff.sh \ + pmsnare-ccoff-udp.sh \ + pmsnare-ccdefault.sh \ + pmsnare-ccdefault-udp.sh \ + pmsnare-cccstyle.sh \ + pmsnare-cccstyle-udp.sh \ + pmsnare-ccbackslash.sh \ + pmsnare-ccbackslash-udp.sh \ + pmsnare-modoverride.sh \ + pmsnare-modoverride-udp.sh \ + pmlastmsg.sh \ + pmlastmsg-udp.sh \ + pgsql-basic.sh \ + testsuites/pgsql-basic.sql \ + testsuites/pgsql-select-msg.sql \ + testsuites/pgsql-select-syslogtag.sql \ + pgsql-basic-cnf6.sh \ + pgsql-basic-threads-cnf6.sh \ + pgsql-template.sh \ + pgsql-template-cnf6.sh \ + pgsql-actq-mt-withpause.sh \ + pgsql-template-threads-cnf6.sh \ + pgsql-basic-vg.sh \ + pgsql-template-vg.sh \ + pgsql-basic-cnf6-vg.sh \ + pgsql-template-cnf6-vg.sh \ + pgsql-actq-mt-withpause-vg.sh \ + ../devtools/prep-mysql-db.sh \ + ../devtools/prepare_clickhouse.sh \ + mmkubernetes-basic.sh \ + mmkubernetes-basic-vg.sh \ + mmkubernetes_test_server.py \ + mmkubernetes-basic.out.json \ + mmkubernetes-cache-expire.sh \ + mmkubernetes-cache-expire-vg.sh \ + mmkubernetes-cache-expire.out.expected \ + mmkubernetes.supp \ + es-writeoperation.sh \ + imdocker-basic.sh \ + imdocker-basic-vg.sh \ + imdocker-long-logline.sh \ + imdocker-long-logline-vg.sh \ + imdocker-new-logs-from-start.sh \ + imdocker-new-logs-from-start-vg.sh \ + imdocker-multi-line.sh \ + imdocker-multi-line-vg.sh \ + testsuites/incltest.d/include.conf \ + testsuites/abort-uncleancfg-goodcfg.conf \ + testsuites/include-std-omfile-action.conf \ + testsuites/invalid.conf \ + testsuites/valid.conf \ + testsuites/variable_leading_underscore.conf \ + omamqp1-common.sh \ + omamqp1-basic.sh \ + omamqp1-basic-vg.sh + +ourtail_SOURCES = ourtail.c +msleep_SOURCES = msleep.c +omrelp_dflt_port_SOURCES = omrelp_dflt_port.c +mangle_qi_SOURCES = mangle_qi.c +chkseq_SOURCES = chkseq.c +check_relpEngineVersion = check_relpEngineVersion.c +have_relpSrvSetOversizeMode = have_relpSrvSetOversizeMode.c +have_relpEngineSetTLSLibByName = have_relpEngineSetTLSLibByName.c +have_relpSrvSetTlsConfigCmd = have_relpSrvSetTlsConfigCmd.c +test_id_SOURCES = test_id.c + +uxsockrcvr_SOURCES = uxsockrcvr.c +uxsockrcvr_LDADD = $(SOL_LIBS) + +tcpflood_SOURCES = tcpflood.c +tcpflood_CFLAGS = $(PTHREADS_CFLAGS) $(RELP_CFLAGS) +tcpflood_CPPFLAGS = $(PTHREADS_CFLAGS) $(RELP_CFLAGS) +tcpflood_LDADD = $(SOL_LIBS) $(PTHREADS_LIBS) $(RELP_LIBS) +if ENABLE_GNUTLS +tcpflood_CFLAGS += $(GNUTLS_CFLAGS) +tcpflood_CPPFLAGS += $(GNUTLS_CFLAGS) +tcpflood_LDADD += $(GNUTLS_LIBS) +endif +if ENABLE_OPENSSL +tcpflood_CFLAGS += $(OPENSSL_CFLAGS) +tcpflood_CPPFLAGS += $(OPENSSL_CFLAGS) +tcpflood_LDADD += $(OPENSSL_LIBS) +endif + +minitcpsrv_SOURCES = minitcpsrvr.c +minitcpsrv_LDADD = $(SOL_LIBS) + +syslog_caller_SOURCES = syslog_caller.c +syslog_caller_CPPFLAGS = $(LIBLOGGING_STDLOG_CFLAGS) +syslog_caller_LDADD = $(SOL_LIBS) $(LIBLOGGING_STDLOG_LIBS) + +journal_print_SOURCES = journal_print.c +journal_print_CPPFLAGS = $(LIBSYSTEMD_JOURNAL_CFLAGS) +journal_print_LDADD = $(LIBSYSTEMD_JOURNAL_LIBS) + +diagtalker_SOURCES = diagtalker.c +diagtalker_LDADD = $(SOL_LIBS) + +randomgen_SOURCES = randomgen.c +randomgen_LDADD = $(SOL_LIBS) + +inputfilegen_SOURCES = inputfilegen.c +inputfilegen_LDADD = $(SOL_LIBS) + +# rtinit tests disabled for the moment - also questionable if they +# really provide value (after all, everything fails if rtinit fails...) +#rt_init_SOURCES = rt-init.c $(test_files) +#rt_init_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) +#rt_init_LDADD = $(RSRT_LIBS) $(ZLIB_LIBS) $(PTHREADS_LIBS) $(SOL_LIBS) +#rt_init_LDFLAGS = -export-dynamic + +# same for basic rscript tests +#rscript_SOURCES = rscript.c getline.c $(test_files) +#rscript_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) +#rscript_LDADD = $(RSRT_LIBS) $(ZLIB_LIBS) $(PTHREADS_LIBS) $(SOL_LIBS) +#rscript_LDFLAGS = -export-dynamic diff --git a/tests/Makefile.in b/tests/Makefile.in new file mode 100644 index 0000000..485b8c5 --- /dev/null +++ b/tests/Makefile.in @@ -0,0 +1,4452 @@ +# Makefile.in generated by automake 1.16.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2018 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@ENABLE_TESTBENCH_TRUE@check_PROGRAMS = ourtail$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ tcpflood$(EXEEXT) chkseq$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ msleep$(EXEEXT) randomgen$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ diagtalker$(EXEEXT) uxsockrcvr$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ syslog_caller$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ inputfilegen$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ minitcpsrv$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ omrelp_dflt_port$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ mangle_qi$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ have_relpSrvSetOversizeMode$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ have_relpEngineSetTLSLibByName$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ have_relpSrvSetTlsConfigCmd$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ check_relpEngineVersion$(EXEEXT) \ +@ENABLE_TESTBENCH_TRUE@ test_id$(EXEEXT) $(am__EXEEXT_1) \ +@ENABLE_TESTBENCH_TRUE@ $(am__EXEEXT_2) +@ENABLE_IMJOURNAL_TRUE@@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_1 = journal_print +@ENABLE_TESTBENCH_TRUE@TESTS = $(am__append_2) $(am__append_3) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_4) $(am__append_5) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_6) $(am__append_7) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_8) $(am__append_9) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_10) $(am__append_11) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_12) $(am__append_13) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_14) $(am__append_15) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_16) $(am__append_17) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_18) $(am__append_19) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_20) $(am__append_21) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_22) $(am__append_23) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_24) $(am__append_25) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_26) $(am__append_27) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_28) $(am__append_29) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_30) $(am__append_31) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_32) $(am__append_33) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_34) $(am__append_35) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_36) $(am__append_37) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_38) $(am__append_39) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_40) $(am__append_41) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_42) $(am__append_43) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_44) $(am__append_45) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_46) $(am__append_47) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_48) $(am__append_49) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_50) $(am__append_51) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_52) $(am__append_53) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_54) $(am__append_55) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_57) $(am__append_58) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_59) $(am__append_60) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_61) $(am__append_62) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_63) $(am__append_64) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_65) $(am__append_66) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_67) $(am__append_68) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_69) $(am__append_70) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_71) $(am__append_72) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_73) $(am__append_74) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_75) $(am__append_76) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_77) $(am__append_78) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_79) $(am__append_80) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_81) $(am__append_82) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_83) $(am__append_84) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_85) $(am__append_86) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_87) $(am__append_88) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_89) $(am__append_90) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_91) $(am__append_92) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_93) $(am__append_94) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_95) $(am__append_96) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_97) $(am__append_98) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_99) $(am__append_100) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_101) $(am__append_102) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_103) $(am__append_104) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_105) $(am__append_106) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_107) $(am__append_108) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_109) $(am__append_110) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_111) $(am__append_112) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_113) $(am__append_114) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_115) $(am__append_116) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_117) $(am__append_118) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_119) $(am__append_120) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_121) $(am__append_122) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_123) $(am__append_124) \ +@ENABLE_TESTBENCH_TRUE@ $(am__append_125) $(am__append_126) +# the following test need to be serialized: + +# special "test" for stopping ES once all ES tests are done +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_2 = es-duplicated-ruleset.sh \ +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@ es-basic-es6.0.sh \ +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@ es-basic-es7.14.sh \ +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@ es-basic.sh \ +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@ es-basic-bulk.sh \ +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@ elasticsearch-stop.sh +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_3 = \ +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ es-duplicated-ruleset-vg.sh \ +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ es-basic-vg.sh + +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_HELGRIND_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_4 = \ +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_HELGRIND_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ es-basic-vgthread.sh + +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_5 = \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-basic-server.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-execOnlyWhenPreviousSuspended.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-maxbytes-bulk.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-basic-errfile-empty.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-basic-errfile-popul.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-bulk-errfile-empty.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-bulk-errfile-popul.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-searchType-empty.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ diskqueue-multithread-es.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-writeoperation.sh + +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_6 = \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-basic-ha.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ es-bulk-retry.sh + +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_7 = \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@ es-bulk-errfile-popul-def-format.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@ es-bulk-errfile-popul-erronly.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@ es-bulk-errfile-popul-erronly-interleaved.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@ es-bulk-errfile-popul-def-interleaved.sh + +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_8 = \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ es-basic-bulk-vg.sh \ +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ es-basic-ha-vg.sh + +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_9 = \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ immark.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ immark-inputname.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ immark-ruleset.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ immark-ruleset-custom-msg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ operatingstate-basic.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ operatingstate-empty.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ operatingstate-unclean.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ smtradfile.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ loadbalance.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ empty-hostname.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ timestamp-3164.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ timestamp-3339.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ timestamp-isoweek.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ timestamp-mysql.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ timestamp-pgsql.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ timestamp-subseconds.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ msleep_usage_output.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mangle_qi_usage_output.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ minitcpsrv_usage_output.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ test_id_usage_output.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ prop-programname.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ prop-programname-with-slashes.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ hostname-with-slash-pmrfc5424.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ hostname-with-slash-pmrfc3164.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ hostname-with-slash-dflt-invld.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ func-substring-invld-startpos.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ func-substring-large-endpos.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ func-substring-large-neg-endpos.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ func-substring-relative-endpos.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ hostname-with-slash-dflt-slash-valid.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ empty-app-name.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ stop-localvar.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ stop-msgvar.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-ruleset-queue-defaults.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-internalmsg_severity-info-shown.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-internalmsg_severity-debug-shown.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-internalmsg_severity-debug-not_shown.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-umask.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-unloadmodules.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-invld-param.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl_setenv_2_vars.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl_setenv_err.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl_setenv_err_too_long.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl_setenv.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mmexternal-SegFault.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ nested-call-shutdown.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ dnscache-TTL-0.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ invalid_nested_include.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfwd-tls-invalid-permitExpiredCerts.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfwd-keepalive.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omusrmsg-errmsg-no-params.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omusrmsg-noabort.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile-module-params.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile-read-only-errmsg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile-null-filename.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile-whitespace-filename.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile-read-only.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile-outchannel.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile_both_files_set.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile_hup.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ msgvar-concurrency.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ localvar-concurrency.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ exec_tpl-concurrency.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_privdropuser.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_privdropuserid.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_privdropgroup.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_privdropgroupid.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ privdropuser.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ privdropuserid.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ privdropgroup.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ privdropgroupid.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ privdropabortonidfail.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ privdropabortonidfaillegacy.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ json-nonstring.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ json-onempty-at-end.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ template-json.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ template-pure-json.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ template-pos-from-to.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ template-pos-from-to-lowercase.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ template-pos-from-to-oversize.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ template-pos-from-to-oversize-lowercase.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ template-pos-from-to-missing-jsonvar.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ template-const-jsonf.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ template-topos-neg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_authpriv.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_local0.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_local7.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_mail.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_news.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_ftp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_ntp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_uucp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_invld1.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_invld2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_invld3.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ fac_invld4_rfc5424.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rfc5424parser-sp_at_msg_start.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ compresssp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ compresssp-stringtpl.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rawmsg-after-pri.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rfc5424parser.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ pmrfc3164-msgFirstSpace.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ pmrfc3164-AtSignsInHostname.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ pmrfc3164-AtSignsInHostname_off.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ pmrfc3164-tagEndingByColon.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ pmrfc3164-defaultTag.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ pmrfc3164-json.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ tcp_forwarding_tpl.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ tcp_forwarding_dflt_tpl.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ tcp_forwarding_retries.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mainq_actq_DA.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ queue_warnmsg-oversize.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ queue-minbatch.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ queue-minbatch-queuefull.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ queue-direct-with-no-params.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ queue-direct-with-params-given.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ arrayqueue.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ global_vars.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ no-parser-errmsg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ da-mainmsg-q.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ validation-run.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ msgdup.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ msgdup_props.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ empty-ruleset.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ ruleset-direct-queue.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-listen-port-file-2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ allowed-sender-tcp-ok.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ allowed-sender-tcp-fail.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ allowed-sender-tcp-hostname-ok.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ allowed-sender-tcp-hostname-fail.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-discard-truncated-msg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-basic.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-basic-hup.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-maxFrameSize.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-msg-truncation-on-number.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-msg-truncation-on-number2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-NUL.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-NUL-rawmsg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp_incomplete_frame_at_end.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-multiport.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-bigmessage-octetcounting.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-bigmessage-octetstuffing.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ da-queue-persist.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ daqueue-persist.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ daqueue-invld-qi.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ daqueue-dirty-shutdown.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ diskq-rfc5424.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ diskqueue.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ diskqueue-fsync.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ diskqueue-full.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ diskqueue-fail.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ diskqueue-non-unique-prefix.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rulesetmultiqueue.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rulesetmultiqueue-v6.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ manytcp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rsf_getenv.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ msg-deadlock-headerless-noappname.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp_conndrop.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp_addtlframedelim.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp_no_octet_counted.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp_addtlframedelim_on_input.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp_spframingfix.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-connection-msg-recieved.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_failover.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_gzip.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_udp_nonstdpt.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_udp_nonstdpt_v6.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imudp_thread_hang.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_udp_nonstdpt_v6.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_simple.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_simple_2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_timeout.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_timeout_2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_small.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_tinybuf.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ wr_large_async.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ wr_large_sync.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_deadlock.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_deadlock_2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_deadlock2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_deadlock4.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ asynwr_dynfile_flushtxend-off.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ abort-uncleancfg-goodcfg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ abort-uncleancfg-goodcfg-check.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ abort-uncleancfg-badcfg-check.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ abort-uncleancfg-badcfg-check_1.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ variable_leading_underscore.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ gzipwr_hup_multi_file.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ gzipwr_hup_single_file.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ gzipwr_rscript.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ gzipwr_flushInterval.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ gzipwr_flushOnTXEnd.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ gzipwr_large.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ gzipwr_large_dynfile.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ gzipwr_hup.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynfile_invld_async.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynfile_invld_sync.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynfile_invalid2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ complex1.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ queue-persist.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ pipeaction.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ execonlyonce.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ execonlywhenprevsuspended.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ execonlywhenprevsuspended2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ execonlywhenprevsuspended3.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ execonlywhenprevsuspended4.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ execonlywhenprevsuspended_multiwrkr.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ execonlywhenprevsuspended-queue.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ execonlywhenprevsuspended-nonsusp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ execonlywhenprevsuspended-nonsusp-queue.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ pipe_noreader.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ dircreate_dflt.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ dircreate_off.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_legacy.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_logger.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_logger_ratelimit.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_logger_ruleset.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_logger_ruleset_ratelimit.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_logger_err.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_logger_parserchain.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_traillf.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_ccmiddle.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_logger_syssock.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_traillf_syssock.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_ccmiddle_syssock.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ discard-rptdmsg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ discard-allmark.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ discard.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ stop.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ failover-async.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ failover-double.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ failover-basic.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ failover-rptd.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ failover-no-rptd.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ failover-no-basic.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ suspend-via-file.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ suspend-omfwd-via-file.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ externalstate-failed-rcvr.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rcvr_fail_restore.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_contains.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_bare_var_root.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_bare_var_root-empty.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_ipv42num.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_field.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_stop.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_stop2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_prifilt.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_optimizer1.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_ruleset_call.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_ruleset_call_indirect-basic.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_ruleset_call_indirect-var.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_ruleset_call_indirect-invld.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_set_unset_invalid_var.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_set_modify.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unaffected_reset.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_replace_complex.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_wrap2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_wrap3.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_re_extract_i.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_re_extract.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_re_match_i.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_re_match.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_re_match-dbl_quotes.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_eq.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_eq_var.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_ge.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_ge_var.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_gt.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_gt_var.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_le.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_le_var.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_lt.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_lt_var.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_ne.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_ne_var.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_number_comparison_LE.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_number_comparison_LT.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_compare_str-numstr.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_compare_str-num.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_compare_numstr-str.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_compare_num-str.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_compare_numstr-numstr.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_compare_numstr-num.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_compare_num-numstr.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_compare_num-num.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_compare_str-str.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_num2ipv4.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_int2Hex.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_trim.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_substring.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_format_time.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_parse_time.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_is_time.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_script_error.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_parse_json.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_previous_action_suspended.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_str2num_negative.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_exists-yes.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_exists-yes2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_exists-not1.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_exists-not2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_exists-not3.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_exists-not4.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript-config_enable-on.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_get_property.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ config_output-o-option.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rs-cnum.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rs-substring.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rs-int2hex.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ empty-prop-comparison.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ rs_optimizer_pri.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ cee_simple.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ cee_diskqueue.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ incltest.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ incltest_dir.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ incltest_dir_wildcard.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ incltest_dir_empty_wildcard.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ linkedlistqueue.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ lookup_table.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ lookup_table-hup-backgrounded.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ lookup_table_no_hup_reload.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ key_dereference_on_uninitialized_variable_space.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ array_lookup_table.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sparse_array_lookup_table.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ lookup_table_bad_configs.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ lookup_table_rscript_reload.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ lookup_table_rscript_reload_without_stub.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ config_multiple_include.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ include-obj-text-from-file.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ include-obj-text-from-file-noexist.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ multiple_lookup_tables.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse1.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse1-udp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse2.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse2-udp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse_8bit_escape.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse_8bit_escape-udp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse3.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse3-udp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse_invld_regex.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse_invld_regex-udp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse-3164-buggyday.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse-3164-buggyday-udp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse-nodate.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-parse-nodate-udp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-snare_ccoff_udp.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ parsertest-snare_ccoff_udp2.sh + +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBZSTD_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_10 = \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBZSTD_TRUE@@ENABLE_TESTBENCH_TRUE@ zstd.sh + +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBZSTD_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_11 = \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBZSTD_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ zstd-vg.sh + +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBGCRYPT_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_12 = \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBGCRYPT_TRUE@@ENABLE_TESTBENCH_TRUE@ queue-encryption-disk.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBGCRYPT_TRUE@@ENABLE_TESTBENCH_TRUE@ queue-encryption-disk_keyfile.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBGCRYPT_TRUE@@ENABLE_TESTBENCH_TRUE@ queue-encryption-disk_keyprog.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBGCRYPT_TRUE@@ENABLE_TESTBENCH_TRUE@ queue-encryption-da.sh + +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_13 = \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omusrmsg-noabort-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omfile_hup-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ gzipwr_hup-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ tcpflood_wrong_option_output.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imtcp-octet-framing-too-long-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ smtradfile-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ dnscache-TTL-0-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ include-obj-outside-control-flow-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ include-obj-in-if-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ include-obj-text-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_parse_json-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_backticks-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_backticks_empty_envvar-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript-config_enable-off-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_get_property-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ prop-jsonmesg-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmexternal-InvldProg-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ internal-errmsg-memleak-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ glbl-oversizeMsg-log-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_set_memleak-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ no-parser-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ discard-rptdmsg-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ discard-allmark-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ failover-basic-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ failover-rptd-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ failover-no-basic-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ failover-no-rptd-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ timereported-utc-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ udp-msgreduc-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ udp-msgreduc-orgmsg-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ tcp-msgreduc-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_field-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_number_comparison_LE-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_compare_str-str-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_compare_str-num-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_compare_str-numstr-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_compare_num-str-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_compare_numstr-str-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_compare_numstr-num-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_compare_numstr-numstr-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_compare_num-num-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_compare_num-numstr-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ unused_lookup_table-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ lookup_table-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ lookup_table_no_hup_reload-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ array_lookup_table-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ array_lookup_table_misuse-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ sparse_array_lookup_table-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ lookup_table_bad_configs-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ lookup_table_rscript_reload-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ lookup_table_rscript_reload_without_stub-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ multiple_lookup_tables-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ fac_local0-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ badqi.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ threadingmq.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ threadingmqaq.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ func-substring-invld-startpos-vg.sh \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_trim-vg.sh + +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBGCRYPT_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_14 = \ +@ENABLE_DEFAULT_TESTS_TRUE@@ENABLE_LIBGCRYPT_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ queue-encryption-disk_keyfile-vg.sh + +@ENABLE_SNMP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_15 = \ +@ENABLE_SNMP_TRUE@@ENABLE_TESTBENCH_TRUE@ omsnmp_errmsg_no_params.sh + +@ENABLE_SNMP_TESTS_TRUE@@ENABLE_SNMP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_16 = \ +@ENABLE_SNMP_TESTS_TRUE@@ENABLE_SNMP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_omsnmpv1_udp.sh \ +@ENABLE_SNMP_TESTS_TRUE@@ENABLE_SNMP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_omsnmpv1_udp_dynsource.sh \ +@ENABLE_SNMP_TESTS_TRUE@@ENABLE_SNMP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_omsnmpv1_udp_invalidoid.sh + +@ENABLE_MMUTF8FIX_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_17 = \ +@ENABLE_MMUTF8FIX_TRUE@@ENABLE_TESTBENCH_TRUE@ mmutf8fix_no_error.sh + +@ENABLE_MAIL_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_18 = \ +@ENABLE_MAIL_TRUE@@ENABLE_TESTBENCH_TRUE@ ommail_errmsg_no_params.sh + +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_19 = \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_with_debug.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_random_32_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_random_cons_32_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_recognize_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_zero_12_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_zero_33_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_zero_8_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_simple_12_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_simple_33_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_simple_8_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_simple_mallformed_ipv4.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_random_128_ipv6.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_zero_128_ipv6.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_zero_96_ipv6.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_random_cons_128_ipv6.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_zero_50_ipv6.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_recognize_ipv6.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_zero_64_ipv6.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_both_modes_compatible.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_recognize_ipembedded.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_ipv6_port.sh \ +@ENABLE_MMANON_TRUE@@ENABLE_TESTBENCH_TRUE@ mmanon_random_cons_128_ipembedded.sh + +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_20 = \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-start.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-basic.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-dflt-tpl.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-retry-error.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-load.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-bulk.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-bulk-load.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-limited-batch.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-select.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-errorfile.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-wrong-quotation-marks.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-wrong-template-option.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ clickhouse-wrong-insert-syntax.sh + +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_21 = \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ clickhouse-basic-vg.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ clickhouse-load-vg.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ clickhouse-bulk-vg.sh \ +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ clickhouse-bulk-load-vg.sh + +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_22 = clickhouse-stop.sh +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_23 = \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ now_family_utc.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ now-utc.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ now-utc-ymd.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ now-utc-casecmp.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ now-unixtimestamp.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ timegenerated-ymd.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ timegenerated-uxtimestamp.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ timegenerated-uxtimestamp-invld.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ timegenerated-dateordinal.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ timegenerated-dateordinal-invld.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ timegenerated-utc.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ timegenerated-utc-legacy.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ timereported-utc.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_TESTBENCH_TRUE@ timereported-utc-legacy.sh + +# now come faketime tests that utilize mmnormalize - aka "no endif here" +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_24 = \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_processing_test1.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_processing_test2.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_processing_test3.sh \ +@ENABLE_LIBFAKETIME_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_processing_test4.sh + +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_25 = \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@ pgsql-basic.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@ pgsql-basic-cnf6.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@ pgsql-basic-threads-cnf6.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@ pgsql-template.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@ pgsql-template-cnf6.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@ pgsql-actq-mt-withpause.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@ pgsql-template-threads-cnf6.sh + +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_26 = \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pgsql-basic-vg.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pgsql-template-vg.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pgsql-basic-cnf6-vg.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pgsql-template-cnf6-vg.sh \ +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pgsql-actq-mt-withpause-vg.sh + +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_27 = \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysqld-start.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysql-basic.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysql-basic-cnf6.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysql-asyn.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysql-actq-mt.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysql-actq-mt-withpause.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ action-tx-single-processing.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ action-tx-errfile-maxsize.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ action-tx-errfile.sh + +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_28 = \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mysql-basic-vg.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mysql-asyn-vg.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mysql-actq-mt-withpause-vg.sh + +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_29 = \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@ libdbi-basic.sh \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@ libdbi-asyn.sh + +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_30 = \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ libdbi-basic-vg.sh + +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_31 = mysqld-stop.sh +@ENABLE_FMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_32 = \ +@ENABLE_FMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_http_request.sh + +@ENABLE_FMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_33 = \ +@ENABLE_FMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_http_request-vg.sh + +@ENABLE_ROOT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_34 = \ +@ENABLE_ROOT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_udp.sh \ +@ENABLE_ROOT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_logger_root.sh \ +@ENABLE_ROOT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_traillf_root.sh \ +@ENABLE_ROOT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imuxsock_ccmiddle_root.sh \ +@ENABLE_ROOT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imklog_permitnonkernelfacility_root.sh + +@ENABLE_IP_TRUE@@ENABLE_ROOT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_35 = tcp_forwarding_ns_tpl.sh +@ENABLE_ROOT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_36 = \ +@ENABLE_ROOT_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmexternal-SegFault-empty-jroot-vg.sh + +@ENABLE_IMJOURNAL_TRUE@@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_37 = \ +@ENABLE_IMJOURNAL_TRUE@@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imjournal-basic.sh \ +@ENABLE_IMJOURNAL_TRUE@@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imjournal-statefile.sh + +@ENABLE_IMJOURNAL_TRUE@@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_38 = \ +@ENABLE_IMJOURNAL_TRUE@@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imjournal-basic-vg.sh \ +@ENABLE_IMJOURNAL_TRUE@@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imjournal-statefile-vg.sh + +@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_OMJOURNAL_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_39 = \ +@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_OMJOURNAL_TRUE@@ENABLE_TESTBENCH_TRUE@ omjournal-abort-template.sh \ +@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_OMJOURNAL_TRUE@@ENABLE_TESTBENCH_TRUE@ omjournal-abort-no-template.sh \ +@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_OMJOURNAL_TRUE@@ENABLE_TESTBENCH_TRUE@ omjournal-basic-template.sh \ +@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_OMJOURNAL_TRUE@@ENABLE_TESTBENCH_TRUE@ omjournal-basic-no-template.sh + +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_40 = \ +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ improg_errmsg_no_params.sh \ +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ improg_prog_simple.sh \ +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ improg_prog_confirm.sh \ +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ improg_prog_confirm_killonclose.sh \ +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ improg_prog_killonclose.sh \ +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ improg_simple_multi.sh + +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_41 = \ +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ improg_errmsg_no_params-vg.sh \ +@ENABLE_IMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ improg_prog_simple-vg.sh + +@ENABLE_MMDARWIN_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_42 = \ +@ENABLE_MMDARWIN_TRUE@@ENABLE_TESTBENCH_TRUE@ mmdarwin_errmsg_no_params.sh \ +@ENABLE_MMDARWIN_TRUE@@ENABLE_TESTBENCH_TRUE@ mmdarwin_errmsg_no_sock.sh + +@ENABLE_MMDARWIN_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_43 = \ +@ENABLE_MMDARWIN_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmdarwin_errmsg_no_sock-vg.sh + +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_44 = \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-defaults.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-output-capture.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-output-capture-mt.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-feedback.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-feedback-mt.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-feedback-timeout.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-close-unresponsive.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-close-unresponsive-noterm.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-restart-terminated.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-restart-terminated-outfile.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-single-instance.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-single-instance-outfile.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-transactions.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-if-error.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-transactions-failed-messages.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@ omprog-transactions-failed-commits.sh + +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_45 = \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omprog-defaults-vg.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omprog-output-capture-vg.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omprog-feedback-vg.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omprog-close-unresponsive-vg.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omprog-restart-terminated-vg.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omprog-single-instance-vg.sh \ +@ENABLE_OMPROG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omprog-transactions-vg.sh + +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_46 = \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-auth.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-basic.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-fail-with-400.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-jsonarray-compress.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-jsonarray-retry.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-jsonarray.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-kafkarest-retry.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-kafkarest.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-lokirest-retry.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-lokirest.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-newline.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-retry.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-httpheaderkey.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-multiplehttpheaders.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-dynrestpath.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ omhttp-batch-dynrestpath.sh + +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_47 = \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhttp-auth-vg.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhttp-basic-vg.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhttp-batch-jsonarray-compress-vg.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhttp-batch-jsonarray-retry-vg.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhttp-batch-jsonarray-vg.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhttp-batch-kafkarest-retry-vg.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhttp-batch-lokirest-retry-vg.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhttp-retry-vg.sh \ +@ENABLE_OMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhttp-batch-lokirest-vg.sh + +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_48 = \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ kafka-selftest.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ omkafka.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ omkafkadynakey.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ imkafka.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ imkafka-backgrounded.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ imkafka-config-err-ruleset.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ imkafka-config-err-param.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ imkafka-hang-on-no-kafka.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ imkafka-hang-other-action-on-no-kafka.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ imkafka_multi_single.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ imkafka_multi_group.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_kafka.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_kafka_multi_topics.sh + +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_49 = \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omkafka-vg.sh \ +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imkafka-vg.sh + +@ENABLE_OMAZUREEVENTHUBS_TESTS_TRUE@@ENABLE_OMAZUREEVENTHUBS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_50 = \ +@ENABLE_OMAZUREEVENTHUBS_TESTS_TRUE@@ENABLE_OMAZUREEVENTHUBS_TRUE@@ENABLE_TESTBENCH_TRUE@ omazureeventhubs-basic.sh \ +@ENABLE_OMAZUREEVENTHUBS_TESTS_TRUE@@ENABLE_OMAZUREEVENTHUBS_TRUE@@ENABLE_TESTBENCH_TRUE@ omazureeventhubs-list.sh \ +@ENABLE_OMAZUREEVENTHUBS_TESTS_TRUE@@ENABLE_OMAZUREEVENTHUBS_TRUE@@ENABLE_TESTBENCH_TRUE@ omazureeventhubs-stress.sh \ +@ENABLE_OMAZUREEVENTHUBS_TESTS_TRUE@@ENABLE_OMAZUREEVENTHUBS_TRUE@@ENABLE_TESTBENCH_TRUE@ omazureeventhubs-interrupt.sh + +@ENABLE_OMAZUREEVENTHUBS_TESTS_TRUE@@ENABLE_OMAZUREEVENTHUBS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_51 = \ +@ENABLE_OMAZUREEVENTHUBS_TESTS_TRUE@@ENABLE_OMAZUREEVENTHUBS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omazureeventhubs-basic-vg.sh \ +@ENABLE_OMAZUREEVENTHUBS_TESTS_TRUE@@ENABLE_OMAZUREEVENTHUBS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omazureeventhubs-interrupt-vg.sh + +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_52 = \ +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@ imdocker-basic.sh \ +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@ imdocker-long-logline.sh \ +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@ imdocker-new-logs-from-start.sh \ +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@ imdocker-multi-line.sh + +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_53 = \ +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imdocker-basic-vg.sh \ +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imdocker-long-logline-vg.sh \ +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imdocker-new-logs-from-start-vg.sh \ +@ENABLE_IMDOCKER_TESTS_TRUE@@ENABLE_IMDOCKER_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imdocker-multi-line-vg.sh + +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_54 = \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ imhttp-post-payload.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ imhttp-post-payload-basic-auth.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ imhttp-post-payload-query-params.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ imhttp-post-payload-large.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ imhttp-post-payload-multi.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ imhttp-post-payload-multi-lf.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ imhttp-post-payload-compress.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@ imhttp-getrequest-file.sh + +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_55 = \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhttp-post-payload-vg.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhttp-post-payload-basic-auth-vg.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhttp-post-payload-query-params-vg.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhttp-post-payload-large-vg.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhttp-post-payload-multi-vg.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhttp-post-payload-multi-lf-vg.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhttp-post-payload-compress-vg.sh \ +@ENABLE_IMHTTP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhttp-getrequest-file-vg.sh + +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_56 = miniamqpsrvr +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_57 = \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_no_params.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_params_missing0.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_params_missing1.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_params_missing2.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_params_invalid0.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_params_invalid1.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_params_invalid2.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_params_invalid3.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_data_1server.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_data_2servers.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_error_server0.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_error_server1.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_error_server2.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_error_server3.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_json.sh \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ omrabbitmq_raw.sh + +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_58 = \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omrabbitmq_data_1server-vg.sh + +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_59 = \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-queue.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-queue-lpop.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-redis-restart.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-redis-start-after.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-subscribe.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-stream.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-stream-from-beginning.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-stream-consumerGroup-ack.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-stream-consumerGroup-noack.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imhiredis-stream-consumerGroup-reclaim.sh + +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_60 = \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-queue-vg.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-queue-lpop-vg.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-redis-restart-vg.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-redis-start-after-vg.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-subscribe-vg.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-stream-vg.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-stream-from-beginning-vg.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-stream-consumerGroup-ack-vg.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-stream-consumerGroup-noack-vg.sh \ +@ENABLE_IMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imhiredis-stream-consumerGroup-reclaim-vg.sh + +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_61 = \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mmdb-reload.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-dynakey.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-publish.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-queue-rpush.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-queue.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-set.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-setex.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-template.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-withpass.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-wrongpass.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-stream-ack.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-stream-capped.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-stream-del.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-stream-dynack.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-stream-outfield.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ omhiredis-stream.sh + +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_62 = \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmdb-reload-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-dynakey-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-publish-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-queue-rpush-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-queue-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-set-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-setex-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-template-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-withpass-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-wrongpass-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-stream-ack-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-stream-capped-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-stream-del-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-stream-dynack-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-stream-outfield-vg.sh \ +@ENABLE_OMHIREDIS_TRUE@@ENABLE_REDIS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omhiredis-stream-vg.sh + +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_63 = \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ impstats-hup.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ perctile-simple.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynstats.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynstats_overflow.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynstats_reset.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynstats_ctr_reset.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynstats_nometric.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ no-dynstats-json.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ no-dynstats.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ stats-json.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynstats-json.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ stats-cee.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ stats-json-es.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynstats_reset_without_pstats_reset.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ dynstats_prevent_premature_eviction.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfwd_fast_imuxsock.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfwd_impstats-udp.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@ omfwd_impstats-tcp.sh + +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_64 = \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ perctile-simple-vg.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ dynstats-vg.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ dynstats_reset-vg.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ dynstats_overflow-vg.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ dynstats-json-vg.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ stats-json-vg.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ stats-cee-vg.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ dynstats_prevent_premature_eviction-vg.sh + + +# note that some tests simply USE imptcp, but they also +# need to be disabled if we do not have this module +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_65 = \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ manyptcp.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_framing_regex.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_framing_regex-oversize.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_large.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-connection-msg-disabled.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-connection-msg-received.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-discard-truncated-msg.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_addtlframedelim.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_conndrop.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_no_octet_counted.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_multi_line.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_spframingfix.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_maxsessions.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_nonProcessingPoller.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp_veryLargeOctateCountedMessages.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-basic-hup.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-NUL.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-NUL-rawmsg.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_random.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_hash32.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_hash64.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_replace.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile-sizelimitcmd-many.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ omfile-outchannel-many.sh + +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_66 = \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imptcp-octet-framing-too-long-vg.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imptcp_conndrop-vg.sh + +@ENABLE_FMHASH_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_67 = \ +@ENABLE_FMHASH_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_hash32-vg.sh \ +@ENABLE_FMHASH_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_hash64-vg.sh + +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_68 = \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unflatten_arg1_unsuitable.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unflatten_arg2_invalid.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unflatten_conflict1.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unflatten_conflict2.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unflatten_conflict3.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unflatten_key_truncated.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unflatten_non_object.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unflatten_object.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_unflatten_object_exclamation.sh + +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_69 = \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_unflatten_arg1_unsuitable-vg.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_unflatten_arg2_invalid-vg.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_unflatten_conflict1-vg.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_unflatten_conflict2-vg.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_unflatten_conflict3-vg.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_unflatten_key_truncated-vg.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_unflatten_non_object-vg.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_unflatten_object-vg.sh \ +@ENABLE_FMUNFLATTEN_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_unflatten_object_exclamation-vg.sh + +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_70 = \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_all.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_all_2.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_all_empty.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_scheme.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_credential.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_subdomain.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_domain.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_domain_without_tld.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_host.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_tld.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_port.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_resource_path.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_query_string.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_fragment.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ rscript_faup_mozilla_tld.sh + +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_71 = \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_all_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_all_2_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_all_empty_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_scheme_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_credential_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_subdomain_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_domain_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_domain_without_tld_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_host_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_tld_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_port_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_resource_path_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_query_string_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_fragment_vg.sh \ +@ENABLE_FFAUP_TRUE@@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ rscript_faup_mozilla_tld_vg.sh + +@ENABLE_MMPSTRUCDATA_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_72 = \ +@ENABLE_MMPSTRUCDATA_TRUE@@ENABLE_TESTBENCH_TRUE@ mmpstrucdata.sh \ +@ENABLE_MMPSTRUCDATA_TRUE@@ENABLE_TESTBENCH_TRUE@ mmpstrucdata-escaping.sh \ +@ENABLE_MMPSTRUCDATA_TRUE@@ENABLE_TESTBENCH_TRUE@ mmpstrucdata-case.sh + +@ENABLE_MMPSTRUCDATA_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_73 = \ +@ENABLE_MMPSTRUCDATA_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmpstrucdata-vg.sh \ +@ENABLE_MMPSTRUCDATA_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmpstrucdata-invalid-vg.sh + +@ENABLE_MMRM1STSPACE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_74 = \ +@ENABLE_MMRM1STSPACE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmrm1stspace-basic.sh + +@ENABLE_PMNULL_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_75 = \ +@ENABLE_PMNULL_TRUE@@ENABLE_TESTBENCH_TRUE@ pmnull-basic.sh \ +@ENABLE_PMNULL_TRUE@@ENABLE_TESTBENCH_TRUE@ pmnull-withparams.sh + +@ENABLE_OMSTDOUT_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_76 = \ +@ENABLE_OMSTDOUT_TRUE@@ENABLE_TESTBENCH_TRUE@ omstdout-basic.sh + +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_77 = \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmnormalize-basic.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmnormalize-invld-rulebase.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmnormalize-rule.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmnormalize-rule_and_rulebase.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmnormalize-neither_rule_rulebase.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmnormalize-rule_invld-data.sh + +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_78 = \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pmnormalize-basic-vg.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pmnormalize-invld-rulebase-vg.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pmnormalize-rule-vg.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pmnormalize-rule_and_rulebase-vg.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pmnormalize-neither_rule_rulebase-vg.sh \ +@ENABLE_PMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ pmnormalize-rule_invld-data-vg.sh + +@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_79 = msgvar-concurrency-array.sh \ +@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ msgvar-concurrency-array-event.tags.sh \ +@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_rule_from_string.sh \ +@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_rule_from_array.sh \ +@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_parsesuccess.sh + +@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_80 = \ +@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmnormalize_parsesuccess-vg.sh + +@ENABLE_IMPTCP_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_81 = \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_regex_defaulted.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_regex_disabled.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_variable.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmnormalize_tokenized.sh + +@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@LOGNORM_REGEX_SUPPORTED_TRUE@am__append_82 = \ +@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@LOGNORM_REGEX_SUPPORTED_TRUE@ mmnormalize_regex.sh + +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_83 = \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmjsonparse-w-o-cookie.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmjsonparse-w-o-cookie-multi-spaces.sh + +@ENABLE_IMPSTATS_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_84 = \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmjsonparse-invalid-containerName.sh \ +@ENABLE_IMPSTATS_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ wtpShutdownAll-assertionFailure.sh + +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_85 = \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmjsonparse_simple.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-oversize-message-display.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-msg-truncation-on-number.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-msg-truncation-on-number2.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ imptcp-maxFrameSize-parameter.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmjsonparse_cim.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmjsonparse_cim2.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ mmjsonparse_localvar.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ json_array_subscripting.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ json_array_looping.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ json_object_looping.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ json_nonarray_looping.sh + +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_86 = \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmjsonparse_extra_data-vg.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ json_null_array-vg.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ json_object_looping-vg.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ json_array_looping-vg.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ json_object_suicide_in_loop-vg.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ json_null-vg.sh + +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_87 = \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ stop_when_array_has_element.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ json_null_array.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ json_null.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ json_var_cmpr.sh \ +@ENABLE_MMJSONPARSE_TRUE@@ENABLE_TESTBENCH_TRUE@ json_var_case.sh + +@ENABLE_MMDBLOOKUP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_88 = \ +@ENABLE_MMDBLOOKUP_TRUE@@ENABLE_TESTBENCH_TRUE@ mmdb.sh \ +@ENABLE_MMDBLOOKUP_TRUE@@ENABLE_TESTBENCH_TRUE@ mmdb-space.sh \ +@ENABLE_MMDBLOOKUP_TRUE@@ENABLE_TESTBENCH_TRUE@ mmdb-container.sh \ +@ENABLE_MMDBLOOKUP_TRUE@@ENABLE_TESTBENCH_TRUE@ mmdb-container-empty.sh + +@ENABLE_MMDBLOOKUP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_89 = \ +@ENABLE_MMDBLOOKUP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmdb-vg.sh \ +@ENABLE_MMDBLOOKUP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmdb-multilevel-vg.sh + +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_90 = \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-basic.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-input-basic.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-input-2certs.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-basic-verifydepth.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp_conndrop_tls.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_anon_rebind.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_anon_hostname.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_anon_ipv4.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_anon_ipv6.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_certless_clientonly.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_gtls_servercert_gtls_clientanon.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_gtls_servercert_gtls_clientanon_legacy.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_gtls_serveranon_gtls_clientanon.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_priorityString.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_certvalid.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_certvalid_action_level.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_certvalid_expired.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_certvalid_expired_defaultmode.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_certvalid_revoked.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_client_missing_cert.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-no-lstn-startup.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-gtls-x509fingerprint-invld.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-gtls-x509fingerprint.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-gtls-x509name-invld.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-gtls-x509name.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-gtls-x509name-legacy.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-drvr-in-input-basic.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-multi-drvr-basic.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-multi-drvr-basic-parallel.sh + +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_91 = \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imtcp-tls-basic-vg.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imtcp_conndrop_tls-vg.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ manytcp-too-few-tls-vg.sh + +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_92 = \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-multi-drvr-basic-ptcp_gtls_ossl.sh + +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_93 = \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-basic.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-input-basic.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-input-2certs.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-basic-tlscommands.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-basic-verifydepth.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-invalid-verifydepth.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_anon_ipv4.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_anon_ipv6.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_anon_rebind.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_anon_ciphers.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_serveranon_ossl_clientanon.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_servercert_ossl_clientanon.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_certvalid.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_certvalid_action_level.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_certvalid_expired.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_certvalid_tlscommand.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_certvalid_ciphers.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_certvalid_revoked.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-x509valid.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-x509name.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-x509fingerprint.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-error-ca.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-error-cert.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-error-key.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ imtcp-tls-ossl-error-key2.sh + +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_94 = \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imtcp-tls-ossl-basic-vg.sh \ +@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imtcp-tls-ossl-basic-brokenhandshake-vg.sh + +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_95 = \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_servercert_gtls_clientanon.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_ossl_serveranon_gtls_clientanon.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_gtls_servercert_ossl_clientanon.sh \ +@ENABLE_GNUTLS_TESTS_TRUE@@ENABLE_OPENSSL_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_gtls_serveranon_ossl_clientanon.sh + +@ENABLE_OMUXSOCK_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_96 = uxsock_simple.sh +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_97 = sndrcv_relp.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_relp_rebind.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ omrelp_errmsg_no_connect.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-basic.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-basic-oldstyle.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-basic-hup.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-manyconn.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-maxDataSize-error.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-long-msg.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-oversizeMode-truncate.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-oversizeMode-accept.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-invld-tlslib.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-bigmessage.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ omrelp-invld-tlslib.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_relp_dflt_pt.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-oversizeMsg-log.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-oversizeMsg-truncate.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-oversizeMsg-split.sh + +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_98 = \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_relp_tls.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_relp_tls_certvalid.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_tls_certvalid_action_level.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_relp_tls_prio.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_relp_tls_chainedcert.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ relp_tls_certificate_not_found.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ omrelp_wrong_authmode.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-tls.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-tls-chainedcert.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-tls-mixed-chainedcert.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@ imrelp-tls-mixed-chainedcert2.sh + +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@@USE_RELPENGINESETTLSCFGCMD_TRUE@am__append_99 = \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@@USE_RELPENGINESETTLSCFGCMD_TRUE@ imrelp-tls-cfgcmd.sh \ +@ENABLE_GNUTLS_TRUE@@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@@USE_RELPENGINESETTLSCFGCMD_TRUE@ sndrcv_relp_tls-cfgcmd.sh + +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_100 = \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imrelp-basic-vg.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imrelp-sessionbreak-vg.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imrelp-manyconn-vg.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ sndrcv_relp-vg-rcvr.sh \ +@ENABLE_RELP_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ sndrcv_relp-vg-sender.sh + +@ENABLE_IMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_101 = \ +@ENABLE_IMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ imdtls-basic.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ imdtls-basic-tlscommands.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ imdtls-basic-timeout.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ imdtls-error-cert.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ imdtls-sessionbreak.sh + +@ENABLE_IMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_102 = \ +@ENABLE_IMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imdtls-basic-vg.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imdtls-sessionbreak-vg.sh + +@ENABLE_IMDTLS_TRUE@@ENABLE_OMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_103 = \ +@ENABLE_IMDTLS_TRUE@@ENABLE_OMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_dtls_certvalid.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_OMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_dtls_anon_ciphers.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_OMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_dtls_certvalid_ciphers.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_OMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_dtls_certvalid_permitted.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_OMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_dtls_certvalid_missing.sh \ +@ENABLE_IMDTLS_TRUE@@ENABLE_OMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_dtls_anon_ciphers.sh + +@ENABLE_IMDTLS_TRUE@@ENABLE_OMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_104 = \ +@ENABLE_IMDTLS_TRUE@@ENABLE_OMDTLS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ sndrcv_dtls_certvalid-vg.sh + +@ENABLE_OMUDPSPOOF_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_105 = \ +@ENABLE_OMUDPSPOOF_TRUE@@ENABLE_TESTBENCH_TRUE@ omudpspoof_errmsg_no_params.sh \ +@ENABLE_OMUDPSPOOF_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_omudpspoof.sh \ +@ENABLE_OMUDPSPOOF_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_omudpspoof-bigmsg.sh \ +@ENABLE_OMUDPSPOOF_TRUE@@ENABLE_TESTBENCH_TRUE@ sndrcv_omudpspoof_nonstdpt.sh + + +#disabled as array-passing mode is no longer supported: omod-if-array.sh +# omod-if-array.sh +# omod-if-array-udp.sh +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_106 = \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ tabescape_dflt.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ tabescape_dflt-udp.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ tabescape_off.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ tabescape_off-udp.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ tabescape_on.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ inputname-imtcp.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ fieldtest.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ fieldtest-udp.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ proprepltest-nolimittag-udp.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ proprepltest-nolimittag.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ proprepltest-rfctag-udp.sh \ +@ENABLE_IMPTCP_TRUE@@ENABLE_TESTBENCH_TRUE@ proprepltest-rfctag.sh + +@ENABLE_OMRULESET_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_107 = \ +@ENABLE_OMRULESET_TRUE@@ENABLE_TESTBENCH_TRUE@ omruleset.sh \ +@ENABLE_OMRULESET_TRUE@@ENABLE_TESTBENCH_TRUE@ omruleset-queue.sh + +@ENABLE_PMDB2DIAG_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_108 = \ +@ENABLE_PMDB2DIAG_TRUE@@ENABLE_TESTBENCH_TRUE@ pmdb2diag_parse.sh + +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_109 = \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-default.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-default-udp.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-ccoff.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-ccoff-udp.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-ccdefault.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-ccdefault-udp.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-cccstyle.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-cccstyle-udp.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-ccbackslash.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-ccbackslash-udp.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-modoverride.sh \ +@ENABLE_PMSNARE_TRUE@@ENABLE_TESTBENCH_TRUE@ pmsnare-modoverride-udp.sh + +@ENABLE_PMLASTMSG_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_110 = \ +@ENABLE_PMLASTMSG_TRUE@@ENABLE_TESTBENCH_TRUE@ pmlastmsg.sh \ +@ENABLE_PMLASTMSG_TRUE@@ENABLE_TESTBENCH_TRUE@ pmlastmsg-udp.sh + + +# random.sh is temporarily disabled as it needs some work +# to rsyslog core to complete in reasonable time +#TESTS += random.sh +@ENABLE_EXTENDED_TESTS_TRUE@@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_111 = \ +@ENABLE_EXTENDED_TESTS_TRUE@@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-basic-2GB-file.sh \ +@ENABLE_EXTENDED_TESTS_TRUE@@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-truncate-2GB-file.sh + +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_112 = \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-basic.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-basic-legacy.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-discard-truncated-line.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-truncate-line.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-file-not-found-error.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-fileNotFoundError-parameter.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-error-not-repeated.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-truncate.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-truncate-multiple.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-readmode2.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-readmode2-polling.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-readmode2-with-persists-data-during-stop.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-readmode2-with-persists.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endregex.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endregex-save-lf.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endregex-save-lf-persist.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endregex-timeout-none-polling.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endregex-timeout-polling.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endregex-timeout.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endregex-timeout-none.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endregex-timeout-with-shutdown.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endregex-timeout-with-shutdown-polling.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endmsg.regex.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-escapelf.replacement.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-escapelf.replacement-empty.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-statefile-no-file_id.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-statefile-no-file_id-TO-file_id.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-statefile-directory.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-statefile-delete.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-statefile-no-delete.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-persist-state-1.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-freshStartTail1.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-freshStartTail2.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-freshStartTail3.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-wildcards.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-wildcards-dirs.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-wildcards-dirs2.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-wildcards-dirs-multi.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-wildcards-dirs-multi2.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-wildcards-dirs-multi3.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-wildcards-dirs-multi4.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-wildcards-dirs-multi5.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-wildcards-dirs-multi5-polling.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-old-state-file.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-rename-while-stopped.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-rename.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-symlink.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-symlink-multi.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-symlink-ext-tmp-dir-tree.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-logrotate.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-logrotate-async.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-logrotate-multiple.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-logrotate-copytruncate.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-logrotate-nocopytruncate.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-growing-file-id.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-ignore-old-file-1.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-ignore-old-file-2.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-ignore-old-file-3.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-ignore-old-file-4.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-ignore-old-file-5.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-ignore-old-file-6.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-ignore-old-file-7.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ glbl-oversizeMsg-truncate-imfile.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ config_enabled-on.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ config_enabled-off.sh + +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_113 = \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@ imfile-endmsg.regex-with-example.sh + +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_114 = \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imfile-basic-vg.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imfile-endregex-vg.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imfile-endmsg.regex-vg.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imfile-readmode0-vg.sh \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imfile-readmode2-vg.sh + +@ENABLE_HELGRIND_TRUE@@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_115 = \ +@ENABLE_HELGRIND_TRUE@@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imfile-basic-vgthread.sh + +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_116 = \ +@ENABLE_IMFILE_TESTS_TRUE@@ENABLE_MMNORMALIZE_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imfile-endmsg.regex-with-example-vg.sh + +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_117 = \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_no_params.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_glob_not_regular.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_glob_dir_fake.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_glob_dir_not_dir.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_regex.match.reject.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_regex.match.rename.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_regex.nomatch.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_not_supported1.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_not_supported2.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_not_supported3.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_delete_params.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_errmsg_rename_params.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_delete_success.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_delete_structdata.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_rename_success.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_delete_toolarge.sh \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@ imbatchreport_rename_toolarge.sh + +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_118 = \ +@ENABLE_IMBATCHREPORT_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imbatchreport_errmsg_no_params-vg.sh + +@ENABLE_OMTCL_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_119 = \ +@ENABLE_OMTCL_TRUE@@ENABLE_TESTBENCH_TRUE@ omtcl.sh + +@ENABLE_MMTAGHOSTNAME_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_120 = \ +@ENABLE_MMTAGHOSTNAME_TRUE@@ENABLE_TESTBENCH_TRUE@ mmtaghostname_tag.sh \ +@ENABLE_MMTAGHOSTNAME_TRUE@@ENABLE_TESTBENCH_TRUE@ mmtaghostname_server.sh + +@ENABLE_IMFILE_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_MMKUBERNETES_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_121 = \ +@ENABLE_IMFILE_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_MMKUBERNETES_TRUE@@ENABLE_TESTBENCH_TRUE@ mmkubernetes-basic.sh \ +@ENABLE_IMFILE_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_MMKUBERNETES_TRUE@@ENABLE_TESTBENCH_TRUE@ mmkubernetes-cache-expire.sh + +@ENABLE_IMFILE_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_MMKUBERNETES_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_122 = \ +@ENABLE_IMFILE_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_MMKUBERNETES_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmkubernetes-basic-vg.sh \ +@ENABLE_IMFILE_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_MMJSONPARSE_TRUE@@ENABLE_MMKUBERNETES_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mmkubernetes-cache-expire-vg.sh + +@ENABLE_IMTUXEDOULOG_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_123 = \ +@ENABLE_IMTUXEDOULOG_TRUE@@ENABLE_TESTBENCH_TRUE@ imtuxedoulog_errmsg_no_params.sh \ +@ENABLE_IMTUXEDOULOG_TRUE@@ENABLE_TESTBENCH_TRUE@ imtuxedoulog_data.sh + +@ENABLE_IMTUXEDOULOG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_124 = \ +@ENABLE_IMTUXEDOULOG_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ imtuxedoulog_errmsg_no_params-vg.sh + +@ENABLE_OMAMQP1_TRUE@@ENABLE_TESTBENCH_TRUE@am__append_125 = \ +@ENABLE_OMAMQP1_TRUE@@ENABLE_TESTBENCH_TRUE@ omamqp1-basic.sh + +@ENABLE_OMAMQP1_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@am__append_126 = \ +@ENABLE_OMAMQP1_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ omamqp1-basic-vg.sh + +@ENABLE_GNUTLS_TRUE@am__append_127 = $(GNUTLS_CFLAGS) +@ENABLE_GNUTLS_TRUE@am__append_128 = $(GNUTLS_CFLAGS) +@ENABLE_GNUTLS_TRUE@am__append_129 = $(GNUTLS_LIBS) +@ENABLE_OPENSSL_TRUE@am__append_130 = $(OPENSSL_CFLAGS) +@ENABLE_OPENSSL_TRUE@am__append_131 = $(OPENSSL_CFLAGS) +@ENABLE_OPENSSL_TRUE@am__append_132 = $(OPENSSL_LIBS) +subdir = tests +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_define.m4 \ + $(top_srcdir)/m4/atomic_operations.m4 \ + $(top_srcdir)/m4/atomic_operations_64bit.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = set-envvars +CONFIG_CLEAN_VPATH_FILES = +@ENABLE_IMJOURNAL_TRUE@@ENABLE_JOURNAL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@am__EXEEXT_1 = journal_print$(EXEEXT) +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@am__EXEEXT_2 = miniamqpsrvr$(EXEEXT) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(pkglibdir)" +LTLIBRARIES = $(pkglib_LTLIBRARIES) +liboverride_getaddrinfo_la_LIBADD = +am__liboverride_getaddrinfo_la_SOURCES_DIST = override_getaddrinfo.c +@ENABLE_TESTBENCH_TRUE@am_liboverride_getaddrinfo_la_OBJECTS = liboverride_getaddrinfo_la-override_getaddrinfo.lo +liboverride_getaddrinfo_la_OBJECTS = \ + $(am_liboverride_getaddrinfo_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +liboverride_getaddrinfo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(liboverride_getaddrinfo_la_CFLAGS) $(CFLAGS) \ + $(liboverride_getaddrinfo_la_LDFLAGS) $(LDFLAGS) -o $@ +@ENABLE_TESTBENCH_TRUE@am_liboverride_getaddrinfo_la_rpath = -rpath \ +@ENABLE_TESTBENCH_TRUE@ $(pkglibdir) +liboverride_gethostname_la_LIBADD = +am__liboverride_gethostname_la_SOURCES_DIST = override_gethostname.c +@ENABLE_TESTBENCH_TRUE@am_liboverride_gethostname_la_OBJECTS = liboverride_gethostname_la-override_gethostname.lo +liboverride_gethostname_la_OBJECTS = \ + $(am_liboverride_gethostname_la_OBJECTS) +liboverride_gethostname_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(liboverride_gethostname_la_CFLAGS) $(CFLAGS) \ + $(liboverride_gethostname_la_LDFLAGS) $(LDFLAGS) -o $@ +@ENABLE_TESTBENCH_TRUE@am_liboverride_gethostname_la_rpath = -rpath \ +@ENABLE_TESTBENCH_TRUE@ $(pkglibdir) +liboverride_gethostname_nonfqdn_la_LIBADD = +am__liboverride_gethostname_nonfqdn_la_SOURCES_DIST = \ + override_gethostname_nonfqdn.c +@ENABLE_TESTBENCH_TRUE@am_liboverride_gethostname_nonfqdn_la_OBJECTS = liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.lo +liboverride_gethostname_nonfqdn_la_OBJECTS = \ + $(am_liboverride_gethostname_nonfqdn_la_OBJECTS) +liboverride_gethostname_nonfqdn_la_LINK = $(LIBTOOL) $(AM_V_lt) \ + --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ + $(CCLD) $(liboverride_gethostname_nonfqdn_la_CFLAGS) $(CFLAGS) \ + $(liboverride_gethostname_nonfqdn_la_LDFLAGS) $(LDFLAGS) -o $@ +@ENABLE_TESTBENCH_TRUE@am_liboverride_gethostname_nonfqdn_la_rpath = \ +@ENABLE_TESTBENCH_TRUE@ -rpath $(pkglibdir) +check_relpEngineVersion_SOURCES = check_relpEngineVersion.c +check_relpEngineVersion_OBJECTS = check_relpEngineVersion.$(OBJEXT) +check_relpEngineVersion_LDADD = $(LDADD) +am_chkseq_OBJECTS = chkseq.$(OBJEXT) +chkseq_OBJECTS = $(am_chkseq_OBJECTS) +chkseq_LDADD = $(LDADD) +am_diagtalker_OBJECTS = diagtalker.$(OBJEXT) +diagtalker_OBJECTS = $(am_diagtalker_OBJECTS) +am__DEPENDENCIES_1 = +diagtalker_DEPENDENCIES = $(am__DEPENDENCIES_1) +have_relpEngineSetTLSLibByName_SOURCES = \ + have_relpEngineSetTLSLibByName.c +have_relpEngineSetTLSLibByName_OBJECTS = \ + have_relpEngineSetTLSLibByName.$(OBJEXT) +have_relpEngineSetTLSLibByName_LDADD = $(LDADD) +have_relpSrvSetOversizeMode_SOURCES = have_relpSrvSetOversizeMode.c +have_relpSrvSetOversizeMode_OBJECTS = \ + have_relpSrvSetOversizeMode.$(OBJEXT) +have_relpSrvSetOversizeMode_LDADD = $(LDADD) +have_relpSrvSetTlsConfigCmd_SOURCES = have_relpSrvSetTlsConfigCmd.c +have_relpSrvSetTlsConfigCmd_OBJECTS = \ + have_relpSrvSetTlsConfigCmd.$(OBJEXT) +have_relpSrvSetTlsConfigCmd_LDADD = $(LDADD) +am_inputfilegen_OBJECTS = inputfilegen.$(OBJEXT) +inputfilegen_OBJECTS = $(am_inputfilegen_OBJECTS) +inputfilegen_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_journal_print_OBJECTS = journal_print-journal_print.$(OBJEXT) +journal_print_OBJECTS = $(am_journal_print_OBJECTS) +journal_print_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_mangle_qi_OBJECTS = mangle_qi.$(OBJEXT) +mangle_qi_OBJECTS = $(am_mangle_qi_OBJECTS) +mangle_qi_LDADD = $(LDADD) +am__miniamqpsrvr_SOURCES_DIST = miniamqpsrvr.c +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@am_miniamqpsrvr_OBJECTS = miniamqpsrvr-miniamqpsrvr.$(OBJEXT) +miniamqpsrvr_OBJECTS = $(am_miniamqpsrvr_OBJECTS) +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@miniamqpsrvr_DEPENDENCIES = $(am__DEPENDENCIES_1) \ +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@ $(am__DEPENDENCIES_1) +am_minitcpsrv_OBJECTS = minitcpsrvr.$(OBJEXT) +minitcpsrv_OBJECTS = $(am_minitcpsrv_OBJECTS) +minitcpsrv_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_msleep_OBJECTS = msleep.$(OBJEXT) +msleep_OBJECTS = $(am_msleep_OBJECTS) +msleep_LDADD = $(LDADD) +am_omrelp_dflt_port_OBJECTS = omrelp_dflt_port.$(OBJEXT) +omrelp_dflt_port_OBJECTS = $(am_omrelp_dflt_port_OBJECTS) +omrelp_dflt_port_LDADD = $(LDADD) +am_ourtail_OBJECTS = ourtail.$(OBJEXT) +ourtail_OBJECTS = $(am_ourtail_OBJECTS) +ourtail_LDADD = $(LDADD) +am_randomgen_OBJECTS = randomgen.$(OBJEXT) +randomgen_OBJECTS = $(am_randomgen_OBJECTS) +randomgen_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_syslog_caller_OBJECTS = syslog_caller-syslog_caller.$(OBJEXT) +syslog_caller_OBJECTS = $(am_syslog_caller_OBJECTS) +syslog_caller_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) +am_tcpflood_OBJECTS = tcpflood-tcpflood.$(OBJEXT) +tcpflood_OBJECTS = $(am_tcpflood_OBJECTS) +@ENABLE_GNUTLS_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) +@ENABLE_OPENSSL_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) +tcpflood_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_3) +tcpflood_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(tcpflood_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_test_id_OBJECTS = test_id.$(OBJEXT) +test_id_OBJECTS = $(am_test_id_OBJECTS) +test_id_LDADD = $(LDADD) +am_uxsockrcvr_OBJECTS = uxsockrcvr.$(OBJEXT) +uxsockrcvr_OBJECTS = $(am_uxsockrcvr_OBJECTS) +uxsockrcvr_DEPENDENCIES = $(am__DEPENDENCIES_1) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/check_relpEngineVersion.Po \ + ./$(DEPDIR)/chkseq.Po ./$(DEPDIR)/diagtalker.Po \ + ./$(DEPDIR)/have_relpEngineSetTLSLibByName.Po \ + ./$(DEPDIR)/have_relpSrvSetOversizeMode.Po \ + ./$(DEPDIR)/have_relpSrvSetTlsConfigCmd.Po \ + ./$(DEPDIR)/inputfilegen.Po \ + ./$(DEPDIR)/journal_print-journal_print.Po \ + ./$(DEPDIR)/liboverride_getaddrinfo_la-override_getaddrinfo.Plo \ + ./$(DEPDIR)/liboverride_gethostname_la-override_gethostname.Plo \ + ./$(DEPDIR)/liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.Plo \ + ./$(DEPDIR)/mangle_qi.Po \ + ./$(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Po \ + ./$(DEPDIR)/minitcpsrvr.Po ./$(DEPDIR)/msleep.Po \ + ./$(DEPDIR)/omrelp_dflt_port.Po ./$(DEPDIR)/ourtail.Po \ + ./$(DEPDIR)/randomgen.Po \ + ./$(DEPDIR)/syslog_caller-syslog_caller.Po \ + ./$(DEPDIR)/tcpflood-tcpflood.Po ./$(DEPDIR)/test_id.Po \ + ./$(DEPDIR)/uxsockrcvr.Po +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(liboverride_getaddrinfo_la_SOURCES) \ + $(liboverride_gethostname_la_SOURCES) \ + $(liboverride_gethostname_nonfqdn_la_SOURCES) \ + check_relpEngineVersion.c $(chkseq_SOURCES) \ + $(diagtalker_SOURCES) have_relpEngineSetTLSLibByName.c \ + have_relpSrvSetOversizeMode.c have_relpSrvSetTlsConfigCmd.c \ + $(inputfilegen_SOURCES) $(journal_print_SOURCES) \ + $(mangle_qi_SOURCES) $(miniamqpsrvr_SOURCES) \ + $(minitcpsrv_SOURCES) $(msleep_SOURCES) \ + $(omrelp_dflt_port_SOURCES) $(ourtail_SOURCES) \ + $(randomgen_SOURCES) $(syslog_caller_SOURCES) \ + $(tcpflood_SOURCES) $(test_id_SOURCES) $(uxsockrcvr_SOURCES) +DIST_SOURCES = $(am__liboverride_getaddrinfo_la_SOURCES_DIST) \ + $(am__liboverride_gethostname_la_SOURCES_DIST) \ + $(am__liboverride_gethostname_nonfqdn_la_SOURCES_DIST) \ + check_relpEngineVersion.c $(chkseq_SOURCES) \ + $(diagtalker_SOURCES) have_relpEngineSetTLSLibByName.c \ + have_relpSrvSetOversizeMode.c have_relpSrvSetTlsConfigCmd.c \ + $(inputfilegen_SOURCES) $(journal_print_SOURCES) \ + $(mangle_qi_SOURCES) $(am__miniamqpsrvr_SOURCES_DIST) \ + $(minitcpsrv_SOURCES) $(msleep_SOURCES) \ + $(omrelp_dflt_port_SOURCES) $(ourtail_SOURCES) \ + $(randomgen_SOURCES) $(syslog_caller_SOURCES) \ + $(tcpflood_SOURCES) $(test_id_SOURCES) $(uxsockrcvr_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + fi; \ +} +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +RECHECK_LOGS = $(TEST_LOGS) +AM_RECURSIVE_TARGETS = check recheck +TEST_SUITE_LOG = test-suite.log +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.sh.log=.log) +SH_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver +SH_LOG_COMPILE = $(SH_LOG_COMPILER) $(AM_SH_LOG_FLAGS) $(SH_LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/set-envvars.in \ + $(top_srcdir)/depcomp $(top_srcdir)/test-driver README +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APU_CFLAGS = @APU_CFLAGS@ +APU_LIBS = @APU_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CIVETWEB_LIBS = @CIVETWEB_LIBS@ +CONF_FILE_PATH = @CONF_FILE_PATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CURL_CFLAGS = @CURL_CFLAGS@ +CURL_LIBS = @CURL_LIBS@ +CYGPATH_W = @CYGPATH_W@ +CZMQ_CFLAGS = @CZMQ_CFLAGS@ +CZMQ_LIBS = @CZMQ_LIBS@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DL_LIBS = @DL_LIBS@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FAUP_LIBS = @FAUP_LIBS@ +FGREP = @FGREP@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_LIBS = @GLIB_LIBS@ +GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ +GNUTLS_LIBS = @GNUTLS_LIBS@ +GREP = @GREP@ +GSS_LIBS = @GSS_LIBS@ +GT_KSI_LS12_CFLAGS = @GT_KSI_LS12_CFLAGS@ +GT_KSI_LS12_LIBS = @GT_KSI_LS12_LIBS@ +HASH_XXHASH_LIBS = @HASH_XXHASH_LIBS@ +HIREDIS_CFLAGS = @HIREDIS_CFLAGS@ +HIREDIS_LIBS = @HIREDIS_LIBS@ +IMUDP_LIBS = @IMUDP_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +IP = @IP@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBCAPNG_CFLAGS = @LIBCAPNG_CFLAGS@ +LIBCAPNG_LIBS = @LIBCAPNG_LIBS@ +LIBCAPNG_PRESENT_CFLAGS = @LIBCAPNG_PRESENT_CFLAGS@ +LIBCAPNG_PRESENT_LIBS = @LIBCAPNG_PRESENT_LIBS@ +LIBDBI_CFLAGS = @LIBDBI_CFLAGS@ +LIBDBI_LIBS = @LIBDBI_LIBS@ +LIBESTR_CFLAGS = @LIBESTR_CFLAGS@ +LIBESTR_LIBS = @LIBESTR_LIBS@ +LIBEVENT_CFLAGS = @LIBEVENT_CFLAGS@ +LIBEVENT_LIBS = @LIBEVENT_LIBS@ +LIBFASTJSON_CFLAGS = @LIBFASTJSON_CFLAGS@ +LIBFASTJSON_LIBS = @LIBFASTJSON_LIBS@ +LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ +LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ +LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ +LIBLOGGING_CFLAGS = @LIBLOGGING_CFLAGS@ +LIBLOGGING_LIBS = @LIBLOGGING_LIBS@ +LIBLOGGING_STDLOG_CFLAGS = @LIBLOGGING_STDLOG_CFLAGS@ +LIBLOGGING_STDLOG_LIBS = @LIBLOGGING_STDLOG_LIBS@ +LIBLOGNORM_CFLAGS = @LIBLOGNORM_CFLAGS@ +LIBLOGNORM_LIBS = @LIBLOGNORM_LIBS@ +LIBLZ4_CFLAGS = @LIBLZ4_CFLAGS@ +LIBLZ4_LIBS = @LIBLZ4_LIBS@ +LIBM = @LIBM@ +LIBMONGOC_CFLAGS = @LIBMONGOC_CFLAGS@ +LIBMONGOC_LIBS = @LIBMONGOC_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBRDKAFKA_CFLAGS = @LIBRDKAFKA_CFLAGS@ +LIBRDKAFKA_LIBS = @LIBRDKAFKA_LIBS@ +LIBS = @LIBS@ +LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@ +LIBSYSTEMD_JOURNAL_CFLAGS = @LIBSYSTEMD_JOURNAL_CFLAGS@ +LIBSYSTEMD_JOURNAL_LIBS = @LIBSYSTEMD_JOURNAL_LIBS@ +LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@ +LIBTOOL = @LIBTOOL@ +LIBUUID_CFLAGS = @LIBUUID_CFLAGS@ +LIBUUID_LIBS = @LIBUUID_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MYSQL_CFLAGS = @MYSQL_CFLAGS@ +MYSQL_CONFIG = @MYSQL_CONFIG@ +MYSQL_LIBS = @MYSQL_LIBS@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ +OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PGSQL_CFLAGS = @PGSQL_CFLAGS@ +PGSQL_LIBS = @PGSQL_LIBS@ +PG_CONFIG = @PG_CONFIG@ +PID_FILE_PATH = @PID_FILE_PATH@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PROTON_CFLAGS = @PROTON_CFLAGS@ +PROTON_LIBS = @PROTON_LIBS@ +PROTON_PROACTOR_CFLAGS = @PROTON_PROACTOR_CFLAGS@ +PROTON_PROACTOR_LIBS = @PROTON_PROACTOR_LIBS@ +PTHREADS_CFLAGS = @PTHREADS_CFLAGS@ +PTHREADS_LIBS = @PTHREADS_LIBS@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +RABBITMQ_CFLAGS = @RABBITMQ_CFLAGS@ +RABBITMQ_LIBS = @RABBITMQ_LIBS@ +RANLIB = @RANLIB@ +READLINK = @READLINK@ +REDIS = @REDIS@ +RELP_CFLAGS = @RELP_CFLAGS@ +RELP_LIBS = @RELP_LIBS@ +RSRT_CFLAGS = @RSRT_CFLAGS@ +RSRT_CFLAGS1 = @RSRT_CFLAGS1@ +RSRT_LIBS = @RSRT_LIBS@ +RSRT_LIBS1 = @RSRT_LIBS1@ +RST2MAN = @RST2MAN@ +RT_LIBS = @RT_LIBS@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SNMP_CFLAGS = @SNMP_CFLAGS@ +SNMP_LIBS = @SNMP_LIBS@ +SOL_LIBS = @SOL_LIBS@ +STRIP = @STRIP@ +TCL_BIN_DIR = @TCL_BIN_DIR@ +TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ +TCL_LIB_FILE = @TCL_LIB_FILE@ +TCL_LIB_FLAG = @TCL_LIB_FLAG@ +TCL_LIB_SPEC = @TCL_LIB_SPEC@ +TCL_PATCH_LEVEL = @TCL_PATCH_LEVEL@ +TCL_SRC_DIR = @TCL_SRC_DIR@ +TCL_STUB_LIB_FILE = @TCL_STUB_LIB_FILE@ +TCL_STUB_LIB_FLAG = @TCL_STUB_LIB_FLAG@ +TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ +TCL_VERSION = @TCL_VERSION@ +UDPSPOOF_CFLAGS = @UDPSPOOF_CFLAGS@ +UDPSPOOF_LIBS = @UDPSPOOF_LIBS@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +WARN_CFLAGS = @WARN_CFLAGS@ +WARN_LDFLAGS = @WARN_LDFLAGS@ +WARN_SCANNERFLAGS = @WARN_SCANNERFLAGS@ +WGET = @WGET@ +YACC = @YACC@ +YACC_FOUND = @YACC_FOUND@ +YFLAGS = @YFLAGS@ +ZLIB_CFLAGS = @ZLIB_CFLAGS@ +ZLIB_LIBS = @ZLIB_LIBS@ +ZSTD_CFLAGS = @ZSTD_CFLAGS@ +ZSTD_LIBS = @ZSTD_LIBS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moddirs = @moddirs@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +TEST_EXTENSIONS = .sh +@ENABLE_TESTBENCH_TRUE@CLEANFILES = *_*.conf rsyslog*.started \ +@ENABLE_TESTBENCH_TRUE@ work-*.conf rsyslog.random.data \ +@ENABLE_TESTBENCH_TRUE@ rsyslog*.pid.save xlate*.lkp_tbl log \ +@ENABLE_TESTBENCH_TRUE@ log* *.log work test-spool test-logdir \ +@ENABLE_TESTBENCH_TRUE@ stat-file1 rsyslog.pipe rsyslog.input.* \ +@ENABLE_TESTBENCH_TRUE@ rsyslog.input rsyslog.input.* \ +@ENABLE_TESTBENCH_TRUE@ imfile-state:* omkafka-failed.data \ +@ENABLE_TESTBENCH_TRUE@ rsyslog.input-symlink.log \ +@ENABLE_TESTBENCH_TRUE@ rsyslog-link.*.log targets HOSTNAME \ +@ENABLE_TESTBENCH_TRUE@ rstb_* zookeeper.pid tmp.qi nocert \ +@ENABLE_TESTBENCH_TRUE@ IN_AUTO_DEBUG +# IN_AUTO_DEBUG should be deleted each time make check is run, but +# there exists no such hook. Se we at least delete it on make clean. +@ENABLE_TESTBENCH_TRUE@pkglib_LTLIBRARIES = \ +@ENABLE_TESTBENCH_TRUE@ liboverride_gethostname.la \ +@ENABLE_TESTBENCH_TRUE@ liboverride_gethostname_nonfqdn.la \ +@ENABLE_TESTBENCH_TRUE@ liboverride_getaddrinfo.la +@ENABLE_TESTBENCH_TRUE@liboverride_gethostname_la_SOURCES = override_gethostname.c +@ENABLE_TESTBENCH_TRUE@liboverride_gethostname_la_CFLAGS = +@ENABLE_TESTBENCH_TRUE@liboverride_gethostname_la_LDFLAGS = -avoid-version -shared +@ENABLE_TESTBENCH_TRUE@liboverride_gethostname_nonfqdn_la_SOURCES = override_gethostname_nonfqdn.c +@ENABLE_TESTBENCH_TRUE@liboverride_gethostname_nonfqdn_la_CFLAGS = +@ENABLE_TESTBENCH_TRUE@liboverride_gethostname_nonfqdn_la_LDFLAGS = -avoid-version -shared +@ENABLE_TESTBENCH_TRUE@liboverride_getaddrinfo_la_SOURCES = override_getaddrinfo.c +@ENABLE_TESTBENCH_TRUE@liboverride_getaddrinfo_la_CFLAGS = +@ENABLE_TESTBENCH_TRUE@liboverride_getaddrinfo_la_LDFLAGS = -avoid-version -shared +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@miniamqpsrvr_SOURCES = miniamqpsrvr.c +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@miniamqpsrvr_CPPFLAGS = $(PTHREADS_CFLAGS) $(RABBITMQ_CFLAGS) $(RSRT_CFLAGS) +@ENABLE_OMRABBITMQ_TRUE@@ENABLE_TESTBENCH_TRUE@miniamqpsrvr_LDADD = $(SOL_LIBS) $(PTHREADS_LIBS) +TESTS_ENVIRONMENT = \ + RSYSLOG_MODDIR='$(abs_top_builddir)'/runtime/.libs/ \ + TOP_BUILDDIR='$(top_builddir)' \ + TESTTOOL_DIR='$(abs_top_builddir)/tests' +test_files = testbench.h runtime-dummy.c +DISTCLEANFILES = rsyslog.pid +EXTRA_DIST = \ + set-envvars.in \ + urlencode.py \ + dnscache-TTL-0.sh \ + dnscache-TTL-0-vg.sh \ + loadbalance.sh \ + smtradfile.sh \ + smtradfile-vg.sh \ + immark.sh \ + immark-inputname.sh \ + immark-ruleset.sh \ + immark-ruleset-custom-msg.sh \ + operatingstate-basic.sh \ + operatingstate-empty.sh \ + operatingstate-unclean.sh \ + internal-errmsg-memleak-vg.sh \ + glbl-ruleset-queue-defaults.sh \ + glbl-internalmsg_severity-info-shown.sh \ + glbl-internalmsg_severity-debug-shown.sh \ + glbl-internalmsg_severity-debug-not_shown.sh \ + glbl-oversizeMsg-log-vg.sh \ + config_enabled-on.sh \ + config_enabled-off.sh \ + empty-app-name.sh \ + empty-hostname.sh \ + func-substring-invld-startpos.sh \ + func-substring-invld-startpos-vg.sh \ + func-substring-large-endpos.sh \ + func-substring-large-neg-endpos.sh \ + func-substring-relative-endpos.sh \ + hostname-with-slash-pmrfc5424.sh \ + hostname-with-slash-pmrfc3164.sh \ + pmrfc3164-msgFirstSpace.sh \ + pmrfc3164-AtSignsInHostname.sh \ + pmrfc3164-AtSignsInHostname_off.sh \ + pmrfc3164-tagEndingByColon.sh \ + pmrfc3164-defaultTag.sh \ + pmrfc3164-json.sh \ + hostname-with-slash-dflt-invld.sh \ + hostname-with-slash-dflt-slash-valid.sh \ + glbl-umask.sh \ + glbl-unloadmodules.sh \ + glbl-invld-param.sh \ + glbl_setenv_2_vars.sh \ + glbl_setenv_err.sh \ + glbl_setenv_err_too_long.sh \ + glbl_setenv.sh \ + imtuxedoulog_errmsg_no_params.sh \ + imtuxedoulog_data.sh \ + imtuxedoulog_errmsg_no_params-vg.sh \ + pmdb2diag_parse.sh \ + mmtaghostname_tag.sh \ + mmtaghostname_server.sh \ + imbatchreport_errmsg_no_params.sh \ + imbatchreport_errmsg_glob_not_regular.sh \ + imbatchreport_errmsg_glob_dir_fake.sh \ + imbatchreport_errmsg_glob_dir_not_dir.sh \ + imbatchreport_errmsg_regex.match.reject.sh \ + imbatchreport_errmsg_regex.match.rename.sh \ + imbatchreport_errmsg_regex.nomatch.sh \ + imbatchreport_errmsg_not_supported1.sh \ + imbatchreport_errmsg_not_supported2.sh \ + imbatchreport_errmsg_not_supported3.sh \ + imbatchreport_errmsg_delete_params.sh \ + imbatchreport_errmsg_rename_params.sh \ + imbatchreport_delete_success.sh \ + imbatchreport_delete_structdata.sh \ + imbatchreport_rename_success.sh \ + imbatchreport_delete_toolarge.sh \ + imbatchreport_rename_toolarge.sh \ + imbatchreport_errmsg_no_params-vg.sh \ + mmexternal-SegFault.sh \ + mmexternal-SegFault-empty-jroot-vg.sh \ + testsuites/mmexternal-SegFault-mm-python.py \ + mmexternal-InvldProg-vg.sh \ + nested-call-shutdown.sh \ + 1.rstest 2.rstest 3.rstest err1.rstest \ + config_multiple_include.sh \ + testsuites/include-std1-omfile-action.conf \ + testsuites/include-std2-omfile-action.conf \ + invalid_nested_include.sh \ + validation-run.sh \ + tls-certs/ca-key.pem \ + tls-certs/ca.pem \ + tls-certs/cert.pem \ + tls-certs/certchained.pem \ + tls-certs/key.pem \ + tls-certs/ca-fail.pem \ + tls-certs/cert-fail.pem \ + tls-certs/key-fail.pem \ + testsuites/x.509/ca.srl \ + testsuites/x.509/client-cert-new.pem \ + testsuites/x.509/client-new.csr \ + testsuites/x.509/client-revoked-key.pem \ + testsuites/x.509/client-revoked-valid.pem \ + testsuites/x.509/client-revoked.csr \ + testsuites/x.509/client-revoked.pem \ + testsuites/x.509/crl.pem \ + testsuites/x.509/index.txt \ + testsuites/x.509/index.txt.attr \ + testsuites/x.509/newcerts/01.pem \ + testsuites/x.509/newcerts/02.pem \ + testsuites/x.509/newcerts/03.pem \ + testsuites/x.509/newcerts/04.pem \ + testsuites/x.509/openssl-cmds.sh \ + testsuites/x.509/openssl.cnf \ + testsuites/x.509/serial \ + testsuites/x.509/ca.pem \ + testsuites/x.509/ca-key.pem \ + testsuites/x.509/client-cert.pem \ + testsuites/x.509/client-key.pem \ + testsuites/x.509/machine-cert.pem \ + testsuites/x.509/machine-key.pem \ + testsuites/x.509/client-expired-cert.pem \ + testsuites/x.509/client-expired-key.pem \ + cfg.sh \ + cfg1.cfgtest \ + cfg1.testin \ + cfg2.cfgtest \ + cfg2.testin \ + cfg3.cfgtest \ + cfg3.testin \ + cfg4.cfgtest \ + cfg4.testin \ + DevNull.cfgtest \ + err1.rstest \ + NoExistFile.cfgtest \ + tcp_forwarding_tpl.sh \ + tcp_forwarding_ns_tpl.sh \ + tcp_forwarding_dflt_tpl.sh \ + tcp_forwarding_retries.sh \ + mainq_actq_DA.sh \ + queue_warnmsg-oversize.sh \ + queue-minbatch.sh \ + queue-minbatch-queuefull.sh \ + queue-direct-with-no-params.sh \ + queue-direct-with-params-given.sh \ + killrsyslog.sh \ + parsertest-parse1.sh \ + parsertest-parse1-udp.sh \ + parsertest-parse2.sh \ + parsertest-parse2-udp.sh \ + parsertest-parse_8bit_escape.sh \ + parsertest-parse_8bit_escape-udp.sh \ + parsertest-parse3.sh \ + parsertest-parse3-udp.sh \ + parsertest-parse_invld_regex.sh \ + parsertest-parse_invld_regex-udp.sh \ + parsertest-parse-3164-buggyday.sh \ + parsertest-parse-3164-buggyday-udp.sh \ + parsertest-parse-nodate.sh \ + parsertest-parse-nodate-udp.sh \ + parsertest-snare_ccoff_udp.sh \ + parsertest-snare_ccoff_udp2.sh \ + fieldtest.sh \ + fieldtest-udp.sh \ + proprepltest-nolimittag-udp.sh \ + proprepltest-nolimittag.sh \ + proprepltest-rfctag-udp.sh \ + proprepltest-rfctag.sh \ + timestamp-3164.sh \ + timestamp-3339.sh \ + timestamp-isoweek.sh \ + timestamp-mysql.sh \ + timestamp-pgsql.sh \ + timestamp-subseconds.sh \ + rsf_getenv.sh \ + diskq-rfc5424.sh \ + rfc5424parser-sp_at_msg_start.sh \ + diskqueue-full.sh \ + diskqueue-fail.sh \ + diskqueue.sh \ + diskqueue-non-unique-prefix.sh \ + arrayqueue.sh \ + include-obj-text-from-file.sh \ + include-obj-text-from-file-noexist.sh \ + include-obj-outside-control-flow-vg.sh \ + include-obj-in-if-vg.sh \ + include-obj-text-vg.sh \ + config_output-o-option.sh \ + rscript-config_enable-off-vg.sh \ + rscript-config_enable-on.sh \ + rscript_http_request.sh \ + rscript_http_request-vg.sh \ + rscript_bare_var_root.sh \ + rscript_bare_var_root-empty.sh \ + rscript_contains.sh \ + rscript_ipv42num.sh \ + rscript_field.sh \ + rscript_field-vg.sh \ + rscript_stop.sh \ + rscript_stop2.sh \ + stop.sh \ + rscript_le.sh \ + rscript_le_var.sh \ + rscript_ge.sh \ + rscript_ge_var.sh \ + rscript_lt.sh \ + rscript_lt_var.sh \ + rscript_gt.sh \ + rscript_gt_var.sh \ + rscript_ne.sh \ + rscript_ne_var.sh \ + rscript_number_comparison_LE.sh \ + rscript_number_comparison_LE-vg.sh \ + rscript_number_comparison_LT.sh \ + rscript_compare_str-numstr.sh \ + rscript_compare_str-num.sh \ + rscript_compare_numstr-str.sh \ + rscript_compare_num-str.sh \ + rscript_compare_numstr-numstr.sh \ + rscript_compare_numstr-num.sh \ + rscript_compare_num-numstr.sh \ + rscript_compare_num-num.sh \ + rscript_compare_str-str.sh \ + rscript_compare_str-str-vg.sh \ + rscript_compare_str-num-vg.sh \ + rscript_compare_str-numstr-vg.sh \ + rscript_compare_num-str-vg.sh \ + rscript_compare_numstr-str-vg.sh \ + rscript_compare_numstr-num-vg.sh \ + rscript_compare_numstr-numstr-vg.sh \ + rscript_compare_num-num-vg.sh \ + rscript_compare_num-numstr-vg.sh \ + rscript_compare-common.sh \ + rscript_num2ipv4.sh \ + rscript_int2Hex.sh \ + rscript_trim.sh \ + rscript_substring.sh \ + rscript_format_time.sh \ + rscript_parse_time.sh \ + rscript_parse_time_get-ts.py \ + rscript_is_time.sh \ + rscript_script_error.sh \ + rscript_parse_json.sh \ + rscript_parse_json-vg.sh \ + rscript_backticks-vg.sh \ + rscript_backticks_empty_envvar-vg.sh \ + rscript_previous_action_suspended.sh \ + rscript_str2num_negative.sh \ + rscript_exists-yes.sh \ + rscript_exists-yes2.sh \ + rscript_exists-not1.sh \ + rscript_exists-not2.sh \ + rscript_exists-not3.sh \ + rscript_exists-not4.sh \ + rscript_unflatten_arg1_unsuitable.sh \ + rscript_unflatten_arg2_invalid.sh \ + rscript_unflatten_conflict1.sh \ + rscript_unflatten_conflict2.sh \ + rscript_unflatten_conflict3.sh \ + rscript_unflatten_key_truncated.sh \ + rscript_unflatten_non_object.sh \ + rscript_unflatten_object_exclamation.sh \ + rscript_unflatten_object.sh \ + rscript_unflatten_arg1_unsuitable-vg.sh \ + rscript_unflatten_arg2_invalid-vg.sh \ + rscript_unflatten_conflict1-vg.sh \ + rscript_unflatten_conflict2-vg.sh \ + rscript_unflatten_conflict3-vg.sh \ + rscript_unflatten_key_truncated-vg.sh \ + rscript_unflatten_non_object-vg.sh \ + rscript_unflatten_object_exclamation-vg.sh \ + rscript_unflatten_object-vg.sh \ + rscript_get_property.sh \ + rscript_get_property-vg.sh \ + rs-cnum.sh \ + rs-int2hex.sh \ + rs-substring.sh \ + omsnmp_errmsg_no_params.sh \ + sndrcv_omsnmpv1_udp.sh \ + sndrcv_omsnmpv1_udp_dynsource.sh \ + sndrcv_omsnmpv1_udp_invalidoid.sh \ + snmptrapreceiver.py \ + ommail_errmsg_no_params.sh \ + mmdarwin_errmsg_no_params.sh \ + mmdarwin_errmsg_no_sock.sh \ + mmdarwin_errmsg_no_sock-vg.sh \ + mmutf8fix_no_error.sh \ + tcpflood_wrong_option_output.sh \ + msleep_usage_output.sh \ + mangle_qi_usage_output.sh \ + minitcpsrv_usage_output.sh \ + test_id_usage_output.sh \ + mmanon_with_debug.sh \ + mmanon_random_32_ipv4.sh \ + mmanon_random_cons_32_ipv4.sh \ + mmanon_recognize_ipv4.sh \ + mmanon_zero_12_ipv4.sh \ + mmanon_zero_33_ipv4.sh \ + mmanon_zero_8_ipv4.sh \ + mmanon_simple_12_ipv4.sh \ + mmanon_simple_33_ipv4.sh \ + mmanon_simple_8_ipv4.sh \ + mmanon_simple_mallformed_ipv4.sh \ + mmanon_random_128_ipv6.sh \ + mmanon_zero_128_ipv6.sh \ + mmanon_zero_96_ipv6.sh \ + mmanon_random_cons_128_ipv6.sh \ + mmanon_zero_50_ipv6.sh \ + mmanon_recognize_ipv6.sh \ + mmanon_zero_64_ipv6.sh \ + mmanon_both_modes_compatible.sh \ + mmanon_recognize_ipembedded.sh \ + mmanon_ipv6_port.sh \ + mmanon_random_cons_128_ipembedded.sh \ + rscript_eq.sh \ + rscript_eq_var.sh \ + rscript_set_memleak-vg.sh \ + rscript_set_unset_invalid_var.sh \ + rscript_set_modify.sh \ + stop-localvar.sh \ + stop-msgvar.sh \ + omfwd-tls-invalid-permitExpiredCerts.sh \ + omfwd-keepalive.sh \ + omfwd_fast_imuxsock.sh \ + omfile_hup-vg.sh \ + zstd.sh \ + zstd-vg.sh \ + gzipwr_hup-vg.sh \ + omusrmsg-errmsg-no-params.sh \ + omusrmsg-noabort.sh \ + omusrmsg-noabort-vg.sh \ + omfile-module-params.sh \ + omfile-read-only-errmsg.sh \ + omfile-null-filename.sh \ + omfile-whitespace-filename.sh \ + omfile-read-only.sh \ + omfile-outchannel.sh \ + omfile-outchannel-many.sh \ + omfile-sizelimitcmd-many.sh \ + omfile_both_files_set.sh \ + omfile_hup.sh \ + omrabbitmq_no_params.sh \ + omrabbitmq_params_missing0.sh \ + omrabbitmq_params_missing1.sh \ + omrabbitmq_params_missing2.sh \ + omrabbitmq_params_invalid0.sh \ + omrabbitmq_params_invalid1.sh \ + omrabbitmq_params_invalid2.sh \ + omrabbitmq_params_invalid3.sh \ + omrabbitmq_data_1server.sh \ + omrabbitmq_data_1server-vg.sh \ + omrabbitmq_data_2servers.sh \ + omrabbitmq_error_server0.sh \ + omrabbitmq_error_server1.sh \ + omrabbitmq_error_server2.sh \ + omrabbitmq_error_server3.sh \ + omrabbitmq_json.sh \ + omrabbitmq_raw.sh \ + imhiredis-queue.sh \ + imhiredis-queue-vg.sh \ + imhiredis-queue-lpop.sh \ + imhiredis-queue-lpop-vg.sh \ + imhiredis-redis-restart.sh \ + imhiredis-redis-restart-vg.sh \ + imhiredis-redis-start-after.sh \ + imhiredis-redis-start-after-vg.sh \ + imhiredis-subscribe.sh \ + imhiredis-subscribe-vg.sh \ + imhiredis-stream.sh \ + imhiredis-stream-vg.sh \ + imhiredis-stream-from-beginning.sh \ + imhiredis-stream-from-beginning-vg.sh \ + imhiredis-stream-consumerGroup-ack.sh \ + imhiredis-stream-consumerGroup-ack-vg.sh \ + imhiredis-stream-consumerGroup-noack.sh \ + imhiredis-stream-consumerGroup-noack-vg.sh \ + imhiredis-stream-consumerGroup-reclaim.sh \ + imhiredis-stream-consumerGroup-reclaim-vg.sh \ + msgvar-concurrency.sh \ + msgvar-concurrency-array.sh \ + testsuites/msgvar-concurrency-array.rulebase \ + msgvar-concurrency-array-event.tags.sh \ + testsuites/msgvar-concurrency-array-event.tags.rulebase \ + localvar-concurrency.sh \ + exec_tpl-concurrency.sh \ + prop-jsonmesg-vg.sh \ + prop-all-json-concurrency.sh \ + no-parser-errmsg.sh \ + global_vars.sh \ + no-parser-errmsg.sh \ + no-parser-vg.sh \ + prop-programname.sh \ + prop-programname-with-slashes.sh \ + rfc5424parser.sh \ + rscript_privdropuser.sh \ + rscript_privdropuserid.sh \ + rscript_privdropgroup.sh \ + rscript_privdropgroupid.sh \ + privdrop_common.sh \ + privdropuser.sh \ + privdropuserid.sh \ + privdropgroup.sh \ + privdropgroupid.sh \ + privdropabortonidfail.sh \ + privdropabortonidfaillegacy.sh \ + json-nonstring.sh \ + json-onempty-at-end.sh \ + template-json.sh \ + template-pure-json.sh \ + template-pos-from-to.sh \ + template-pos-from-to-lowercase.sh \ + template-pos-from-to-oversize.sh \ + template-pos-from-to-oversize-lowercase.sh \ + template-pos-from-to-missing-jsonvar.sh \ + template-const-jsonf.sh \ + template-topos-neg.sh \ + fac_authpriv.sh \ + fac_local0.sh \ + fac_local0-vg.sh \ + fac_local7.sh \ + fac_mail.sh \ + fac_news.sh \ + fac_ftp.sh \ + fac_ntp.sh \ + fac_uucp.sh \ + fac_invld1.sh \ + fac_invld2.sh \ + fac_invld3.sh \ + fac_invld4_rfc5424.sh \ + compresssp.sh \ + compresssp-stringtpl.sh \ + now_family_utc.sh \ + now-utc-ymd.sh \ + now-utc-casecmp.sh \ + now-utc.sh \ + now-unixtimestamp.sh \ + faketime_common.sh \ + imjournal-basic.sh \ + imjournal-statefile.sh \ + imjournal-statefile-vg.sh \ + imjournal-basic-vg.sh \ + omjournal-abort-template.sh \ + omjournal-abort-no-template.sh \ + omjournal-basic-template.sh \ + omjournal-basic-no-template.sh \ + timegenerated-ymd.sh \ + timegenerated-uxtimestamp.sh \ + timegenerated-uxtimestamp-invld.sh \ + timegenerated-dateordinal.sh \ + timegenerated-dateordinal-invld.sh \ + timegenerated-utc.sh \ + timegenerated-utc-legacy.sh \ + timereported-utc.sh \ + timereported-utc-legacy.sh \ + timereported-utc-vg.sh \ + mmrm1stspace-basic.sh \ + mmnormalize_parsesuccess.sh \ + mmnormalize_parsesuccess-vg.sh \ + mmnormalize_rule_from_string.sh \ + mmnormalize_rule_from_array.sh \ + pmnull-basic.sh \ + pmnull-withparams.sh \ + omstdout-basic.sh \ + testsuites/mmnormalize_processing_tests.rulebase \ + mmnormalize_processing_test1.sh \ + mmnormalize_processing_test2.sh \ + mmnormalize_processing_test3.sh \ + mmnormalize_processing_test4.sh \ + pmnormalize-basic.sh \ + pmnormalize-rule.sh \ + pmnormalize-rule_and_rulebase.sh \ + pmnormalize-neither_rule_rulebase.sh \ + pmnormalize-invld-rulebase.sh \ + pmnormalize-rule_invld-data.sh \ + testsuites/pmnormalize_basic.rulebase \ + pmnormalize-basic-vg.sh \ + pmnormalize-rule-vg.sh\ + pmnormalize-rule_and_rulebase-vg.sh \ + pmnormalize-neither_rule_rulebase-vg.sh \ + pmnormalize-invld-rulebase-vg.sh \ + pmnormalize-rule_invld-data-vg.sh \ + rawmsg-after-pri.sh \ + rs_optimizer_pri.sh \ + rscript_prifilt.sh \ + rscript_optimizer1.sh \ + rscript_ruleset_call.sh \ + rscript_ruleset_call_indirect-basic.sh \ + rscript_ruleset_call_indirect-var.sh \ + rscript_ruleset_call_indirect-invld.sh \ + cee_simple.sh \ + cee_diskqueue.sh \ + mmjsonparse-w-o-cookie.sh \ + mmjsonparse-w-o-cookie-multi-spaces.sh \ + mmjsonparse_simple.sh \ + mmjsonparse-invalid-containerName.sh \ + wtpShutdownAll-assertionFailure.sh \ + imptcp-octet-framing-too-long-vg.sh \ + imptcp-oversize-message-display.sh \ + imptcp-msg-truncation-on-number.sh \ + imptcp-msg-truncation-on-number2.sh \ + imptcp-maxFrameSize-parameter.sh \ + mmjsonparse_cim.sh \ + mmjsonparse_cim2.sh \ + mmjsonparse_localvar.sh \ + mmdb.sh \ + mmdb-space.sh \ + mmdb.rb \ + test.mmdb \ + with_space.mmdb \ + mmdb-vg.sh \ + mmdb-container.sh \ + mmdb-container-empty.sh \ + mmdb-multilevel-vg.sh \ + incltest.sh \ + incltest_dir.sh \ + incltest_dir_empty_wildcard.sh \ + incltest_dir_wildcard.sh \ + testsuites/es.yml \ + clickhouse-dflt-tpl.sh \ + clickhouse-retry-error.sh \ + clickhouse-start.sh \ + clickhouse-stop.sh \ + clickhouse-basic.sh \ + clickhouse-load.sh \ + clickhouse-bulk.sh \ + clickhouse-bulk-load.sh \ + clickhouse-limited-batch.sh \ + clickhouse-select.sh \ + clickhouse-wrong-quotation-marks.sh \ + clickhouse-wrong-template-option.sh \ + clickhouse-errorfile.sh \ + clickhouse-wrong-insert-syntax.sh \ + clickhouse-basic-vg.sh \ + clickhouse-load-vg.sh \ + clickhouse-bulk-vg.sh \ + clickhouse-bulk-load-vg.sh \ + es_response_get_msgnum.py \ + elasticsearch-error-format-check.py \ + es-duplicated-ruleset.sh \ + es-duplicated-ruleset-vg.sh \ + es-basic-es6.0.sh \ + es-basic-es7.14.sh \ + es-basic.sh \ + es-basic-vgthread.sh \ + es-basic-server.sh \ + es-execOnlyWhenPreviousSuspended.sh \ + es-basic-ha.sh \ + es-basic-bulk.sh \ + es-basic-errfile-empty.sh \ + es-basic-errfile-popul.sh \ + es-bulk-errfile-empty.sh \ + es-bulk-errfile-popul.sh \ + es-bulk-errfile-popul-def-format.sh \ + es-bulk-errfile-popul-erronly.sh \ + es-bulk-errfile-popul-erronly-interleaved.sh \ + es-bulk-errfile-popul-def-interleaved.sh \ + es-searchType-empty.sh \ + diskqueue-multithread-es.sh \ + es-basic-vg.sh \ + es-basic-bulk-vg.sh \ + es-basic-ha-vg.sh \ + es-maxbytes-bulk.sh \ + es-bulk-retry.sh \ + elasticsearch-stop.sh \ + linkedlistqueue.sh \ + da-mainmsg-q.sh \ + diskqueue-fsync.sh \ + msgdup.sh \ + msgdup_props.sh \ + empty-ruleset.sh \ + ruleset-direct-queue.sh \ + imtcp-listen-port-file-2.sh \ + allowed-sender-tcp-ok.sh \ + allowed-sender-tcp-fail.sh \ + allowed-sender-tcp-hostname-ok.sh \ + allowed-sender-tcp-hostname-fail.sh \ + imtcp-octet-framing-too-long-vg.sh \ + imtcp-discard-truncated-msg.sh \ + imtcp-basic.sh \ + imtcp-basic-hup.sh \ + imtcp-maxFrameSize.sh \ + imtcp-msg-truncation-on-number.sh \ + imtcp-msg-truncation-on-number2.sh \ + imtcp-NUL.sh \ + imtcp-NUL-rawmsg.sh \ + imtcp-tls-gtls-x509fingerprint-invld.sh \ + imtcp-tls-gtls-x509fingerprint.sh \ + imtcp-tls-gtls-x509name-invld.sh \ + imtcp-tls-gtls-x509name.sh \ + imtcp-tls-gtls-x509name-legacy.sh \ + imtcp-drvr-in-input-basic.sh \ + imtcp-multi-drvr-basic.sh \ + imtcp-multi-drvr-basic-parallel.sh \ + imtcp-multi-drvr-basic-ptcp_gtls_ossl.sh \ + imtcp-tls-basic.sh \ + imtcp-tls-input-basic.sh \ + imtcp-tls-input-2certs.sh \ + imtcp-tls-basic-verifydepth.sh \ + imtcp-tls-basic-vg.sh \ + imtcp-tls-no-lstn-startup.sh \ + imtcp_incomplete_frame_at_end.sh \ + imtcp-multiport.sh \ + imtcp-bigmessage-octetcounting.sh \ + imtcp-bigmessage-octetstuffing.sh \ + udp-msgreduc-orgmsg-vg.sh \ + udp-msgreduc-vg.sh \ + manytcp-too-few-tls-vg.sh \ + imtcp-tls-ossl-basic.sh \ + imtcp-tls-ossl-input-basic.sh \ + imtcp-tls-ossl-input-2certs.sh \ + imtcp-tls-ossl-basic-tlscommands.sh \ + imtcp-tls-ossl-basic-verifydepth.sh \ + imtcp-tls-ossl-invalid-verifydepth.sh \ + sndrcv_tls_ossl_anon_ipv4.sh \ + sndrcv_tls_ossl_anon_ipv6.sh \ + sndrcv_tls_ossl_anon_rebind.sh \ + sndrcv_tls_ossl_anon_ciphers.sh \ + sndrcv_tls_ossl_certvalid.sh \ + sndrcv_tls_ossl_certvalid_action_level.sh \ + sndrcv_tls_ossl_certvalid_expired.sh \ + sndrcv_tls_ossl_certvalid_tlscommand.sh \ + sndrcv_tls_ossl_certvalid_ciphers.sh \ + sndrcv_tls_ossl_certvalid_revoked.sh \ + imtcp-tls-ossl-x509valid.sh \ + imtcp-tls-ossl-x509name.sh \ + imtcp-tls-ossl-x509fingerprint.sh \ + imtcp-tls-ossl-basic-vg.sh \ + imtcp-tls-ossl-basic-brokenhandshake-vg.sh \ + imtcp-tls-ossl-error-ca.sh \ + imtcp-tls-ossl-error-cert.sh \ + imtcp-tls-ossl-error-key.sh \ + imtcp-tls-ossl-error-key2.sh \ + manytcp.sh \ + manyptcp.sh \ + imptcp-basic-hup.sh \ + imptcp-NUL.sh \ + imptcp-NUL-rawmsg.sh \ + imptcp_framing_regex.sh \ + testsuites/imptcp_framing_regex.testdata \ + imptcp_framing_regex-oversize.sh \ + testsuites/imptcp_framing_regex-oversize.testdata \ + imptcp_large.sh \ + imptcp-connection-msg-disabled.sh \ + imptcp-connection-msg-received.sh \ + imptcp-discard-truncated-msg.sh \ + imptcp_addtlframedelim.sh \ + imptcp_conndrop-vg.sh \ + imptcp_conndrop.sh \ + imptcp_multi_line.sh \ + testsuites/imptcp_multi_line.testdata \ + imptcp_no_octet_counted.sh \ + imtcp_addtlframedelim_on_input.sh \ + testsuites/no_octet_counted.testdata \ + imtcp_no_octet_counted.sh \ + testsuites/spframingfix.testdata \ + imtcp_spframingfix.sh \ + imtcp-connection-msg-recieved.sh \ + imptcp_spframingfix.sh \ + msg-deadlock-headerless-noappname.sh \ + imtcp_conndrop.sh \ + imtcp_conndrop_tls.sh \ + imtcp_conndrop_tls-vg.sh \ + imtcp_addtlframedelim.sh \ + tcp-msgreduc-vg.sh \ + inputname-imtcp.sh \ + omod-if-array.sh \ + omod-if-array-udp.sh \ + discard.sh \ + failover-no-rptd.sh \ + failover-no-rptd-vg.sh \ + failover-no-basic.sh \ + failover-no-basic-vg.sh \ + failover-rptd.sh \ + failover-rptd-vg.sh \ + failover-basic.sh \ + failover-basic-vg.sh \ + failover-async.sh \ + failover-double.sh \ + suspend-via-file.sh \ + suspend-omfwd-via-file.sh \ + externalstate-failed-rcvr.sh \ + discard-rptdmsg.sh \ + discard-rptdmsg-vg.sh \ + discard-allmark.sh \ + discard-allmark-vg.sh \ + diag.sh \ + rcvr_fail_restore.sh \ + queue-encryption-disk.sh \ + queue-encryption-disk_keyfile.sh \ + queue-encryption-disk_keyfile-vg.sh \ + queue-encryption-disk_keyprog.sh \ + queue-encryption-da.sh \ + da-queue-persist.sh \ + daqueue-dirty-shutdown.sh \ + daqueue-invld-qi.sh \ + daqueue-persist.sh \ + daqueue-persist-drvr.sh \ + queue-persist.sh \ + queue-persist-drvr.sh \ + threadingmq.sh \ + threadingmqaq.sh \ + sndrcv_drvr.sh \ + sndrcv_drvr_noexit.sh \ + sndrcv_failover.sh \ + sndrcv.sh \ + omrelp_errmsg_no_connect.sh \ + imrelp-basic.sh \ + imrelp-basic-hup.sh \ + imrelp-basic-vg.sh \ + imrelp-basic-oldstyle.sh \ + imrelp-manyconn.sh \ + imrelp-manyconn-vg.sh \ + imrelp-maxDataSize-error.sh \ + imrelp-long-msg.sh \ + imrelp-oversizeMode-truncate.sh \ + imrelp-oversizeMode-accept.sh \ + imrelp-invld-tlslib.sh \ + imrelp-bigmessage.sh \ + imrelp-sessionbreak-vg.sh \ + omrelp-invld-tlslib.sh \ + glbl-oversizeMsg-log.sh \ + glbl-oversizeMsg-truncate.sh \ + glbl-oversizeMsg-split.sh \ + sndrcv_relp.sh \ + sndrcv_relp_rebind.sh \ + sndrcv_relp_tls_prio.sh \ + sndrcv_relp_tls_chainedcert.sh \ + sndrcv_relp_tls.sh \ + sndrcv_relp_tls_certvalid.sh \ + sndrcv_relp-vg-rcvr.sh \ + sndrcv_relp-vg-sender.sh \ + relp_tls_certificate_not_found.sh \ + omrelp_wrong_authmode.sh \ + imrelp-tls.sh \ + imrelp-tls-cfgcmd.sh \ + imrelp-tls-chainedcert.sh \ + imrelp-tls-mixed-chainedcert.sh \ + imrelp-tls-mixed-chainedcert2.sh \ + sndrcv_relp_tls-cfgcmd.sh \ + sndrcv_relp_dflt_pt.sh \ + sndrcv_udp.sh \ + imudp_thread_hang.sh \ + sndrcv_udp_nonstdpt.sh \ + sndrcv_udp_nonstdpt_v6.sh \ + omudpspoof_errmsg_no_params.sh \ + sndrcv_omudpspoof.sh \ + sndrcv_omudpspoof-bigmsg.sh \ + sndrcv_omudpspoof_nonstdpt.sh \ + sndrcv_gzip.sh \ + imdtls-basic.sh \ + imdtls-basic-tlscommands.sh \ + imdtls-basic-timeout \ + imdtls-error-cert.sh \ + imdtls-sessionbreak.sh \ + imdtls-basic-vg.sh \ + imdtls-sessionbreak-vg.sh \ + sndrcv_dtls_certvalid.sh \ + sndrcv_dtls_anon_ciphers.sh \ + sndrcv_dtls_certvalid_ciphers.sh \ + sndrcv_dtls_certvalid_permitted.sh \ + sndrcv_dtls_certvalid_missing.sh \ + sndrcv_dtls_anon_ciphers.sh \ + sndrcv_dtls_certvalid-vg.sh \ + action-tx-single-processing.sh \ + omfwd-errfile-maxsize.sh \ + omfwd-errfile-maxsize-filled.sh \ + action-tx-errfile-maxsize.sh \ + action-tx-errfile.sh \ + testsuites/action-tx-errfile.result \ + pipeaction.sh \ + improg-simul.sh \ + improg-multiline-test.py \ + improg_errmsg_no_params.sh \ + improg_errmsg_no_params-vg.sh \ + improg_prog_simple.sh \ + improg_prog_confirm.sh \ + improg_prog_confirm_killonclose.sh \ + improg_prog_killonclose.sh \ + improg_prog_simple-vg.sh \ + improg_simple_multi.sh \ + imhttp-post-payload.sh \ + imhttp-post-payload-vg.sh \ + imhttp-post-payload-basic-auth.sh \ + imhttp-post-payload-basic-auth-vg.sh \ + imhttp-post-payload-query-params.sh \ + imhttp-post-payload-query-params-vg.sh \ + imhttp-post-payload-large.sh \ + imhttp-post-payload-large-vg.sh \ + testsuites/imhttp-large-data.txt \ + imhttp-post-payload-multi.sh \ + imhttp-post-payload-multi-vg.sh \ + imhttp-getrequest-file.sh \ + imhttp-getrequest-file-vg.sh \ + imhttp-post-payload-multi-lf.sh \ + imhttp-post-payload-multi-lf-vg.sh \ + imhttp-post-payload-compress.sh \ + imhttp-post-payload-compress-vg.sh \ + testsuites/docroot/file.txt \ + testsuites/htpasswd \ + omhttp-auth.sh \ + omhttp-basic.sh \ + omhttp-batch-fail-with-400.sh \ + omhttp-batch-jsonarray-compress.sh \ + omhttp-batch-jsonarray-retry.sh \ + omhttp-batch-jsonarray.sh \ + omhttp-batch-kafkarest-retry.sh \ + omhttp-batch-kafkarest.sh \ + omhttp-batch-lokirest-retry.sh \ + omhttp-batch-lokirest.sh \ + omhttp-batch-lokirest-vg.sh \ + omhttp-batch-newline.sh \ + omhttp-retry.sh \ + omhttp-httpheaderkey.sh \ + omhttp-multiplehttpheaders.sh \ + omhttp-dynrestpath.sh \ + omhttp-batch-dynrestpath.sh \ + omhttp-auth-vg.sh \ + omhttp-basic-vg.sh \ + omhttp-batch-jsonarray-compress-vg.sh \ + omhttp-batch-jsonarray-retry-vg.sh \ + omhttp-batch-jsonarray-vg.sh \ + omhttp-batch-kafkarest-retry-vg.sh \ + omhttp-batch-lokirest-retry-vg.sh \ + omhttp-retry-vg.sh \ + omhttp_server.py \ + omprog-defaults.sh \ + omprog-defaults-vg.sh \ + omprog-output-capture.sh \ + omprog-output-capture-mt.sh \ + omprog-output-capture-vg.sh \ + omprog-feedback.sh \ + omprog-feedback-mt.sh \ + omprog-feedback-vg.sh \ + omprog-feedback-timeout.sh \ + omprog-close-unresponsive.sh \ + omprog-close-unresponsive-vg.sh \ + omprog-close-unresponsive-noterm.sh \ + omprog-restart-terminated.sh \ + omprog-restart-terminated-vg.sh \ + omprog-restart-terminated-outfile.sh \ + omprog-single-instance.sh \ + omprog-single-instance-vg.sh \ + omprog-single-instance-outfile.sh \ + omprog-if-error.sh \ + omprog-transactions.sh \ + omprog-transactions-vg.sh \ + omprog-transactions-failed-messages.sh \ + omprog-transactions-failed-commits.sh \ + testsuites/omprog-defaults-bin.sh \ + testsuites/omprog-output-capture-bin.sh \ + testsuites/omprog-output-capture-mt-bin.py \ + testsuites/omprog-feedback-bin.sh \ + testsuites/omprog-feedback-mt-bin.sh \ + testsuites/omprog-feedback-timeout-bin.sh \ + testsuites/omprog-close-unresponsive-bin.sh \ + testsuites/omprog-restart-terminated-bin.sh \ + testsuites/omprog-single-instance-bin.sh \ + testsuites/omprog-transactions-bin.sh \ + pipe_noreader.sh \ + uxsock_simple.sh \ + asynwr_simple.sh \ + asynwr_simple_2.sh \ + asynwr_timeout.sh \ + asynwr_timeout_2.sh \ + asynwr_small.sh \ + asynwr_tinybuf.sh \ + wr_large_async.sh \ + wr_large_sync.sh \ + asynwr_deadlock.sh \ + asynwr_deadlock_2.sh \ + asynwr_deadlock2.sh \ + asynwr_deadlock4.sh \ + asynwr_dynfile_flushtxend-off.sh \ + abort-uncleancfg-goodcfg.sh \ + abort-uncleancfg-goodcfg-check.sh \ + abort-uncleancfg-badcfg-check.sh \ + abort-uncleancfg-badcfg-check_1.sh \ + variable_leading_underscore.sh \ + gzipwr_hup_multi_file.sh \ + gzipwr_hup_single_file.sh \ + gzipwr_rscript.sh \ + gzipwr_flushInterval.sh \ + gzipwr_flushOnTXEnd.sh \ + gzipwr_large.sh \ + gzipwr_large_dynfile.sh \ + gzipwr_hup.sh \ + complex1.sh \ + random.sh \ + testsuites/imfile-old-state-file_imfile-state_.-rsyslog.input \ + imfile-readmode0-vg.sh \ + imfile-readmode2.sh \ + imfile-readmode2-polling.sh \ + imfile-readmode2-vg.sh \ + imfile-readmode2-with-persists-data-during-stop.sh \ + imfile-readmode2-with-persists.sh \ + imfile-endregex-save-lf.sh \ + imfile-endregex-save-lf-persist.sh \ + imfile-endregex.sh \ + imfile-endregex-vg.sh \ + imfile-basic.sh \ + imfile-basic-legacy.sh \ + imfile-basic-2GB-file.sh \ + imfile-truncate-2GB-file.sh \ + imfile-discard-truncated-line.sh \ + imfile-truncate-line.sh \ + imfile-file-not-found-error.sh \ + imfile-fileNotFoundError-parameter.sh \ + imfile-error-not-repeated.sh \ + imfile-basic-vg.sh \ + imfile-basic-vgthread.sh \ + imfile-endregex-timeout-none-polling.sh \ + imfile-endregex-timeout-polling.sh \ + imfile-endregex-timeout.sh \ + imfile-endregex-timeout-none.sh \ + imfile-endregex-timeout-with-shutdown.sh \ + imfile-endregex-timeout-with-shutdown-polling.sh \ + imfile-escapelf.replacement.sh \ + imfile-escapelf.replacement-empty.sh \ + imfile-endmsg.regex.sh \ + imfile-endmsg.regex-vg.sh \ + imfile-endmsg.regex-with-example.sh \ + imfile-endmsg.regex-with-example-vg.sh \ + imfile-endmsg.regex.crio.rulebase \ + imfile-endmsg.regex.json.rulebase \ + imfile-statefile-no-file_id.sh \ + imfile-statefile-no-file_id-TO-file_id.sh \ + imfile-statefile-directory.sh \ + imfile-statefile-delete.sh \ + imfile-statefile-no-delete.sh \ + imfile-persist-state-1.sh \ + imfile-freshStartTail1.sh \ + imfile-freshStartTail2.sh \ + imfile-freshStartTail3.sh \ + imfile-truncate.sh \ + imfile-truncate-multiple.sh \ + imfile-wildcards.sh \ + imfile-wildcards-dirs.sh \ + imfile-wildcards-dirs2.sh \ + imfile-wildcards-dirs-multi.sh \ + imfile-wildcards-dirs-multi2.sh \ + imfile-wildcards-dirs-multi3.sh \ + imfile-wildcards-dirs-multi4.sh \ + imfile-wildcards-dirs-multi5.sh \ + imfile-wildcards-dirs-multi5-polling.sh \ + imfile-old-state-file.sh \ + imfile-rename-while-stopped.sh \ + imfile-rename.sh \ + imfile-symlink.sh \ + imfile-symlink-multi.sh \ + imfile-symlink-ext-tmp-dir-tree.sh \ + imfile-logrotate.sh \ + imfile-logrotate-async.sh \ + imfile-logrotate-copytruncate.sh \ + imfile-logrotate-nocopytruncate.sh \ + imfile-logrotate-multiple.sh \ + imfile-growing-file-id.sh \ + imfile-ignore-old-file-1.sh \ + imfile-ignore-old-file-2.sh \ + imfile-ignore-old-file-3.sh \ + imfile-ignore-old-file-4.sh \ + imfile-ignore-old-file-5.sh \ + imfile-ignore-old-file-6.sh \ + imfile-ignore-old-file-7.sh \ + glbl-oversizeMsg-truncate-imfile.sh \ + dynfile_invld_async.sh \ + dynfile_invld_sync.sh \ + dynfile_invalid2.sh \ + rulesetmultiqueue.sh \ + rulesetmultiqueue-v6.sh \ + omruleset.sh \ + omruleset-queue.sh \ + badqi.sh \ + bad_qi/dbq.qi \ + execonlyonce.sh \ + execonlywhenprevsuspended.sh \ + execonlywhenprevsuspended2.sh \ + execonlywhenprevsuspended3.sh \ + execonlywhenprevsuspended4.sh \ + execonlywhenprevsuspended_multiwrkr.sh \ + execonlywhenprevsuspended-queue.sh \ + execonlywhenprevsuspended-nonsusp.sh \ + execonlywhenprevsuspended-nonsusp-queue.sh \ + tabescape_dflt.sh \ + tabescape_dflt-udp.sh \ + tabescape_off.sh \ + tabescape_off-udp.sh \ + tabescape_on.sh \ + dircreate_dflt.sh \ + dircreate_off.sh \ + imuxsock_legacy.sh \ + imuxsock_logger_parserchain.sh \ + imuxsock_logger.sh \ + imuxsock_logger_ratelimit.sh \ + imuxsock_logger_ruleset.sh \ + imuxsock_logger_ruleset_ratelimit.sh \ + imuxsock_logger_err.sh \ + imuxsock_logger_root.sh \ + imuxsock_logger_syssock.sh \ + imuxsock_traillf.sh \ + imuxsock_traillf_root.sh \ + imuxsock_traillf_syssock.sh \ + imuxsock_ccmiddle.sh \ + imuxsock_ccmiddle_root.sh \ + imklog_permitnonkernelfacility_root.sh \ + imuxsock_ccmiddle_syssock.sh \ + imuxsock_hostname.sh \ + testsuites/mysql-truncate.sql \ + testsuites/mysql-select-msg.sql \ + libdbi-basic.sh \ + libdbi-asyn.sh \ + mysqld-start.sh \ + mysqld-stop.sh \ + mysql-basic.sh \ + mysql-basic-cnf6.sh \ + mysql-basic-vg.sh \ + mysql-asyn.sh \ + mysql-asyn-vg.sh \ + mysql-actq-mt.sh \ + mysql-actq-mt-withpause.sh \ + mysql-actq-mt-withpause-vg.sh \ + kafka-selftest.sh \ + omkafka.sh \ + omkafkadynakey.sh \ + omkafka-vg.sh \ + imkafka-hang-on-no-kafka.sh \ + imkafka-hang-other-action-on-no-kafka.sh \ + imkafka-backgrounded.sh \ + imkafka-config-err-ruleset.sh \ + imkafka-config-err-param.sh \ + imkafka.sh \ + imkafka-vg.sh \ + imkafka_multi_single.sh \ + imkafka_multi_group.sh \ + sndrcv_kafka.sh \ + sndrcv_kafka_multi_topics.sh \ + testsuites/kafka-server.properties \ + testsuites/kafka-server.dep_wrk1.properties \ + testsuites/kafka-server.dep_wrk2.properties \ + testsuites/kafka-server.dep_wrk3.properties \ + testsuites/zoo.cfg \ + testsuites/zoo.dep_wrk1.cfg \ + testsuites/zoo.dep_wrk2.cfg \ + testsuites/zoo.dep_wrk3.cfg \ + omazureeventhubs-basic.sh \ + omazureeventhubs-list.sh \ + omazureeventhubs-stress.sh \ + omazureeventhubs-interrupt.sh \ + omazureeventhubs-basic-vg.sh \ + omazureeventhubs-interrupt-vg.sh \ + mmpstrucdata.sh \ + mmpstrucdata-escaping.sh \ + mmpstrucdata-case.sh \ + mmpstrucdata-vg.sh \ + mmpstrucdata-invalid-vg.sh \ + libdbi-basic-vg.sh \ + dynstats_ctr_reset.sh \ + dynstats_reset_without_pstats_reset.sh \ + dynstats_nometric.sh \ + dynstats_overflow.sh \ + dynstats_overflow-vg.sh \ + dynstats_reset.sh \ + dynstats_reset-vg.sh \ + impstats-hup.sh \ + dynstats.sh \ + dynstats-vg.sh \ + dynstats_prevent_premature_eviction.sh \ + dynstats_prevent_premature_eviction-vg.sh \ + testsuites/dynstats_empty_input \ + testsuites/dynstats_input \ + testsuites/dynstats_input_1 \ + testsuites/dynstats_input_2 \ + testsuites/dynstats_input_3 \ + testsuites/dynstats_input_more_0 \ + testsuites/dynstats_input_more_1 \ + testsuites/dynstats_input_more_2 \ + no-dynstats-json.sh \ + no-dynstats.sh \ + omfwd_impstats-udp.sh \ + omfwd_impstats-tcp.sh \ + perctile-simple.sh \ + perctile-simple-vg.sh \ + stats-json.sh \ + stats-json-vg.sh \ + stats-cee.sh \ + stats-cee-vg.sh \ + stats-json-es.sh \ + dynstats-json.sh \ + dynstats-json-vg.sh \ + mmnormalize_variable.sh \ + mmnormalize_tokenized.sh \ + testsuites/mmnormalize_variable.rulebase \ + testsuites/date_time_msg \ + testsuites/mmnormalize_tokenized.rulebase \ + testsuites/tokenized_input \ + rscript_random.sh \ + rscript_hash32.sh \ + rscript_hash32-vg.sh \ + rscript_hash64.sh \ + rscript_hash64-vg.sh \ + rscript_replace.sh \ + rscript_replace_complex.sh \ + testsuites/complex_replace_input \ + rscript_unaffected_reset.sh \ + rscript_wrap2.sh \ + rscript_wrap3.sh \ + testsuites/wrap3_input\ + json_array_subscripting.sh \ + testsuites/json_array_input \ + testsuites/json_object_input \ + testsuites/json_nonarray_input \ + json_array_looping.sh \ + json_object_looping.sh \ + json_object_looping-vg.sh \ + json_array_looping-vg.sh \ + json_object_suicide_in_loop-vg.sh \ + json_nonarray_looping.sh \ + json_null.sh \ + json_null-vg.sh \ + json_null_array.sh \ + json_null_array-vg.sh \ + mmjsonparse_extra_data-vg.sh \ + mmnormalize_regex.sh \ + testsuites/mmnormalize_regex.rulebase \ + testsuites/regex_input \ + mmnormalize_regex_disabled.sh \ + mmnormalize_regex_defaulted.sh \ + stop_when_array_has_element.sh \ + testsuites/stop_when_array_has_elem_input \ + key_dereference_on_uninitialized_variable_space.sh \ + rscript_re_extract_i.sh \ + rscript_re_extract.sh \ + rscript_re_match_i.sh \ + rscript_re_match.sh \ + rscript_re_match-dbl_quotes.sh \ + lookup_table.sh \ + lookup_table-hup-backgrounded.sh \ + lookup_table_no_hup_reload.sh \ + lookup_table_no_hup_reload-vg.sh \ + lookup_table_rscript_reload.sh \ + lookup_table_rscript_reload_without_stub.sh \ + lookup_table_rscript_reload-vg.sh \ + lookup_table_rscript_reload_without_stub-vg.sh \ + rscript_trim-vg.sh \ + testsuites/xlate.lkp_tbl \ + testsuites/xlate_more.lkp_tbl \ + unused_lookup_table-vg.sh \ + lookup_table-vg.sh \ + array_lookup_table.sh \ + array_lookup_table-vg.sh \ + array_lookup_table_misuse-vg.sh \ + multiple_lookup_tables.sh \ + multiple_lookup_tables-vg.sh \ + testsuites/xlate_array.lkp_tbl \ + testsuites/xlate_array_more.lkp_tbl \ + testsuites/xlate_array_misuse.lkp_tbl \ + testsuites/xlate_array_more_misuse.lkp_tbl \ + sparse_array_lookup_table.sh \ + sparse_array_lookup_table-vg.sh \ + testsuites/xlate_sparse_array.lkp_tbl \ + testsuites/xlate_sparse_array_more.lkp_tbl \ + lookup_table_bad_configs.sh \ + lookup_table_bad_configs-vg.sh \ + testsuites/xlate_array_empty_table.lkp_tbl \ + testsuites/xlate_array_no_index.lkp_tbl \ + testsuites/xlate_array_no_table.lkp_tbl \ + testsuites/xlate_array_no_value.lkp_tbl \ + testsuites/xlate_empty_file.lkp_tbl \ + testsuites/xlate_incorrect_type.lkp_tbl \ + testsuites/xlate_incorrect_version.lkp_tbl \ + testsuites/xlate_sparseArray_empty_table.lkp_tbl \ + testsuites/xlate_sparseArray_no_index.lkp_tbl \ + testsuites/xlate_sparseArray_no_table.lkp_tbl \ + testsuites/xlate_sparseArray_no_value.lkp_tbl \ + testsuites/xlate_string_empty_table.lkp_tbl \ + testsuites/xlate_string_no_index.lkp_tbl \ + testsuites/xlate_string_no_table.lkp_tbl \ + testsuites/xlate_string_no_value.lkp_tbl \ + testsuites/xlate_invalid_json.lkp_tbl \ + testsuites/xlate_array_more_with_duplicates_and_nomatch.lkp_tbl \ + testsuites/xlate_more_with_duplicates_and_nomatch.lkp_tbl \ + testsuites/xlate_sparse_array_more_with_duplicates_and_nomatch.lkp_tbl \ + json_var_cmpr.sh \ + imptcp_maxsessions.sh \ + imptcp_nonProcessingPoller.sh \ + imptcp_veryLargeOctateCountedMessages.sh \ + known_issues.supp \ + libmaxmindb.supp \ + travis/trusty.supp \ + linux_localtime_r.supp \ + CI/centos6-9.supp \ + CI/centos7.supp \ + CI/gcov.supp \ + CI/ubuntu20.04.supp \ + json_var_case.sh \ + cfg.sh \ + empty-prop-comparison.sh \ + sndrcv_tls_anon_rebind.sh \ + sndrcv_tls_anon_hostname.sh \ + sndrcv_tls_anon_ipv4.sh \ + sndrcv_tls_anon_ipv6.sh \ + sndrcv_tls_priorityString.sh \ + sndrcv_tls_certvalid.sh \ + sndrcv_tls_certvalid_action_level.sh \ + sndrcv_tls_certvalid_expired.sh \ + sndrcv_tls_certvalid_expired_defaultmode.sh \ + sndrcv_tls_certvalid_revoked.sh \ + sndrcv_tls_certless_clientonly.sh \ + sndrcv_tls_gtls_servercert_gtls_clientanon.sh \ + sndrcv_tls_gtls_servercert_gtls_clientanon_legacy.sh \ + sndrcv_tls_gtls_serveranon_gtls_clientanon.sh \ + sndrcv_tls_ossl_serveranon_ossl_clientanon.sh \ + sndrcv_tls_ossl_servercert_ossl_clientanon.sh \ + sndrcv_tls_ossl_servercert_gtls_clientanon.sh \ + sndrcv_tls_ossl_serveranon_gtls_clientanon.sh \ + sndrcv_tls_gtls_servercert_ossl_clientanon.sh \ + sndrcv_tls_gtls_serveranon_ossl_clientanon.sh \ + sndrcv_tls_client_missing_cert.sh \ + sndrcv_ossl_cert_chain.sh \ + omtcl.sh \ + omtcl.tcl \ + pmsnare-default.sh \ + pmsnare-default-udp.sh \ + pmsnare-ccoff.sh \ + pmsnare-ccoff-udp.sh \ + pmsnare-ccdefault.sh \ + pmsnare-ccdefault-udp.sh \ + pmsnare-cccstyle.sh \ + pmsnare-cccstyle-udp.sh \ + pmsnare-ccbackslash.sh \ + pmsnare-ccbackslash-udp.sh \ + pmsnare-modoverride.sh \ + pmsnare-modoverride-udp.sh \ + pmlastmsg.sh \ + pmlastmsg-udp.sh \ + pgsql-basic.sh \ + testsuites/pgsql-basic.sql \ + testsuites/pgsql-select-msg.sql \ + testsuites/pgsql-select-syslogtag.sql \ + pgsql-basic-cnf6.sh \ + pgsql-basic-threads-cnf6.sh \ + pgsql-template.sh \ + pgsql-template-cnf6.sh \ + pgsql-actq-mt-withpause.sh \ + pgsql-template-threads-cnf6.sh \ + pgsql-basic-vg.sh \ + pgsql-template-vg.sh \ + pgsql-basic-cnf6-vg.sh \ + pgsql-template-cnf6-vg.sh \ + pgsql-actq-mt-withpause-vg.sh \ + ../devtools/prep-mysql-db.sh \ + ../devtools/prepare_clickhouse.sh \ + mmkubernetes-basic.sh \ + mmkubernetes-basic-vg.sh \ + mmkubernetes_test_server.py \ + mmkubernetes-basic.out.json \ + mmkubernetes-cache-expire.sh \ + mmkubernetes-cache-expire-vg.sh \ + mmkubernetes-cache-expire.out.expected \ + mmkubernetes.supp \ + es-writeoperation.sh \ + imdocker-basic.sh \ + imdocker-basic-vg.sh \ + imdocker-long-logline.sh \ + imdocker-long-logline-vg.sh \ + imdocker-new-logs-from-start.sh \ + imdocker-new-logs-from-start-vg.sh \ + imdocker-multi-line.sh \ + imdocker-multi-line-vg.sh \ + testsuites/incltest.d/include.conf \ + testsuites/abort-uncleancfg-goodcfg.conf \ + testsuites/include-std-omfile-action.conf \ + testsuites/invalid.conf \ + testsuites/valid.conf \ + testsuites/variable_leading_underscore.conf \ + omamqp1-common.sh \ + omamqp1-basic.sh \ + omamqp1-basic-vg.sh + +ourtail_SOURCES = ourtail.c +msleep_SOURCES = msleep.c +omrelp_dflt_port_SOURCES = omrelp_dflt_port.c +mangle_qi_SOURCES = mangle_qi.c +chkseq_SOURCES = chkseq.c +check_relpEngineVersion = check_relpEngineVersion.c +have_relpSrvSetOversizeMode = have_relpSrvSetOversizeMode.c +have_relpEngineSetTLSLibByName = have_relpEngineSetTLSLibByName.c +have_relpSrvSetTlsConfigCmd = have_relpSrvSetTlsConfigCmd.c +test_id_SOURCES = test_id.c +uxsockrcvr_SOURCES = uxsockrcvr.c +uxsockrcvr_LDADD = $(SOL_LIBS) +tcpflood_SOURCES = tcpflood.c +tcpflood_CFLAGS = $(PTHREADS_CFLAGS) $(RELP_CFLAGS) $(am__append_127) \ + $(am__append_130) +tcpflood_CPPFLAGS = $(PTHREADS_CFLAGS) $(RELP_CFLAGS) \ + $(am__append_128) $(am__append_131) +tcpflood_LDADD = $(SOL_LIBS) $(PTHREADS_LIBS) $(RELP_LIBS) \ + $(am__append_129) $(am__append_132) +minitcpsrv_SOURCES = minitcpsrvr.c +minitcpsrv_LDADD = $(SOL_LIBS) +syslog_caller_SOURCES = syslog_caller.c +syslog_caller_CPPFLAGS = $(LIBLOGGING_STDLOG_CFLAGS) +syslog_caller_LDADD = $(SOL_LIBS) $(LIBLOGGING_STDLOG_LIBS) +journal_print_SOURCES = journal_print.c +journal_print_CPPFLAGS = $(LIBSYSTEMD_JOURNAL_CFLAGS) +journal_print_LDADD = $(LIBSYSTEMD_JOURNAL_LIBS) +diagtalker_SOURCES = diagtalker.c +diagtalker_LDADD = $(SOL_LIBS) +randomgen_SOURCES = randomgen.c +randomgen_LDADD = $(SOL_LIBS) +inputfilegen_SOURCES = inputfilegen.c +inputfilegen_LDADD = $(SOL_LIBS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .log .o .obj .sh .sh$(EXEEXT) .trs +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +set-envvars: $(top_builddir)/config.status $(srcdir)/set-envvars.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ + } + +uninstall-pkglibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ + done + +clean-pkglibLTLIBRARIES: + -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) + @list='$(pkglib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +liboverride_getaddrinfo.la: $(liboverride_getaddrinfo_la_OBJECTS) $(liboverride_getaddrinfo_la_DEPENDENCIES) $(EXTRA_liboverride_getaddrinfo_la_DEPENDENCIES) + $(AM_V_CCLD)$(liboverride_getaddrinfo_la_LINK) $(am_liboverride_getaddrinfo_la_rpath) $(liboverride_getaddrinfo_la_OBJECTS) $(liboverride_getaddrinfo_la_LIBADD) $(LIBS) + +liboverride_gethostname.la: $(liboverride_gethostname_la_OBJECTS) $(liboverride_gethostname_la_DEPENDENCIES) $(EXTRA_liboverride_gethostname_la_DEPENDENCIES) + $(AM_V_CCLD)$(liboverride_gethostname_la_LINK) $(am_liboverride_gethostname_la_rpath) $(liboverride_gethostname_la_OBJECTS) $(liboverride_gethostname_la_LIBADD) $(LIBS) + +liboverride_gethostname_nonfqdn.la: $(liboverride_gethostname_nonfqdn_la_OBJECTS) $(liboverride_gethostname_nonfqdn_la_DEPENDENCIES) $(EXTRA_liboverride_gethostname_nonfqdn_la_DEPENDENCIES) + $(AM_V_CCLD)$(liboverride_gethostname_nonfqdn_la_LINK) $(am_liboverride_gethostname_nonfqdn_la_rpath) $(liboverride_gethostname_nonfqdn_la_OBJECTS) $(liboverride_gethostname_nonfqdn_la_LIBADD) $(LIBS) + +check_relpEngineVersion$(EXEEXT): $(check_relpEngineVersion_OBJECTS) $(check_relpEngineVersion_DEPENDENCIES) $(EXTRA_check_relpEngineVersion_DEPENDENCIES) + @rm -f check_relpEngineVersion$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(check_relpEngineVersion_OBJECTS) $(check_relpEngineVersion_LDADD) $(LIBS) + +chkseq$(EXEEXT): $(chkseq_OBJECTS) $(chkseq_DEPENDENCIES) $(EXTRA_chkseq_DEPENDENCIES) + @rm -f chkseq$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(chkseq_OBJECTS) $(chkseq_LDADD) $(LIBS) + +diagtalker$(EXEEXT): $(diagtalker_OBJECTS) $(diagtalker_DEPENDENCIES) $(EXTRA_diagtalker_DEPENDENCIES) + @rm -f diagtalker$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(diagtalker_OBJECTS) $(diagtalker_LDADD) $(LIBS) + +have_relpEngineSetTLSLibByName$(EXEEXT): $(have_relpEngineSetTLSLibByName_OBJECTS) $(have_relpEngineSetTLSLibByName_DEPENDENCIES) $(EXTRA_have_relpEngineSetTLSLibByName_DEPENDENCIES) + @rm -f have_relpEngineSetTLSLibByName$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(have_relpEngineSetTLSLibByName_OBJECTS) $(have_relpEngineSetTLSLibByName_LDADD) $(LIBS) + +have_relpSrvSetOversizeMode$(EXEEXT): $(have_relpSrvSetOversizeMode_OBJECTS) $(have_relpSrvSetOversizeMode_DEPENDENCIES) $(EXTRA_have_relpSrvSetOversizeMode_DEPENDENCIES) + @rm -f have_relpSrvSetOversizeMode$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(have_relpSrvSetOversizeMode_OBJECTS) $(have_relpSrvSetOversizeMode_LDADD) $(LIBS) + +have_relpSrvSetTlsConfigCmd$(EXEEXT): $(have_relpSrvSetTlsConfigCmd_OBJECTS) $(have_relpSrvSetTlsConfigCmd_DEPENDENCIES) $(EXTRA_have_relpSrvSetTlsConfigCmd_DEPENDENCIES) + @rm -f have_relpSrvSetTlsConfigCmd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(have_relpSrvSetTlsConfigCmd_OBJECTS) $(have_relpSrvSetTlsConfigCmd_LDADD) $(LIBS) + +inputfilegen$(EXEEXT): $(inputfilegen_OBJECTS) $(inputfilegen_DEPENDENCIES) $(EXTRA_inputfilegen_DEPENDENCIES) + @rm -f inputfilegen$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(inputfilegen_OBJECTS) $(inputfilegen_LDADD) $(LIBS) + +journal_print$(EXEEXT): $(journal_print_OBJECTS) $(journal_print_DEPENDENCIES) $(EXTRA_journal_print_DEPENDENCIES) + @rm -f journal_print$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(journal_print_OBJECTS) $(journal_print_LDADD) $(LIBS) + +mangle_qi$(EXEEXT): $(mangle_qi_OBJECTS) $(mangle_qi_DEPENDENCIES) $(EXTRA_mangle_qi_DEPENDENCIES) + @rm -f mangle_qi$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(mangle_qi_OBJECTS) $(mangle_qi_LDADD) $(LIBS) + +miniamqpsrvr$(EXEEXT): $(miniamqpsrvr_OBJECTS) $(miniamqpsrvr_DEPENDENCIES) $(EXTRA_miniamqpsrvr_DEPENDENCIES) + @rm -f miniamqpsrvr$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(miniamqpsrvr_OBJECTS) $(miniamqpsrvr_LDADD) $(LIBS) + +minitcpsrv$(EXEEXT): $(minitcpsrv_OBJECTS) $(minitcpsrv_DEPENDENCIES) $(EXTRA_minitcpsrv_DEPENDENCIES) + @rm -f minitcpsrv$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(minitcpsrv_OBJECTS) $(minitcpsrv_LDADD) $(LIBS) + +msleep$(EXEEXT): $(msleep_OBJECTS) $(msleep_DEPENDENCIES) $(EXTRA_msleep_DEPENDENCIES) + @rm -f msleep$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(msleep_OBJECTS) $(msleep_LDADD) $(LIBS) + +omrelp_dflt_port$(EXEEXT): $(omrelp_dflt_port_OBJECTS) $(omrelp_dflt_port_DEPENDENCIES) $(EXTRA_omrelp_dflt_port_DEPENDENCIES) + @rm -f omrelp_dflt_port$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(omrelp_dflt_port_OBJECTS) $(omrelp_dflt_port_LDADD) $(LIBS) + +ourtail$(EXEEXT): $(ourtail_OBJECTS) $(ourtail_DEPENDENCIES) $(EXTRA_ourtail_DEPENDENCIES) + @rm -f ourtail$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ourtail_OBJECTS) $(ourtail_LDADD) $(LIBS) + +randomgen$(EXEEXT): $(randomgen_OBJECTS) $(randomgen_DEPENDENCIES) $(EXTRA_randomgen_DEPENDENCIES) + @rm -f randomgen$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(randomgen_OBJECTS) $(randomgen_LDADD) $(LIBS) + +syslog_caller$(EXEEXT): $(syslog_caller_OBJECTS) $(syslog_caller_DEPENDENCIES) $(EXTRA_syslog_caller_DEPENDENCIES) + @rm -f syslog_caller$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(syslog_caller_OBJECTS) $(syslog_caller_LDADD) $(LIBS) + +tcpflood$(EXEEXT): $(tcpflood_OBJECTS) $(tcpflood_DEPENDENCIES) $(EXTRA_tcpflood_DEPENDENCIES) + @rm -f tcpflood$(EXEEXT) + $(AM_V_CCLD)$(tcpflood_LINK) $(tcpflood_OBJECTS) $(tcpflood_LDADD) $(LIBS) + +test_id$(EXEEXT): $(test_id_OBJECTS) $(test_id_DEPENDENCIES) $(EXTRA_test_id_DEPENDENCIES) + @rm -f test_id$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_id_OBJECTS) $(test_id_LDADD) $(LIBS) + +uxsockrcvr$(EXEEXT): $(uxsockrcvr_OBJECTS) $(uxsockrcvr_DEPENDENCIES) $(EXTRA_uxsockrcvr_DEPENDENCIES) + @rm -f uxsockrcvr$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(uxsockrcvr_OBJECTS) $(uxsockrcvr_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_relpEngineVersion.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkseq.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diagtalker.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/have_relpEngineSetTLSLibByName.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/have_relpSrvSetOversizeMode.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/have_relpSrvSetTlsConfigCmd.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inputfilegen.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/journal_print-journal_print.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liboverride_getaddrinfo_la-override_getaddrinfo.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liboverride_gethostname_la-override_gethostname.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mangle_qi.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minitcpsrvr.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msleep.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/omrelp_dflt_port.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ourtail.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/randomgen.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog_caller-syslog_caller.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcpflood-tcpflood.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_id.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uxsockrcvr.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +liboverride_getaddrinfo_la-override_getaddrinfo.lo: override_getaddrinfo.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liboverride_getaddrinfo_la_CFLAGS) $(CFLAGS) -MT liboverride_getaddrinfo_la-override_getaddrinfo.lo -MD -MP -MF $(DEPDIR)/liboverride_getaddrinfo_la-override_getaddrinfo.Tpo -c -o liboverride_getaddrinfo_la-override_getaddrinfo.lo `test -f 'override_getaddrinfo.c' || echo '$(srcdir)/'`override_getaddrinfo.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liboverride_getaddrinfo_la-override_getaddrinfo.Tpo $(DEPDIR)/liboverride_getaddrinfo_la-override_getaddrinfo.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='override_getaddrinfo.c' object='liboverride_getaddrinfo_la-override_getaddrinfo.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liboverride_getaddrinfo_la_CFLAGS) $(CFLAGS) -c -o liboverride_getaddrinfo_la-override_getaddrinfo.lo `test -f 'override_getaddrinfo.c' || echo '$(srcdir)/'`override_getaddrinfo.c + +liboverride_gethostname_la-override_gethostname.lo: override_gethostname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liboverride_gethostname_la_CFLAGS) $(CFLAGS) -MT liboverride_gethostname_la-override_gethostname.lo -MD -MP -MF $(DEPDIR)/liboverride_gethostname_la-override_gethostname.Tpo -c -o liboverride_gethostname_la-override_gethostname.lo `test -f 'override_gethostname.c' || echo '$(srcdir)/'`override_gethostname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liboverride_gethostname_la-override_gethostname.Tpo $(DEPDIR)/liboverride_gethostname_la-override_gethostname.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='override_gethostname.c' object='liboverride_gethostname_la-override_gethostname.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liboverride_gethostname_la_CFLAGS) $(CFLAGS) -c -o liboverride_gethostname_la-override_gethostname.lo `test -f 'override_gethostname.c' || echo '$(srcdir)/'`override_gethostname.c + +liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.lo: override_gethostname_nonfqdn.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liboverride_gethostname_nonfqdn_la_CFLAGS) $(CFLAGS) -MT liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.lo -MD -MP -MF $(DEPDIR)/liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.Tpo -c -o liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.lo `test -f 'override_gethostname_nonfqdn.c' || echo '$(srcdir)/'`override_gethostname_nonfqdn.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.Tpo $(DEPDIR)/liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='override_gethostname_nonfqdn.c' object='liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liboverride_gethostname_nonfqdn_la_CFLAGS) $(CFLAGS) -c -o liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.lo `test -f 'override_gethostname_nonfqdn.c' || echo '$(srcdir)/'`override_gethostname_nonfqdn.c + +journal_print-journal_print.o: journal_print.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(journal_print_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT journal_print-journal_print.o -MD -MP -MF $(DEPDIR)/journal_print-journal_print.Tpo -c -o journal_print-journal_print.o `test -f 'journal_print.c' || echo '$(srcdir)/'`journal_print.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/journal_print-journal_print.Tpo $(DEPDIR)/journal_print-journal_print.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='journal_print.c' object='journal_print-journal_print.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(journal_print_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o journal_print-journal_print.o `test -f 'journal_print.c' || echo '$(srcdir)/'`journal_print.c + +journal_print-journal_print.obj: journal_print.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(journal_print_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT journal_print-journal_print.obj -MD -MP -MF $(DEPDIR)/journal_print-journal_print.Tpo -c -o journal_print-journal_print.obj `if test -f 'journal_print.c'; then $(CYGPATH_W) 'journal_print.c'; else $(CYGPATH_W) '$(srcdir)/journal_print.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/journal_print-journal_print.Tpo $(DEPDIR)/journal_print-journal_print.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='journal_print.c' object='journal_print-journal_print.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(journal_print_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o journal_print-journal_print.obj `if test -f 'journal_print.c'; then $(CYGPATH_W) 'journal_print.c'; else $(CYGPATH_W) '$(srcdir)/journal_print.c'; fi` + +miniamqpsrvr-miniamqpsrvr.o: miniamqpsrvr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(miniamqpsrvr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT miniamqpsrvr-miniamqpsrvr.o -MD -MP -MF $(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Tpo -c -o miniamqpsrvr-miniamqpsrvr.o `test -f 'miniamqpsrvr.c' || echo '$(srcdir)/'`miniamqpsrvr.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Tpo $(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='miniamqpsrvr.c' object='miniamqpsrvr-miniamqpsrvr.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(miniamqpsrvr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o miniamqpsrvr-miniamqpsrvr.o `test -f 'miniamqpsrvr.c' || echo '$(srcdir)/'`miniamqpsrvr.c + +miniamqpsrvr-miniamqpsrvr.obj: miniamqpsrvr.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(miniamqpsrvr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT miniamqpsrvr-miniamqpsrvr.obj -MD -MP -MF $(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Tpo -c -o miniamqpsrvr-miniamqpsrvr.obj `if test -f 'miniamqpsrvr.c'; then $(CYGPATH_W) 'miniamqpsrvr.c'; else $(CYGPATH_W) '$(srcdir)/miniamqpsrvr.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Tpo $(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='miniamqpsrvr.c' object='miniamqpsrvr-miniamqpsrvr.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(miniamqpsrvr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o miniamqpsrvr-miniamqpsrvr.obj `if test -f 'miniamqpsrvr.c'; then $(CYGPATH_W) 'miniamqpsrvr.c'; else $(CYGPATH_W) '$(srcdir)/miniamqpsrvr.c'; fi` + +syslog_caller-syslog_caller.o: syslog_caller.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(syslog_caller_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syslog_caller-syslog_caller.o -MD -MP -MF $(DEPDIR)/syslog_caller-syslog_caller.Tpo -c -o syslog_caller-syslog_caller.o `test -f 'syslog_caller.c' || echo '$(srcdir)/'`syslog_caller.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/syslog_caller-syslog_caller.Tpo $(DEPDIR)/syslog_caller-syslog_caller.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='syslog_caller.c' object='syslog_caller-syslog_caller.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(syslog_caller_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syslog_caller-syslog_caller.o `test -f 'syslog_caller.c' || echo '$(srcdir)/'`syslog_caller.c + +syslog_caller-syslog_caller.obj: syslog_caller.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(syslog_caller_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT syslog_caller-syslog_caller.obj -MD -MP -MF $(DEPDIR)/syslog_caller-syslog_caller.Tpo -c -o syslog_caller-syslog_caller.obj `if test -f 'syslog_caller.c'; then $(CYGPATH_W) 'syslog_caller.c'; else $(CYGPATH_W) '$(srcdir)/syslog_caller.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/syslog_caller-syslog_caller.Tpo $(DEPDIR)/syslog_caller-syslog_caller.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='syslog_caller.c' object='syslog_caller-syslog_caller.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(syslog_caller_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o syslog_caller-syslog_caller.obj `if test -f 'syslog_caller.c'; then $(CYGPATH_W) 'syslog_caller.c'; else $(CYGPATH_W) '$(srcdir)/syslog_caller.c'; fi` + +tcpflood-tcpflood.o: tcpflood.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tcpflood_CPPFLAGS) $(CPPFLAGS) $(tcpflood_CFLAGS) $(CFLAGS) -MT tcpflood-tcpflood.o -MD -MP -MF $(DEPDIR)/tcpflood-tcpflood.Tpo -c -o tcpflood-tcpflood.o `test -f 'tcpflood.c' || echo '$(srcdir)/'`tcpflood.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/tcpflood-tcpflood.Tpo $(DEPDIR)/tcpflood-tcpflood.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tcpflood.c' object='tcpflood-tcpflood.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tcpflood_CPPFLAGS) $(CPPFLAGS) $(tcpflood_CFLAGS) $(CFLAGS) -c -o tcpflood-tcpflood.o `test -f 'tcpflood.c' || echo '$(srcdir)/'`tcpflood.c + +tcpflood-tcpflood.obj: tcpflood.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tcpflood_CPPFLAGS) $(CPPFLAGS) $(tcpflood_CFLAGS) $(CFLAGS) -MT tcpflood-tcpflood.obj -MD -MP -MF $(DEPDIR)/tcpflood-tcpflood.Tpo -c -o tcpflood-tcpflood.obj `if test -f 'tcpflood.c'; then $(CYGPATH_W) 'tcpflood.c'; else $(CYGPATH_W) '$(srcdir)/tcpflood.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/tcpflood-tcpflood.Tpo $(DEPDIR)/tcpflood-tcpflood.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tcpflood.c' object='tcpflood-tcpflood.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(tcpflood_CPPFLAGS) $(CPPFLAGS) $(tcpflood_CFLAGS) $(CFLAGS) -c -o tcpflood-tcpflood.obj `if test -f 'tcpflood.c'; then $(CYGPATH_W) 'tcpflood.c'; else $(CYGPATH_W) '$(srcdir)/tcpflood.c'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + elif test -n "$$redo_logs"; then \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: $(check_PROGRAMS) + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all $(check_PROGRAMS) + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +.sh.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(SH_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +@am__EXEEXT_TRUE@.sh$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; \ +@am__EXEEXT_TRUE@ $(am__set_b); \ +@am__EXEEXT_TRUE@ $(am__check_pre) $(SH_LOG_DRIVER) --test-name "$$f" \ +@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ +@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_SH_LOG_DRIVER_FLAGS) $(SH_LOG_DRIVER_FLAGS) -- $(SH_LOG_COMPILE) \ +@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(pkglibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ + clean-pkglibLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/check_relpEngineVersion.Po + -rm -f ./$(DEPDIR)/chkseq.Po + -rm -f ./$(DEPDIR)/diagtalker.Po + -rm -f ./$(DEPDIR)/have_relpEngineSetTLSLibByName.Po + -rm -f ./$(DEPDIR)/have_relpSrvSetOversizeMode.Po + -rm -f ./$(DEPDIR)/have_relpSrvSetTlsConfigCmd.Po + -rm -f ./$(DEPDIR)/inputfilegen.Po + -rm -f ./$(DEPDIR)/journal_print-journal_print.Po + -rm -f ./$(DEPDIR)/liboverride_getaddrinfo_la-override_getaddrinfo.Plo + -rm -f ./$(DEPDIR)/liboverride_gethostname_la-override_gethostname.Plo + -rm -f ./$(DEPDIR)/liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.Plo + -rm -f ./$(DEPDIR)/mangle_qi.Po + -rm -f ./$(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Po + -rm -f ./$(DEPDIR)/minitcpsrvr.Po + -rm -f ./$(DEPDIR)/msleep.Po + -rm -f ./$(DEPDIR)/omrelp_dflt_port.Po + -rm -f ./$(DEPDIR)/ourtail.Po + -rm -f ./$(DEPDIR)/randomgen.Po + -rm -f ./$(DEPDIR)/syslog_caller-syslog_caller.Po + -rm -f ./$(DEPDIR)/tcpflood-tcpflood.Po + -rm -f ./$(DEPDIR)/test_id.Po + -rm -f ./$(DEPDIR)/uxsockrcvr.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-pkglibLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/check_relpEngineVersion.Po + -rm -f ./$(DEPDIR)/chkseq.Po + -rm -f ./$(DEPDIR)/diagtalker.Po + -rm -f ./$(DEPDIR)/have_relpEngineSetTLSLibByName.Po + -rm -f ./$(DEPDIR)/have_relpSrvSetOversizeMode.Po + -rm -f ./$(DEPDIR)/have_relpSrvSetTlsConfigCmd.Po + -rm -f ./$(DEPDIR)/inputfilegen.Po + -rm -f ./$(DEPDIR)/journal_print-journal_print.Po + -rm -f ./$(DEPDIR)/liboverride_getaddrinfo_la-override_getaddrinfo.Plo + -rm -f ./$(DEPDIR)/liboverride_gethostname_la-override_gethostname.Plo + -rm -f ./$(DEPDIR)/liboverride_gethostname_nonfqdn_la-override_gethostname_nonfqdn.Plo + -rm -f ./$(DEPDIR)/mangle_qi.Po + -rm -f ./$(DEPDIR)/miniamqpsrvr-miniamqpsrvr.Po + -rm -f ./$(DEPDIR)/minitcpsrvr.Po + -rm -f ./$(DEPDIR)/msleep.Po + -rm -f ./$(DEPDIR)/omrelp_dflt_port.Po + -rm -f ./$(DEPDIR)/ourtail.Po + -rm -f ./$(DEPDIR)/randomgen.Po + -rm -f ./$(DEPDIR)/syslog_caller-syslog_caller.Po + -rm -f ./$(DEPDIR)/tcpflood-tcpflood.Po + -rm -f ./$(DEPDIR)/test_id.Po + -rm -f ./$(DEPDIR)/uxsockrcvr.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-pkglibLTLIBRARIES + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ + check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ + clean-pkglibLTLIBRARIES cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-local distclean-tags distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am \ + install-pkglibLTLIBRARIES install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am recheck tags tags-am uninstall \ + uninstall-am uninstall-pkglibLTLIBRARIES + +.PRECIOUS: Makefile + +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@es-basic-es7.14.log: es-basic-es6.0.log +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@es-basic.log: es-basic-es7.14.log +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@es-basic-bulk.log: es-basic.log +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@es-basic-server.log: es-basic-bulk.log +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@elasticsearch-stop.log: es-basic-bulk.log +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@es-basic-vg.log: es-basic-bulk.log +# for next if block: +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@es-basic-server.log: es-basic-vg.log +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@elasticsearch-stop.log: es-basic-vg.log +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_HELGRIND_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@es-basic-vgthread.log: es-basic-vg.log +# for next if block: +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_HELGRIND_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@es-basic-server.log: es-basic-vgthread.log +@ENABLE_ELASTICSEARCH_TESTS_MINIMAL_TRUE@@ENABLE_HELGRIND_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@elasticsearch-stop.log: es-basic-vgthread.log + +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@es-basic-server.log: es-basic-bulk.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@es-execOnlyWhenPreviousSuspended.log: es-basic-server.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@es-maxbytes-bulk.log: es-execOnlyWhenPreviousSuspended.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@es-basic-errfile-empty.log: es-maxbytes-bulk.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@es-basic-errfile-popul.log: es-basic-errfile-empty.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@es-bulk-errfile-empty.log: es-basic-errfile-popul.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@es-bulk-errfile-popul.log: es-bulk-errfile-empty.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@es-searchType-empty.log: es-bulk-errfile-popul.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@diskqueue-multithread-es.log: es-searchType-empty.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@es-writeoperation.log: diskqueue-multithread-es.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@elasticsearch-stop.log: es-writeoperation.log + +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@es-basic-ha.log: es-writeoperation.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@es-bulk-retry.log: es-basic-ha.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMPSTATS_TRUE@@ENABLE_TESTBENCH_TRUE@elasticsearch-stop.log: es-bulk-retry.log + +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@es-bulk-errfile-popul-def-format.log: es-bulk-retry.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@es-bulk-errfile-popul-erronly.log: es-bulk-errfile-popul-def-format.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@es-bulk-errfile-popul-erronly-interleaved.log: es-bulk-errfile-popul-erronly.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@es-bulk-errfile-popul-def-interleaved.log: es-bulk-errfile-popul-erronly-interleaved.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_IMFILE_TRUE@@ENABLE_TESTBENCH_TRUE@elasticsearch-stop.log: es-bulk-errfile-popul-def-interleaved.log + +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@es-basic-bulk-vg.log: es-writeoperation.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@es-basic-bulk-vg.log: es-bulk-retry.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@es-basic-bulk-vg.log: es-bulk-errfile-popul-def-interleaved.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@es-basic-ha-vg.log: es-basic-bulk-vg.log +@ENABLE_ELASTICSEARCH_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@elasticsearch-stop.log: es-basic-ha-vg.log + +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-basic.log: clickhouse-start.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-dflt-tpl.log: clickhouse-basic.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-retry-error.log: clickhouse-dflt-tpl.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-load.log: clickhouse-retry-error.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-bulk.log: clickhouse-load.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-bulk-load.log: clickhouse-bulk.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-limited-batch.log: clickhouse-bulk-load.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-select.log: clickhouse-limited-batch.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-errorfile.log: clickhouse-select.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-wrong-quotation-marks.log: clickhouse-errorfile.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-wrong-template-option.log: clickhouse-wrong-quotation-marks.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-wrong-insert-syntax.log: clickhouse-wrong-template-option.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@clickhouse-stop.log: clickhouse-wrong-insert-syntax.log + +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@clickhouse-basic-vg.log: clickhouse-wrong-insert-syntax.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@clickhouse-load-vg.log: clickhouse-basic-vg.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@clickhouse-bulk-vg.log: clickhouse-load-vg.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@clickhouse-bulk-load-vg.log: clickhouse-bulk-vg.log +@ENABLE_CLICKHOUSE_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@clickhouse-stop.log: clickhouse-bulk-load-vg.log + +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@pgsql-basic-cnf6.log: pgsql-basic.log +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@pgsql-basic-threads-cnf6.log: pgsql-basic-cnf6.log +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@pgsql-template.log: pgsql-basic-threads-cnf6.log +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@pgsql-template-cnf6.log: pgsql-template.log +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@pgsql-actq-mt-withpause.log: pgsql-template-cnf6.log +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@pgsql-template-threads-cnf6.log: pgsql-actq-mt-withpause.log + +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@pgsql-basic-vg.log: pgsql-template-threads-cnf6.log +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@pgsql-template-vg.log: pgsql-basic-vg.log +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@pgsql-basic-cnf6-vg.log: pgsql-template-vg.log +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@pgsql-template-cnf6-vg.log: pgsql-basic-cnf6-vg.log +@ENABLE_PGSQL_TESTS_TRUE@@ENABLE_PGSQL_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@pgsql-actq-mt-withpause-vg.log: pgsql-template-cnf6-vg.log + +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@mysql-basic.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@mysql-basic-cnf6.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@mysql-asyn.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@mysql-actq-mt.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@mysql-actq-mt-withpause.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@action-tx-single-processing.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@action-tx-errfile.log: mysqld-start.log + +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@mysqld-stop.log: mysql-basic.log \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysql-basic-cnf6.log \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysql-asyn.log \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysql-actq-mt.log \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ mysql-actq-mt-withpause.log \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ action-tx-single-processing.log \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@ action-tx-errfile.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@mysql-basic-vg.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@mysql-asyn-vg.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@mysql-actq-mt-withpause-vg.log: mysqld-start.log + +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@mysqld-stop.log: mysql-basic-vg.log \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mysql-asyn-vg.log \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@ mysql-actq-mt-withpause-vg.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@libdbi-basic.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@libdbi-asyn.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@mysqld-stop.log: libdbi-basic.log \ +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@ libdbi-asyn.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@libdbi-basic-vg.log: mysqld-start.log +@ENABLE_MYSQL_TESTS_TRUE@@ENABLE_OMLIBDBI_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@mysqld-stop.log: libdbi-basic-vg.log +# Tests below need to be stable first! +# sndrcv_kafka_fail.sh \ +# sndrcv_kafka_failresume.sh \ +# needs properly to much mempory on arm devices! +# sndrcv_kafka_multi.sh +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@omkafka.log: kafka-selftest.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@imkafka.log: omkafka.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@imkafka-backgrounded.log: imkafka.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@imkafka-config-err-ruleset.log: imkafka-backgrounded.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@imkafka-config-err-param.log: imkafka-config-err-ruleset.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@imkafka-hang-on-no-kafka.log: imkafka-config-err-param.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@imkafka-hang-other-action-on-no-kafka.log: imkafka-hang-on-no-kafka.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@imkafka_multi_single.log: imkafka-hang-other-action-on-no-kafka.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@sndrcv_kafka.log: imkafka_multi_single.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@imkafka_multi_group.log: sndrcv_kafka.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@sndrcv_kafka_multi_topics.log: imkafka_multi_group.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@omkafkadynakey.log: sndrcv_kafka_multi_topics.log + +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@omkafka-vg.log: sndrcv_kafka_multi_topics.log +@ENABLE_IMKAFKA_TRUE@@ENABLE_KAFKA_TESTS_TRUE@@ENABLE_OMKAFKA_TRUE@@ENABLE_TESTBENCH_TRUE@@HAVE_VALGRIND_TRUE@imkafka-vg.log: omkafka-vg.log + +distclean-local: + rm -rf .dep_cache .dep_wrk + +# rtinit tests disabled for the moment - also questionable if they +# really provide value (after all, everything fails if rtinit fails...) +#rt_init_SOURCES = rt-init.c $(test_files) +#rt_init_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) +#rt_init_LDADD = $(RSRT_LIBS) $(ZLIB_LIBS) $(PTHREADS_LIBS) $(SOL_LIBS) +#rt_init_LDFLAGS = -export-dynamic + +# same for basic rscript tests +#rscript_SOURCES = rscript.c getline.c $(test_files) +#rscript_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) +#rscript_LDADD = $(RSRT_LIBS) $(ZLIB_LIBS) $(PTHREADS_LIBS) $(SOL_LIBS) +#rscript_LDFLAGS = -export-dynamic + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/tests/NoExistFile.cfgtest b/tests/NoExistFile.cfgtest new file mode 100644 index 0000000..39d008f --- /dev/null +++ b/tests/NoExistFile.cfgtest @@ -0,0 +1,2 @@ +rsyslogd: CONFIG ERROR: could not interpret master config file '/This/does/not/exist'. [try https://www.rsyslog.com/e/2013 ] +rsyslogd: EMERGENCY CONFIGURATION ACTIVATED - fix rsyslog config file! diff --git a/tests/README b/tests/README new file mode 100644 index 0000000..63a15d4 --- /dev/null +++ b/tests/README @@ -0,0 +1,102 @@ +This directory contains the rsyslog testbench. It is slowly +evolving. New tests are always welcome. So far, most tests check +out the functionality of a single module. More complex tests are +welcome. + +For a simple sample, see rtinit.c, which does a simple +init/deinit check of the runtime system. + +Test Naming +=========== + +Test that use valgrind shall end in "-vg.sh". +Test that use valgrind's helgrind thread debugger shall end in "-vgthread.sh". + +Setting up Test Environments +============================ + +Setting up MariaDB/MySQL +------------------------ +to create the necessary user: + +echo "create user 'rsyslog'@'localhost' identified by 'testbench';" | mysql -u root +mysql -u root < ../plugins/ommysql/createDB.sql +echo "grant all on Syslog.* to 'rsyslog'@'localhost';" | mysql -u root + +openSUSE +-------- +To configure system properties like hostname and firewall, use the +graphical "yast2" administration tool. Note the ssh-access by default +is disable in the firewall! + +Before running tests +==================== +make check - this will compile all of the C code used in the tests, as well as +do any other preparations, and will start running all of the tests. Ctrl-C to +stop running all of the tests. + +Running all tests +================= +make check + +Running named tests +=================== +make testname.log + +For example, to run the imfile-basic.sh test, use + + make imfile-basic.log + +Test output is in imfile-basic.log + +To re-run the test, first remove imfile-basic.log then make again + +Or an alternative option is to run + + make check TESTS='imfile-basic.sh' + +* Using gdb to debug rsyslog during a test run + +Edit your test like this: + + . $srcdir/diag.sh startup + if [ -n "${USE_GDB:-}" ] ; then + echo attach gdb here + sleep 54321 || : + fi + +Run your test in the background: + + USE_GDB=1 make mytest.sh.log & + +Tail mytest.sh.log until you see 'attach gdb here'. The log should also +tell you what is the rsyslogd pid. + + gdb ../tools/rsyslogd $rsyslogd_pid + +Set breakpoints, whatever, then 'continue' + +In another window, do ps -ef|grep 54321, then kill that pid + +Core Dump Analysis +================== +The testbench contains some limited (yet useful) support for automatically +analyzing core dumps. In order for this to work, obviously core files need +to be generated. This often doesn't work as intended. If you hit this problem, +check + +1. ulimit -c unlimited (or a reasonable limit) + Note that root may need to increase a system-wide limit, which is + usually recorded in /etc/security/limits.conf + You need: + * soft core unlimited + +2. cat /proc/sys/kernel/core_pattern" + On systemd systems (and some others), the pattern is changed to save + core files so that systemd can import them -- with the result that the + testbench doesn't see them any longer. We require classic format, which + can be set via + $ sudo bash -c "echo \"core\" > /proc/sys/kernel/core_pattern" + +Note that you probably want to do neither of these changes to a production +system. diff --git a/tests/abort-uncleancfg-badcfg-check.sh b/tests/abort-uncleancfg-badcfg-check.sh new file mode 100755 index 0000000..aa09eef --- /dev/null +++ b/tests/abort-uncleancfg-badcfg-check.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# Copyright 2015-01-29 by Tim Eifler +# This file is part of the rsyslog project, released under ASL 2.0 +# The configuration test should fail because of the invalid config file. +. ${srcdir:=.}/diag.sh init +../tools/rsyslogd -C -N1 -f$srcdir/testsuites/abort-uncleancfg-badcfg.conf -M../runtime/.libs:../.libs +if [ $? == 0 ]; then + echo "Error: config check should fail" + error_exit 1 +fi +printf 'unclean config lead to exit, as expected - OK\n' +exit_test + diff --git a/tests/abort-uncleancfg-badcfg-check_1.sh b/tests/abort-uncleancfg-badcfg-check_1.sh new file mode 100755 index 0000000..986688b --- /dev/null +++ b/tests/abort-uncleancfg-badcfg-check_1.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# Copyright 2015-01-29 by Tim Eifler +# This file is part of the rsyslog project, released under ASL 2.0 +# The configuration test should fail because of the invalid config file. +echo =============================================================================== +echo \[abort-uncleancfg-badcfg_1.sh\]: testing abort on unclean configuration +echo "testing a bad Configuration verification run" +. ${srcdir:=.}/diag.sh init +../tools/rsyslogd -C -N1 -f$srcdir/testsuites/abort-uncleancfg-badcfg_1.conf -M../runtime/.libs:../.libs +if [ $? == 0 ]; then + echo "Error: config check should fail" + exit 1 +fi +exit_test + diff --git a/tests/abort-uncleancfg-goodcfg-check.sh b/tests/abort-uncleancfg-goodcfg-check.sh new file mode 100755 index 0000000..cc576a8 --- /dev/null +++ b/tests/abort-uncleancfg-goodcfg-check.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# Copyright 2015-01-29 by Tim Eifler +# This file is part of the rsyslog project, released under ASL 2.0 +# The configuration test should pass because of the good config file. +. ${srcdir:=.}/diag.sh init +echo "testing a good Configuration verification run" +../tools/rsyslogd -C -N1 -f$srcdir/testsuites/abort-uncleancfg-goodcfg.conf -M../runtime/.libs:../.libs +if [ $? -ne 0 ]; then + echo "Error: config check fail" + exit 1 +fi +exit_test + diff --git a/tests/abort-uncleancfg-goodcfg.sh b/tests/abort-uncleancfg-goodcfg.sh new file mode 100755 index 0000000..7dcc92b --- /dev/null +++ b/tests/abort-uncleancfg-goodcfg.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Copyright 2015-01-29 by Tim Eifler +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[abort-uncleancfg-goodcfg.sh\]: testing abort on unclean configuration +echo "testing a good Configuration verification run" +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +$AbortOnUncleanConfig on +$MainMsgQueueTimeoutShutdown 10000 + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup +injectmsg 1 10 +shutdown_when_empty +wait_shutdown + +if [ ! -e $RSYSLOG_OUT_LOG ] +then + echo "error: expected file does not exist" + error_exit 1 +fi +exit_test diff --git a/tests/action-tx-errfile-maxsize.sh b/tests/action-tx-errfile-maxsize.sh new file mode 100755 index 0000000..eaff6d7 --- /dev/null +++ b/tests/action-tx-errfile-maxsize.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# part of the rsyslog project, released under ASL 2.0 + +. ${srcdir:=.}/diag.sh init + +export NUMMESSAGES=50 # enough to generate big file +export MAX_ERROR_SIZE=100 + +generate_conf +add_conf ' +$ModLoad ../plugins/ommysql/.libs/ommysql +global(errormessagestostderr.maxnumber="5") + +template(type="string" name="tpl" string="insert into SystemEvents (Message, Facility) values (\"%msg%\", %$!facility%)" option.sql="on") + +if((not($msg contains "error")) and ($msg contains "msgnum:")) then { + set $.num = field($msg, 58, 2); + if $.num % 2 == 0 then { + set $!facility = $syslogfacility; + } else { + set $/cntr = 0; + } + action(type="ommysql" name="mysql_action_errfile_maxsize" server="127.0.0.1" template="tpl" + db="'$RSYSLOG_DYNNAME'" uid="rsyslog" pwd="testbench" action.errorfile="'$RSYSLOG2_OUT_LOG'" action.errorfile.maxsize="'$MAX_ERROR_SIZE'") +} +' +mysql_prep_for_test +startup +injectmsg +shutdown_when_empty +wait_shutdown +mysql_get_data +check_file_exists ${RSYSLOG2_OUT_LOG} +file_size_check ${RSYSLOG2_OUT_LOG} ${MAX_ERROR_SIZE} +exit_test diff --git a/tests/action-tx-errfile.sh b/tests/action-tx-errfile.sh new file mode 100755 index 0000000..fd492d3 --- /dev/null +++ b/tests/action-tx-errfile.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# added by Rainer Gerhards 2018-01-05 +# part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=50 # sufficient for our needs! +export SEQ_CHECK_OPTIONS=-i2 +check_sql_data_ready() { + mysql_get_data + seq_check --check-only 0 $((NUMMESSAGES - 2)) +} +export QUEUE_EMPTY_CHECK_FUNC=check_sql_data_ready + +generate_conf +add_conf ' +$ModLoad ../plugins/ommysql/.libs/ommysql +global(errormessagestostderr.maxnumber="5") + +template(type="string" name="tpl" string="insert into SystemEvents (Message, Facility) values (\"%msg%\", %$!facility%)" option.sql="on") + +if((not($msg contains "error")) and ($msg contains "msgnum:")) then { + set $.num = field($msg, 58, 2); + if $.num % 2 == 0 then { + set $!facility = $syslogfacility; + } else { + set $/cntr = 0; + } + action(type="ommysql" name="mysql_action" server="127.0.0.1" template="tpl" + db="'$RSYSLOG_DYNNAME'" uid="rsyslog" pwd="testbench" action.errorfile="'$RSYSLOG2_OUT_LOG'") +} +' +mysql_prep_for_test +startup +injectmsg +shutdown_when_empty +wait_shutdown +export EXPECTED="$(cat ${srcdir}/testsuites/action-tx-errfile.result)" +cmp_exact ${RSYSLOG2_OUT_LOG} +mysql_get_data +seq_check 0 $((NUMMESSAGES - 2)) -i2 +exit_test diff --git a/tests/action-tx-single-processing.sh b/tests/action-tx-single-processing.sh new file mode 100755 index 0000000..43c9f2e --- /dev/null +++ b/tests/action-tx-single-processing.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=2000 +export SEQ_CHECK_OPTIONS=-i2 +check_sql_data_ready() { + mysql_get_data + seq_check --check-only 0 $((NUMMESSAGES - 2)) +} +export QUEUE_EMPTY_CHECK_FUNC=check_sql_data_ready +generate_conf +add_conf ' +module(load="../plugins/ommysql/.libs/ommysql") +global(errormessagestostderr.maxnumber="50") + +template(type="string" name="tpl" string="insert into SystemEvents (Message, Facility) values (\"%msg%\", %$!facility%)" option.sql="on") +template(type="string" name="tpl2" string="%$.num%|%$!facility%|insert into SystemEvents (Message, Facility) values (\"%msg%\", %$!facility%)\n" option.sql="on") + +if($msg contains "msgnum:") then { + set $.num = field($msg, 58, 2); + if $.num % 2 == 0 then { + set $!facility = $syslogfacility; + } else { + set $/cntr = 0; + } + action(type="ommysql" name="mysql_action" server="127.0.0.1" template="tpl" + db="'$RSYSLOG_DYNNAME'" uid="rsyslog" pwd="testbench") +} +action(type="omfile" file="'$RSYSLOG2_OUT_LOG'") +' +mysql_prep_for_test +startup +injectmsg +shutdown_when_empty +wait_shutdown +mysql_get_data +seq_check 0 $((NUMMESSAGES - 2)) +exit_test diff --git a/tests/allowed-sender-tcp-fail.sh b/tests/allowed-sender-tcp-fail.sh new file mode 100755 index 0000000..81b053e --- /dev/null +++ b/tests/allowed-sender-tcp-fail.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# check that we are able to receive messages from allowed sender +# added 2019-08-15 by RGerhards, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=5 # it's just important that we get any messages at all +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port" ruleset="rs") + +$AllowedSender TCP,128.66.0.0/16 # this IP range is reserved by RFC5737 +template(name="outfmt" type="string" string="%msg:F,58:2%\n") +ruleset(name="rs") { + action(type="omfile" template="outfmt" file="'$RSYSLOG_DYNNAME.must-not-be-created'") +} + +action(type="omfile" file="'$RSYSLOG_OUT_LOG'") +' +startup +assign_tcpflood_port $RSYSLOG_DYNNAME.tcpflood_port +tcpflood -m$NUMMESSAGES +shutdown_when_empty +wait_shutdown +content_check --regex "connection request from disallowed sender .* discarded" +check_file_not_exists "$RSYSLOG_DYNNAME.must-not-be-created" +exit_test diff --git a/tests/allowed-sender-tcp-hostname-fail.sh b/tests/allowed-sender-tcp-hostname-fail.sh new file mode 100755 index 0000000..01ec9d7 --- /dev/null +++ b/tests/allowed-sender-tcp-hostname-fail.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# check that we are able to receive messages from allowed sender +# added 2019-08-19 by RGerhards, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +# Note: we need to know if CI supports DNS resolution. For this, we try to access +# our rsyslog echo service. If that works, DNS obviously works. On the contrary +# if we cannot access it, DNS might still work. But we prefer to skip the test in +# that case (on rsyslog CI it will always work). +rsyslog_testbench_test_url_access http://testbench.rsyslog.com/testbench/echo-get.php +export NUMMESSAGES=5 # it's just important that we get any messages at all +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port" ruleset="rs") + +$AllowedSender TCP,www.rsyslog.com +template(name="outfmt" type="string" string="%msg:F,58:2%\n") +ruleset(name="rs") { + action(type="omfile" template="outfmt" file="'$RSYSLOG_DYNNAME.must-not-be-created'") +} + +action(type="omfile" file="'$RSYSLOG_OUT_LOG'") +' +startup +assign_tcpflood_port $RSYSLOG_DYNNAME.tcpflood_port +tcpflood -m$NUMMESSAGES +shutdown_when_empty +wait_shutdown +content_check --regex "connection request from disallowed sender .* discarded" +check_file_not_exists "$RSYSLOG_DYNNAME.must-not-be-created" +exit_test diff --git a/tests/allowed-sender-tcp-hostname-ok.sh b/tests/allowed-sender-tcp-hostname-ok.sh new file mode 100755 index 0000000..282800e --- /dev/null +++ b/tests/allowed-sender-tcp-hostname-ok.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# check that we are able to receive messages from allowed sender +# added 2019-08-15 by RGerhards, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +setvar_RS_HOSTNAME +export NUMMESSAGES=5 # it's just important that we get any messages at all +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$AllowedSender TCP,*'$RS_HOSTNAME'* +template(name="outfmt" type="string" string="%msg:F,58:2%\n") +:msg, contains, "msgnum:" action(type="omfile" template="outfmt" + file=`echo $RSYSLOG_OUT_LOG`) +' +startup +assign_tcpflood_port $RSYSLOG_DYNNAME.tcpflood_port +tcpflood -m$NUMMESSAGES +shutdown_when_empty +wait_shutdown +seq_check +exit_test diff --git a/tests/allowed-sender-tcp-ok.sh b/tests/allowed-sender-tcp-ok.sh new file mode 100755 index 0000000..75322ee --- /dev/null +++ b/tests/allowed-sender-tcp-ok.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# check that we are able to receive messages from allowed sender +# added 2019-08-15 by RGerhards, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=5 # it's just important that we get any messages at all +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$AllowedSender TCP,127.0.0.1/16,[::1] +template(name="outfmt" type="string" string="%msg:F,58:2%\n") +:msg, contains, "msgnum:" action(type="omfile" template="outfmt" + file=`echo $RSYSLOG_OUT_LOG`) +' +startup +assign_tcpflood_port $RSYSLOG_DYNNAME.tcpflood_port +tcpflood -m$NUMMESSAGES +shutdown_when_empty +wait_shutdown +seq_check +exit_test diff --git a/tests/array_lookup_table-vg.sh b/tests/array_lookup_table-vg.sh new file mode 100755 index 0000000..1f3ccf5 --- /dev/null +++ b/tests/array_lookup_table-vg.sh @@ -0,0 +1,5 @@ +#!/bin/bash +# added 2015-10-30 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +export USE_VALGRIND="YES" +source ${srcdir:-.}/array_lookup_table.sh diff --git a/tests/array_lookup_table.sh b/tests/array_lookup_table.sh new file mode 100755 index 0000000..b141c0d --- /dev/null +++ b/tests/array_lookup_table.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# test for array lookup-table and HUP based reloading of it +# added 2015-10-30 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +lookup_table(name="xlate" file="'$RSYSLOG_DYNNAME'.xlate_array.lkp_tbl") + +template(name="outfmt" type="string" string="%msg% %$.lkp%\n") + +set $.num = field($msg, 58, 2); + +set $.lkp = lookup("xlate", $.num); + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +cp -f $srcdir/testsuites/xlate_array.lkp_tbl $RSYSLOG_DYNNAME.xlate_array.lkp_tbl +startup +injectmsg 0 3 +wait_queueempty +content_check "msgnum:00000000: foo_old" +content_check "msgnum:00000001: bar_old" +assert_content_missing "baz" +cp -f $srcdir/testsuites/xlate_array_more.lkp_tbl $RSYSLOG_DYNNAME.xlate_array.lkp_tbl +issue_HUP +await_lookup_table_reload +injectmsg 0 3 +wait_queueempty +content_check "msgnum:00000000: foo_new" +content_check "msgnum:00000001: bar_new" +content_check "msgnum:00000002: baz" +cp -f $srcdir/testsuites/xlate_array_more_with_duplicates_and_nomatch.lkp_tbl $RSYSLOG_DYNNAME.xlate_array.lkp_tbl +issue_HUP +await_lookup_table_reload +injectmsg 0 12 +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown +content_check "msgnum:00000000: quux" +content_check "msgnum:00000001: quux" +content_check "msgnum:00000002: foo_latest" +content_check "msgnum:00000003: baz_latest" +content_check "msgnum:00000004: foo_latest" +content_check "msgnum:00000005: foo_latest" +content_check "msgnum:00000006: baz_latest" +content_check "msgnum:00000007: foo_latest" +content_check "msgnum:00000008: baz_latest" +content_check "msgnum:00000009: baz_latest" +content_check "msgnum:00000010: quux" +content_check "msgnum:00000011: quux" +exit_test diff --git a/tests/array_lookup_table_misuse-vg.sh b/tests/array_lookup_table_misuse-vg.sh new file mode 100755 index 0000000..26ca1c2 --- /dev/null +++ b/tests/array_lookup_table_misuse-vg.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# test cleanup for array lookup-table and HUP based reloading of it +# added 2015-10-30 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +lookup_table(name="xlate" file="'$RSYSLOG_DYNNAME'.xlate_array.lkp_tbl") + +template(name="outfmt" type="string" string="%msg% %$.lkp%\n") + +set $.num = field($msg, 58, 2); + +set $.lkp = lookup("xlate", $.num); + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +cp -f $srcdir/testsuites/xlate_array_misuse.lkp_tbl $RSYSLOG_DYNNAME.xlate_array.lkp_tbl +startup_vg +injectmsg 0 3 +wait_queueempty +assert_content_missing "foo" +assert_content_missing "bar" +assert_content_missing "baz" +cp -f $srcdir/testsuites/xlate_array_more_misuse.lkp_tbl $RSYSLOG_DYNNAME.xlate_array.lkp_tbl +issue_HUP +await_lookup_table_reload +injectmsg 0 3 +wait_queueempty +assert_content_missing "foo" +assert_content_missing "bar" +assert_content_missing "baz" +cp -f $srcdir/testsuites/xlate_array_more.lkp_tbl $RSYSLOG_DYNNAME.xlate_array.lkp_tbl +issue_HUP +await_lookup_table_reload +injectmsg 0 3 +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown_vg +check_exit_vg +content_check "msgnum:00000000: foo_new" +content_check "msgnum:00000001: bar_new" +content_check "msgnum:00000002: baz" +exit_test diff --git a/tests/arrayqueue.sh b/tests/arrayqueue.sh new file mode 100755 index 0000000..16008cc --- /dev/null +++ b/tests/arrayqueue.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Test for fixedArray queue mode +# added 2009-05-20 by rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=40000 +generate_conf +add_conf ' +# set spool locations and switch queue to disk-only mode +$MainMsgQueueType FixedArray + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup +injectmsg +shutdown_when_empty +wait_shutdown +seq_check +exit_test diff --git a/tests/asynwr_deadlock.sh b/tests/asynwr_deadlock.sh new file mode 100755 index 0000000..34e28c9 --- /dev/null +++ b/tests/asynwr_deadlock.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# This is test case from practice, with the version we introduced it, it +# caused a deadlock on shutdown. I have added it to the test suite to automatically +# detect such things in the future. +# +# added 2010-03-17 by Rgerhards +# This file is part of the rsyslog project, released under GPLv3 +echo ================================================================================ +echo TEST: \[asynwr_deadlock.sh\]: a case known to have caused a deadlock in the past +. ${srcdir:=.}/diag.sh init +export CI_SHUTDOWN_QUEUE_EMPTY_CHECKS=20 # this test is notoriously slow... +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +$InputTCPServerListenPortFile '$RSYSLOG_DYNNAME'.tcpflood_port +$InputTCPServerRun 0 + +$template outfmt,"%msg:F,58:2%\n" + +$OMFileFlushOnTXEnd on +$OMFileFlushInterval 10 +$OMFileIOBufferSize 10k +$OMFileAsyncWriting on +:msg, contains, "msgnum:" action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +# uncomment for debugging support: +#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction" +#export RSYSLOG_DEBUGLOG="log" +startup +# just send one message +tcpflood -m1 +# sleep is important! need to make sure the instance is inactive +sleep 1 +# now try shutdown. The actual test is if the process does hang here! +echo "processing must continue soon" +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown # and wait for it to terminate +seq_check 0 0 +exit_test diff --git a/tests/asynwr_deadlock2.sh b/tests/asynwr_deadlock2.sh new file mode 100755 index 0000000..f656721 --- /dev/null +++ b/tests/asynwr_deadlock2.sh @@ -0,0 +1,85 @@ +#!/bin/bash +# This is test case from practice, with the version we introduced it, it +# caused a deadlock during processing (when the a stream was purged from the +# dynafile cache). +# We added this as a standard test in the hopes that iw will help +# detect such things in the future. +# +# The problem that originally caused this test to fail was: +# We write to files asynchronously (with the async writer thread). There is +# no signaling done when the file stream is closed. That can lead to the writer +# process hanging in memory, that in turn leads to the main thread waiting on a +# condition that never occurs (because it would need to be signalled by the +# async writer). Even worse, in that case, the async writer was signalled invalid +# in such a way that when it received a wakeup, it thought it shall not terminate, +# but received a spurios wakeup due to timeout and no data to write. In that case +# it (correctly) concluded that it would not need to timeout until a new buffer write +# was done (in which case it would receive a wakeup). As such, it went into an eternal +# wait. However, the invalid signaling did not take into account that it did not +# signal the async writer to shut down. So the main thread went into a condition +# wait - and thus we had a deadlock. That situation occurred only under very specific +# circumstances. As far as the analysis goes, the following need to happen: +# 1. buffers on that file are being flushed +# 2. no new data arrives +# 3. the inactivity timeout has not yet expired +# 4. *then* (and only then) the stream is closed or destructed +# In that, 1 to 4 are prerequisites for the deadlock which will happen in 4. However, +# for it to happen, we also need the right "timing". There is a race between the +# main thread and the async writer thread. The deadlock will only happen under +# the "right" circumstances, which basically means it will not happen always. +# In order to create this case as reliable as possible, I have used +# the "$OMFileFlushOnTXEnd on" directive +# inside my test case. It makes sure that #1 above happens. The test uses a dynafile +# cache size of 4, and the load generator generates data for 5 different dynafiles. +# So over time, we will hit a spot where 4 dynafiles are open and the 5th file name +# is generated. As such, one file needs to be discarded. Thanks to FlushOnTXEnd, we +# now likely have #2 in place and thanks to the load pattern generated, we most +# probably have #3 in place. During the dynafile cache displacement of the oldest +# entry, #4 is generated. At this point, we have the deadlock we are testing for. +# Note that this deadlock does not necessarily lead to a total lockup of rsyslogd. +# Parts of it continue to operate. But in our test setup, this means data is +# received and placed into the main queue. Once it's high water mark is hit, data +# is still being enqueued, but at a slow rate. So if one is patient enough, the load +# generator will be able to finish. However, rsyslogd will never process the data +# it received because it is locked in the deadlock caused by #4 above. +# Note that "$OMFileFlushOnTXEnd on" is not causing this behavior. We just use it +# to (quite) reliably cause the failure condition. The failure described above +# (in version 4.6.1) was also present when the setting was set to "off", but its +# occurrence was very much less probable - because the perquisites are then much +# harder to hit. without it, the test may need to run for several hours before +# we hit all failure conditions. +# +# added 2010-03-17 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export CI_SHUTDOWN_QUEUE_EMPTY_CHECKS=20 # this test is notoriously slow... +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +$InputTCPServerListenPortFile '$RSYSLOG_DYNNAME'.tcpflood_port +$InputTCPServerRun 0 + +$template outfmt,"%msg:F,58:3%,%msg:F,58:4%,%msg:F,58:5%\n" +$template dynfile,"'$RSYSLOG_DYNNAME'.%msg:F,58:2%.log" # use multiple dynafiles + +$OMFileFlushOnTXEnd on +$OMFileFlushInterval 10 +$OMFileIOBufferSize 10k +$OMFileAsyncWriting on +$DynaFileCacheSize 4 +local0.* ?dynfile;outfmt +' +# uncomment for debugging support: +#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction" +#export RSYSLOG_DEBUGLOG="log" +startup +# send 20000 messages, each close to 2K (non-randomized!), so that we can fill +# the buffers and hopefully run into the "deadlock". +tcpflood -m20000 -d1800 -P129 -i1 -f5 +shutdown_when_empty +wait_shutdown +cat $RSYSLOG_DYNNAME.*.log > $RSYSLOG_OUT_LOG +seq_check 1 20000 -E +rm -f $RSYSLOG_DYNNAME.*.log +exit_test diff --git a/tests/asynwr_deadlock4.sh b/tests/asynwr_deadlock4.sh new file mode 100755 index 0000000..41dece3 --- /dev/null +++ b/tests/asynwr_deadlock4.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# This is test case from practice, with the version we introduced it, it +# caused a deadlock during processing. +# We added this as a standard test in the hopes that iw will help +# detect such things in the future. +# +# This is a test that is constructed similar to asynwr_deadlock2.sh, but +# can produce problems in a simpler way. +# +# added 2010-03-18 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=20000 +export QUEUE_EMPTY_CHECK_FUNC=wait_file_lines +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +$InputTCPServerListenPortFile '$RSYSLOG_DYNNAME'.tcpflood_port +$InputTCPServerRun 0 + +$template outfmt,"%msg:F,58:3%,%msg:F,58:4%,%msg:F,58:5%\n" +template(name="dynfile" type="string" string="'$RSYSLOG_OUT_LOG'") + +$OMFileFlushOnTXEnd on +$OMFileFlushInterval 10 +$OMFileIOBufferSize 10k +$OMFileAsyncWriting on +$DynaFileCacheSize 4 +local0.* ?dynfile;outfmt +' +startup +# send 20000 messages, each close to 2K (non-randomized!), so that we can fill +# the buffers and hopefully run into the "deadlock". +tcpflood -m20000 -d18 -P129 -f5 +shutdown_when_empty +wait_shutdown +export SEQ_CHECK_OPTIONS=-E +seq_check +exit_test diff --git a/tests/asynwr_deadlock_2.sh b/tests/asynwr_deadlock_2.sh new file mode 100755 index 0000000..6447706 --- /dev/null +++ b/tests/asynwr_deadlock_2.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# This is test case from practice, with the version we introduced it, it +# caused a deadlock on shutdown. I have added it to the test suite to automatically +# detect such things in the future. +# a case known to have caused a deadlock in the past +# +# added 2010-03-17 by Rgerhards +# This file is part of the rsyslog project, released under GPLv3 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=1 +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$template outfmt,"%msg:F,58:2%\n" + +$OMFileFlushOnTXEnd on +$OMFileFlushInterval 10 +$OMFileIOBufferSize 4k +$OMFileAsyncWriting on +:msg, contains, "msgnum:" action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +tcpflood +wait_file_lines # wait to become inactive - important bug trigger contidion +# now try shutdown. The actual test is if the process does hang here! +echo "processing must continue soon" +shutdown_when_empty +wait_shutdown +seq_check +exit_test diff --git a/tests/asynwr_dynfile_flushtxend-off.sh b/tests/asynwr_dynfile_flushtxend-off.sh new file mode 100755 index 0000000..b734932 --- /dev/null +++ b/tests/asynwr_dynfile_flushtxend-off.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# This tests async writing functionality under a set of additional +# conditions (see config for details). This covers non-async cases as +# well. This test was created while actually hunting a bug that was +# very hard to reproduce but severe. While it had different trigger +# conditions, the set of config parameters in this test helped to find +# it quickly. As such the hope is the test will be useful in future again. +# +# NOTE WELL: The rsyslog shutdown condition is hard to get 100% right +# as due to not flushing at transaction end we cannot rely on the output +# file count as we usually do. However, we cannot avoid this as otherwise +# we loose an important trigger condition. +# added 2019-10-23 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export CI_SHUTDOWN_QUEUE_EMPTY_CHECKS=30 # this test is notoriously slow... +export NUMMESSAGES=20000 +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +template(name="outfmt" type="string" string="%msg:F,58:3%,%msg:F,58:4%,%msg:F,58:5%\n") +template(name="dynfile" type="string" string="'$RSYSLOG_DYNNAME'.%msg:F,58:2%.log") # use multiple dynafiles + +local0.* action(type="omfile" dynafile="dynfile" template="outfmt" + flushOnTXEnd="off" flushInterval="10" ioBufferSize="10k" + asyncWriting="on" dynaFileCacheSize="4") +' +# uncomment for debugging support: +startup +tcpflood -m$NUMMESSAGES -d1800 -P129 -f5 +shutdown_when_empty +wait_shutdown +cat $RSYSLOG_DYNNAME.*.log > $RSYSLOG_OUT_LOG +export SEQ_CHECK_OPTIONS=-E +seq_check +exit_test diff --git a/tests/asynwr_simple.sh b/tests/asynwr_simple.sh new file mode 100755 index 0000000..9fdbc67 --- /dev/null +++ b/tests/asynwr_simple.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# This is test driver for testing asynchronous file output. +# This test intentionally uses legacy format. +# added 2010-03-09 by Rgerhards, re-written 2019-08-15 +# This is part of the rsyslog testbench, licensed under ASL 2.0 +. ${srcdir:=.}/diag.sh init +# send 35555 messages, make sure file size is not a multiple of +# 10K, the buffer size! +export NUMMESSAGES=355555 +export QUEUE_EMPTY_CHECK_FUNC=wait_seq_check +generate_conf +add_conf ' +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string="'$RSYSLOG_OUT_LOG'") +$OMFileFlushOnTXEnd off +$OMFileFlushInterval 2 +$OMFileIOBufferSize 10k +$OMFileAsyncWriting on +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup +injectmsg +shutdown_when_empty +wait_shutdown +seq_check +exit_test diff --git a/tests/asynwr_simple_2.sh b/tests/asynwr_simple_2.sh new file mode 100755 index 0000000..7a7f9dd --- /dev/null +++ b/tests/asynwr_simple_2.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# This is test driver for testing asynchronous file output. +# added 2010-03-09 by Rgerhards, re-written 2019-08-15 +# This is part of the rsyslog testbench, licensed under ASL 2.0 +. ${srcdir:=.}/diag.sh init +# send 35555 messages, make sure file size is not a multiple of +# 4K, the buffer size! +export NUMMESSAGES=355555 +export QUEUE_EMPTY_CHECK_FUNC=wait_seq_check +generate_conf +add_conf ' +template(name="outfmt" type="string" string="%msg:F,58:2%\n") +:msg, contains, "msgnum:" + action(type="omfile" file="'$RSYSLOG_OUT_LOG'" template="outfmt" + asyncWriting="on" flushOnTXEnd="off" flushInterval="2" ioBufferSize="4k") +' +startup +injectmsg +shutdown_when_empty +wait_shutdown +seq_check +exit_test diff --git a/tests/asynwr_small.sh b/tests/asynwr_small.sh new file mode 100755 index 0000000..5d45238 --- /dev/null +++ b/tests/asynwr_small.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# This tests async writing with only a small set of data. That +# shall result in data staying in buffers until shutdown, what +# then will trigger some somewhat complex logic in the stream +# writer (open, write, close all during the stream close +# operation). It is vital that only few messages be sent. +# +# The main effort of this test is not (only) to see if we +# receive the data, but rather to see if we get into an abort +# condition. +# +# added 2010-03-09 by Rgerhards +# +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=2 +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +$InputTCPServerListenPortFile '$RSYSLOG_DYNNAME'.tcpflood_port +$InputTCPServerRun 0 + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +$OMFileFlushOnTXEnd off +$OMFileFlushInterval 2 +$OMFileAsyncWriting on +:msg, contains, "msgnum:" ?dynfile;outfmt +' +# uncomment for debugging support: +#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction" +#export RSYSLOG_DEBUGLOG="log" +startup +tcpflood +shutdown_when_empty +wait_shutdown +exit_test diff --git a/tests/asynwr_timeout.sh b/tests/asynwr_timeout.sh new file mode 100755 index 0000000..5c990a2 --- /dev/null +++ b/tests/asynwr_timeout.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# This test writes to the output buffers, let's the output +# write timeout (and write data) and then continue. The conf file +# has a 2 second timeout, so we wait 4 seconds to be on the save side. +# +# added 2010-03-09 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +# send 35555 messages, make sure file size is not a multiple of +# 10K, the buffer size! +export NUMMESSAGES=15555 +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string="'$RSYSLOG_OUT_LOG'") +$OMFileFlushOnTXEnd off +$OMFileFlushInterval 2 +$OMFileIOBufferSize 10k +$OMFileAsyncWriting on +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup +tcpflood -m $NUMMESSAGES +printf 'waiting for timeout to occur\n' +sleep 15 # GOOD SLEEP - we wait for the timeout! long to take care of slow test machines... +printf 'timeout should now have occurred - check file state\n' +seq_check +shutdown_when_empty +wait_shutdown +exit_test diff --git a/tests/asynwr_timeout_2.sh b/tests/asynwr_timeout_2.sh new file mode 100755 index 0000000..0cbbd4d --- /dev/null +++ b/tests/asynwr_timeout_2.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# This test writes to the output buffers, let's the output +# write timeout (and write data) and then continue. The conf file +# has a 2 second timeout, so we wait 4 seconds to be on the save side. +# +# added 2010-03-09 by Rgerhards +# This file is part of the rsyslog project, released under GPLv3 +echo =============================================================================== +echo TEST: \[asynwr_timeout.sh\]: test async file writing timeout writes +. ${srcdir:=.}/diag.sh init +export CI_SHUTDOWN_QUEUE_EMPTY_CHECKS=20 # this test is notoriously slow... +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +$OMFileFlushOnTXEnd off +$OMFileFlushInterval 2 +$OMFileIOBufferSize 4k +$OMFileAsyncWriting on +:msg, contains, "msgnum:" ?dynfile;outfmt +' +# uncomment for debugging support: +#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction" +#export RSYSLOG_DEBUGLOG="log" +startup +# send 35555 messages, make sure file size is not a multiple of +# 4K, the buffer size! +tcpflood -m 35555 +sleep 4 # wait for output writer to write and empty buffer +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown # and wait for it to terminate +seq_check 0 35554 +exit_test diff --git a/tests/asynwr_tinybuf.sh b/tests/asynwr_tinybuf.sh new file mode 100755 index 0000000..60da2fc --- /dev/null +++ b/tests/asynwr_tinybuf.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# This tests async writing with a very small output buffer (1 byte!), +# so it stresses output buffer handling. This also means operations will +# be somewhat slow, so we send only a small amounts of data. +# +# added 2010-03-09 by Rgerhards +# +# This file is part of the rsyslog project, released under GPLv3 +echo =============================================================================== +echo TEST: \[asynwr_tinybuf.sh\]: test async file writing with 1-byte buffer +. ${srcdir:=.}/diag.sh init +export CI_SHUTDOWN_QUEUE_EMPTY_CHECKS=20 # this test is notoriously slow... +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +$OMFileFlushOnTXEnd off +$OMFileFlushInterval 2 +$OMFileIOBufferSize 1 +$OMFileAsyncWriting on +:msg, contains, "msgnum:" ?dynfile;outfmt +' +# uncomment for debugging support: +#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction" +#export RSYSLOG_DEBUGLOG="log" +startup +# send 1000 messages, fairly enough to trigger problems +tcpflood -m1000 +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown # shut down rsyslogd when done processing messages +seq_check 0 999 +exit_test diff --git a/tests/bad_qi/dbq.qi b/tests/bad_qi/dbq.qi new file mode 100644 index 0000000..5f56e41 --- /dev/null +++ b/tests/bad_qi/dbq.qi @@ -0,0 +1,29 @@ +!OPB:1:queue:1: ++iQueueSize:2:2:84: ++iUngottenObjs:2:1:1: ++tVars.disk.sizeOnDisk:2:5:57906: ++tVars.disk.bytesRead:2:4:1010: +>End +. +End +. +End +. diff --git a/tests/badqi.sh b/tests/badqi.sh new file mode 100755 index 0000000..733c896 --- /dev/null +++ b/tests/badqi.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# Test for a startup with a bad qi file. This tests simply tests +# if the rsyslog engine survives (we had segfaults in this situation +# in the past). +# added 2009-10-21 by RGerhards +# This file is part of the rsyslog project, released under GPLv3 +# uncomment for debugging support: +echo =============================================================================== +echo \[badqi.sh\]: test startup with invalid .qi file +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +# instruct to use bad .qi file +$WorkDirectory bad_qi +$ActionQueueType LinkedList +$ActionQueueFileName dbq +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup +# we just inject a handful of messages so that we have something to wait for... +tcpflood -m20 +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown # wait for process to terminate +seq_check 0 19 +exit_test diff --git a/tests/cee_diskqueue.sh b/tests/cee_diskqueue.sh new file mode 100755 index 0000000..172c429 --- /dev/null +++ b/tests/cee_diskqueue.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# check if CEE properties are properly saved & restored to/from disk queue +# added 2012-09-19 by rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +skip_platform "SunOS" "This test probably does not work on all flavors of Solaris" +export NUMMESSAGES=5000 +generate_conf +add_conf ' +global(workDirectory="'$RSYSLOG_DYNNAME.spool'") +template(name="outfmt" type="string" string="%$!usr!msg:F,58:2%\n") + +set $!usr!msg = $msg; +if $msg contains "msgnum" then + action(type="omfile" file="'$RSYSLOG_OUT_LOG'" template="outfmt" + queue.type="disk" queue.filename="rsyslog-act1") +' +startup +injectmsg +shutdown_when_empty +wait_shutdown +seq_check +exit_test diff --git a/tests/cee_simple.sh b/tests/cee_simple.sh new file mode 100755 index 0000000..b81e6d1 --- /dev/null +++ b/tests/cee_simple.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# added 2012-09-19 by rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[cee_simple.sh\]: basic CEE property test +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +template(name="outfmt" type="string" string="%$!usr!msg:F,58:2%\n") +set $!usr!msg = $msg; +if $msg contains ' +add_conf "'msgnum' " +add_conf 'then + action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +injectmsg 0 5000 +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown +seq_check 0 4999 +exit_test diff --git a/tests/cfg.sh b/tests/cfg.sh new file mode 100755 index 0000000..5e2f81b --- /dev/null +++ b/tests/cfg.sh @@ -0,0 +1,140 @@ +#!/bin/bash +# This is a simple shell script that carries out some checks against +# configurations we expect from some provided config files. We use +# rsyslogd's verification function. Note that modifications to the +# config elements, or even simple text changes, cause these checks to +# fail. However, it should be fairly easy to adapt them to the changed +# environment. And while nothing changed, they permit is to make sure +# that everything works well and is not broken by interim changes. +# Note that we always compare starting with the second output line. +# This is because the first line contains the rsyslog version ;) +# rgerhards, 2008-07-29 +# +# Part of the testbench for rsyslog. +# +# Copyright 2008 Rainer Gerhards and Adiscon GmbH. +# +# This file is part of rsyslog. +# +# Rsyslog is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Rsyslog is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Rsyslog. If not, see . +# +# A copy of the GPL can be found in the file "COPYING" in this distribution. +#set -x +echo \[cfg.sh\]: +rm -f tmp +echo "local directory" +# +# check empty config file +# +../tools/rsyslogd -c4 -N1 -f/dev/null -M../runtime/.libs:../.libs 2>&1 |./ourtail |head -2 > tmp +cmp tmp $srcdir/DevNull.cfgtest +if [ ! $? -eq 0 ]; then +echo "DevNull.cfgtest failed" +echo "Expected:" +cat $srcdir/DevNull.cfgtest +echo "Received:" +cat tmp +exit 1 +else +echo "DevNull.cfgtest succeeded" +fi; +# +# check missing config file +# +../tools/rsyslogd -c4 -N1 -M../runtime/.libs:../.libs -f/This/does/not/exist 2>&1 |./ourtail |head -2 > tmp +cmp tmp $srcdir/NoExistFile.cfgtest +if [ ! $? -eq 0 ]; then +echo "NoExistFile.cfgtest failed" +echo "Expected:" +cat $srcdir/NoExistFile.cfgtest +echo "Received:" +cat tmp +exit 1 +else +echo "NoExistFile.cfgtest succeeded" +fi; + + +# TODO: re-enable the following checks. They need to have support in +# rsyslogd so that the log file name is NOT contained in the error +# messages - this prevents proper comparison in make distcheck +rm -f tmp +exit 0 + +# +# check config with invalid directive +# +../tools/rsyslogd -c4 -u2 -N1 -f$srcdir/cfg1.testin 2>&1 |./ourtail > tmp +cmp tmp $srcdir/cfg1.cfgtest +if [ ! $? -eq 0 ]; then +echo "cfg1.cfgtest failed" +echo "Expected:" +cat $srcdir/cfg1.cfgtest +echo "Received:" +cat tmp +exit 1 +else +echo "cfg1.cfgtest succeeded" +fi; +# +# now check for included config file. We use a sample similar to +# the one with the invalid config directive, so that we may see +# an effect of the included config ;) +# +../tools/rsyslogd -c4 -u2 -N1 -f$srcdir/cfg2.testin 2>&1 |./ourtail > tmp +cmp tmp $srcdir/cfg2.cfgtest +if [ ! $? -eq 0 ]; then +echo "cfg2.cfgtest failed" +echo "Expected:" +cat $srcdir/cfg2.cfgtest +echo "Received:" +cat tmp +exit 1 +else +echo "cfg2.cfgtest succeeded" +fi; +# +# check included config file, where included file does not exist +# +../tools/rsyslogd -c4 -u2 -N1 -f$srcdir/cfg3.testin 2>&1 |./ourtail > tmp +cmp tmp $srcdir/cfg3.cfgtest +if [ ! $? -eq 0 ]; then +echo "cfg3.cfgtest failed" +echo "Expected:" +cat $srcdir/cfg3.cfgtest +echo "Received:" +cat tmp +exit 1 +else +echo "cfg3.cfgtest succeeded" +fi; +# +# check a reasonable complex, but correct, log file +# +../tools/rsyslogd -c4 -u2 -N1 -f$srcdir/cfg4.testin 2>&1 |./ourtail > tmp +cmp tmp $srcdir/cfg4.cfgtest +if [ ! $? -eq 0 ]; then +echo "cfg4.cfgtest failed" +echo "Expected:" +cat $srcdir/cfg4.cfgtest +echo "Received:" +cat tmp +exit 1 +else +echo "cfg4.cfgtest succeeded" +fi; +# +# done, some cleanup +# +rm -f tmp diff --git a/tests/cfg1.cfgtest b/tests/cfg1.cfgtest new file mode 100644 index 0000000..d49d207 --- /dev/null +++ b/tests/cfg1.cfgtest @@ -0,0 +1,3 @@ +rsyslogd: invalid or yet-unknown config file command - have you forgotten to load a module? [try https://www.rsyslog.com/e/3003 ] +rsyslogd: the last error occurred in ./cfg1.testin, line 2 +rsyslogd: End of config validation run. Bye. diff --git a/tests/cfg1.testin b/tests/cfg1.testin new file mode 100644 index 0000000..7d7b594 --- /dev/null +++ b/tests/cfg1.testin @@ -0,0 +1,2 @@ +*.* * +$invaliddirective test diff --git a/tests/cfg2.cfgtest b/tests/cfg2.cfgtest new file mode 100644 index 0000000..8a98eb5 --- /dev/null +++ b/tests/cfg2.cfgtest @@ -0,0 +1,3 @@ +rsyslogd: invalid or yet-unknown config file command - have you forgotten to load a module? [try https://www.rsyslog.com/e/3003 ] +rsyslogd: the last error occurred in cfg1.testin, line 2 +rsyslogd: End of config validation run. Bye. diff --git a/tests/cfg2.testin b/tests/cfg2.testin new file mode 100644 index 0000000..b6d98c8 --- /dev/null +++ b/tests/cfg2.testin @@ -0,0 +1 @@ +$includeconfig cfg1.testin diff --git a/tests/cfg3.cfgtest b/tests/cfg3.cfgtest new file mode 100644 index 0000000..5edd4ef --- /dev/null +++ b/tests/cfg3.cfgtest @@ -0,0 +1,5 @@ +rsyslogd: error accessing config file or directory 'file-does-not-exist': No such file or directory [try https://www.rsyslog.com/e/2040 ] +rsyslogd: the last error occurred in ./cfg3.testin, line 1 +rsyslogd: CONFIG ERROR: there are no active actions configured. Inputs will run, but no output whatsoever is created. [try https://www.rsyslog.com/e/2103 ] +rsyslogd: EMERGENCY CONFIGURATION ACTIVATED - fix rsyslog config file! +rsyslogd: End of config validation run. Bye. diff --git a/tests/cfg3.testin b/tests/cfg3.testin new file mode 100644 index 0000000..9789d93 --- /dev/null +++ b/tests/cfg3.testin @@ -0,0 +1 @@ +$includeconfig file-does-not-exist diff --git a/tests/cfg4.cfgtest b/tests/cfg4.cfgtest new file mode 100644 index 0000000..04acf84 --- /dev/null +++ b/tests/cfg4.cfgtest @@ -0,0 +1 @@ +rsyslogd: End of config validation run. Bye. diff --git a/tests/cfg4.testin b/tests/cfg4.testin new file mode 100644 index 0000000..b8694ad --- /dev/null +++ b/tests/cfg4.testin @@ -0,0 +1,31 @@ +# This is more or less the sample config, but without imklog being +# active. imklog must not always be present and as such may spoil +# our testing result. The core point at this test is that a valid +# config file should not lead to any error messages. +# It may be a good idea to update this file from time to time, so that +# it contains a reasonable complex config sample. + +# if you experience problems, check +# https://www.rsyslog.com/troubleshoot for assistance + +# rsyslog v3: load input modules +# If you do not load inputs, nothing happens! +# You may need to set the module load path if modules are not found. + + + +# ######### Receiving Messages from Remote Hosts ########## +# TCP Syslog Server: +# provides TCP syslog reception and GSS-API (if compiled to support it) +#$ModLoad imtcp.so # load module +#$InputTCPServerRun 514 # start up TCP listener at port 514 + +# UDP Syslog Server: +$ModLoad imudp.so # provides UDP syslog reception +$ModLoad omoracle.so +$UDPServerRun 514 # start a UDP syslog server at standard port 514 + +$IncludeConfig /home/munoz/logging/rsyslog/20*conf +$IncludeConfig /home/munoz/logging/rsyslog/30*conf + +#*.* ~ diff --git a/tests/check_relpEngineVersion.c b/tests/check_relpEngineVersion.c new file mode 100644 index 0000000..69b6700 --- /dev/null +++ b/tests/check_relpEngineVersion.c @@ -0,0 +1,66 @@ +#include "config.h" +#include +#include +#include + +/* only care about first two digits */ +void parseVersionNumberFromStr(char *pszIn, long* piMajor, long* piMinor, long* piSubMinor) { + char *p = pszIn; + while (*p) { // While there are more characters to process... + if ( isdigit(*p) || ( (*p=='-'||*p=='+') && isdigit(*(p+1)) )) { + if (*piMajor == 0) { + *piMajor = strtol(p, &p, 10); // Read number + } else if (*piMinor == 0) { + *piMinor = strtol(p, &p, 10); // Read number + } else { + *piSubMinor = strtol(p, &p, 10); // Read number + return; + } + } else { + p++; + } + } +} + +int main(int argc __attribute__((unused)), char *argv[]__attribute__((unused))) +{ + long iRelpVerMajor = 0; + long iRelpVerMinor = 0; + long iRelpVerSubMinor = 0; + long iRelpCmpMajor = 0; + long iRelpCmpMinor = 0; + long iRelpCmpSubMinor = 0; + +#if defined(RELP_VERSION) + parseVersionNumberFromStr(RELP_VERSION, &iRelpVerMajor, &iRelpVerMinor, &iRelpVerSubMinor); + if (argc > 1) { + parseVersionNumberFromStr(argv[1], &iRelpCmpMajor, &iRelpCmpMinor, &iRelpCmpSubMinor); + + // Compare Version numbers + if ( iRelpVerMajor > iRelpCmpMajor || + ( iRelpVerMajor == iRelpCmpMajor && + iRelpVerMinor > iRelpCmpMinor ) || + ( iRelpVerMajor == iRelpCmpMajor && + iRelpVerMinor == iRelpCmpMinor && + iRelpVerSubMinor >= iRelpCmpSubMinor) + ) { + printf("RELP Version %ld.%ld.%ld OK (Requested Version %ld.%ld.%ld)\n", + iRelpVerMajor, iRelpVerMinor, iRelpVerSubMinor, + iRelpCmpMajor, iRelpCmpMinor, iRelpCmpSubMinor); + return 0; + } else { + printf("RELP Version %ld.%ld.%ld NOT OK (Requested Version %ld.%ld.%ld)\n", + iRelpVerMajor, iRelpVerMinor, iRelpVerSubMinor, + iRelpCmpMajor, iRelpCmpMinor, iRelpCmpSubMinor); + return 1; + } + + } else { + printf("RELP Version %s\n", RELP_VERSION); + } + return 0; +#else + printf("RELP Version unknown\n"); + return 1; +#endif +} diff --git a/tests/chkseq.c b/tests/chkseq.c new file mode 100644 index 0000000..00674e9 --- /dev/null +++ b/tests/chkseq.c @@ -0,0 +1,249 @@ +/* Checks if a file consists of line of strictly monotonically + * increasing numbers. An expected start and end number may + * be set. + * + * Params + * -f file to process, if not given stdin is processed. + * -s -e + * default for s is 0. -e should be given (else it is also 0) + * -d may be specified, in which case duplicate messages are permitted. + * -m number of messages permitted to be missing without triggering a + * failure. This is necessary for some failover tests, where it is + * impossible to totally guard against messagt loss. By default, NO + * message is permitted to be lost. + * -T anticipate truncation (which means specified payload length may be + * more than actual payload (which may have been truncated) + * -i increment between messages (default: 1). Can be used for tests which + * intentionally leave consistent gaps in the message numbering. + * + * Part of the testbench for rsyslog. + * + * Copyright 2009-2018 Rainer Gerhards and Adiscon GmbH. + * + * This file is part of rsyslog. + * + * Rsyslog is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Rsyslog is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Rsyslog. If not, see . + * + * A copy of the GPL can be found in the file "COPYING" in this distribution. + */ +#include "config.h" +#include +#include +#include +#if defined(_AIX) + #include +#else + #include +#endif + +int main(int argc, char *argv[]) +{ + FILE *fp; + int val; + int i; + int ret = 0; + int scanfOK; + int verbose = 0; + int bHaveExtraData = 0; + int bAnticipateTruncation = 0; + int dupsPermitted = 0; + int start = 0, end = 0; + int opt; + int lostok = 0; /* how many messages are OK to be lost? */ + int nDups = 0; + int increment = 1; + int reachedEOF; + int edLen; /* length of extra data */ + static char edBuf[500*1024]; /* buffer for extra data (pretty large to be on the save side...) */ + static char ioBuf[sizeof(edBuf)+1024]; + char *file = NULL; + + while((opt = getopt(argc, argv, "i:e:f:ds:vm:ET")) != EOF) { + switch((char)opt) { + case 'f': + file = optarg; + break; + case 'd': + dupsPermitted = 1; + break; + case 'i': + increment = atoi(optarg); + break; + case 'e': + end = atoi(optarg); + break; + case 's': + start = atoi(optarg); + break; + case 'v': + ++verbose; + break; + case 'm': + lostok = atoi(optarg); + break; + case 'E': + bHaveExtraData = 1; + break; + case 'T': + bAnticipateTruncation = 1; + break; + default:printf("Invalid call of chkseq, optchar='%c'\n", opt); + printf("Usage: chkseq file -sstart -eend -d -E\n"); + exit(1); + } + } + + if(start > end) { + printf("start must be less than or equal end!\n"); + exit(1); + } + + if(verbose) { + printf("chkseq: start %d, end %d\n", start, end); + } + + /* read file */ + if(file == NULL) { + fp = stdin; + } else { + fp = fopen(file, "r"); + } + if(fp == NULL) { + printf("error opening file '%s'\n", file); + perror(file); + exit(1); + } + + for(i = start ; i <= end ; i += increment) { + if(bHaveExtraData) { + if(fgets(ioBuf, sizeof(ioBuf), fp) == NULL) { + scanfOK = 0; + } else { + scanfOK = sscanf(ioBuf, "%d,%d,%s\n", &val, &edLen, edBuf) == 3 ? 1 : 0; + } + if(edLen != (int) strlen(edBuf)) { + if (bAnticipateTruncation == 1) { + if (edLen < (int) strlen(edBuf)) { + printf("extra data length specified %d, but actually is %ld in" + " record %d (truncation was anticipated, but payload should" + " have been smaller than data-length, not larger)\n", + edLen, (long) strlen(edBuf), i); + exit(1); + } + } else { + printf("extra data length specified %d, but actually is %ld in record %d\n", + edLen, (long) strlen(edBuf), i); + exit(1); + } + } + } else { + if(fgets(ioBuf, sizeof(ioBuf), fp) == NULL) { + scanfOK = 0; + } else { + scanfOK = sscanf(ioBuf, "%d\n", &val) == 1 ? 1 : 0; + } + } + if(!scanfOK) { + printf("scanf error in index i=%d\n", i); + exit(1); + } + while(val > i && lostok > 0) { + --lostok; + printf("message %d missing (ok due to -m [now %d])\n", i, lostok); + ++i; + } + if(val != i) { + if(val == i - increment && dupsPermitted) { + --i; + ++nDups; + } else { + printf("read value %d, but expected value %d\n", val, i); + exit(1); + } + } + } + + if(i - increment != end) { + printf("lastrecord does not match. file: %d, expected %d\n", i - increment, end); + exit(1); + } + + int c = getc(fp); + if(c == EOF) { + reachedEOF = 1; + } else { + ungetc(c, fp); + /* if duplicates are permitted, we need to do a final check if we have duplicates at the + * end of file. + */ + if(dupsPermitted) { + i = end; + while(!feof(fp)) { + if(bHaveExtraData) { + if(fgets(ioBuf, sizeof(ioBuf), fp) == NULL) { + scanfOK = 0; + } else { + scanfOK = sscanf(ioBuf, "%d,%d,%s\n", &val, + &edLen, edBuf) == 3 ? 1 : 0; + } + if(edLen != (int) strlen(edBuf)) { + if (bAnticipateTruncation == 1) { + if (edLen < (int) strlen(edBuf)) { + printf("extra data length specified %d, but " + "actually is %ld in record %d (truncation was" + " anticipated, but payload should have been " + "smaller than data-length, not larger)\n", + edLen, (long) strlen(edBuf), i); + exit(1); + } + } else { + printf("extra data length specified %d, but actually " + "is %ld in record %d\n", + edLen, (long) strlen(edBuf), i); + exit(1); + } + } + } else { + if(fgets(ioBuf, sizeof(ioBuf), fp) == NULL) { + scanfOK = 0; + } else { + scanfOK = sscanf(ioBuf, "%d\n", &val) == 1 ? 1 : 0; + } + } + + if(val != i) { + reachedEOF = 0; + goto breakIF; + } + } + reachedEOF = feof(fp) ? 1 : 0; + } else { + reachedEOF = 0; + } + } + +breakIF: + if(nDups != 0) + printf("info: had %d duplicates (this is no error)\n", nDups); + + if(!reachedEOF) { + printf("end of processing, but NOT end of file! First line of extra data is:\n"); + for(c = fgetc(fp) ; c != '\n' && c != EOF ; c = fgetc(fp)) + putchar(c); + putchar('\n'); + exit(1); + } + + exit(ret); +} diff --git a/tests/clickhouse-basic-vg.sh b/tests/clickhouse-basic-vg.sh new file mode 100755 index 0000000..f51450b --- /dev/null +++ b/tests/clickhouse-basic-vg.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export USE_VALGRIND="YES" +source ${srcdir:-.}/clickhouse-basic.sh diff --git a/tests/clickhouse-basic.sh b/tests/clickhouse-basic.sh new file mode 100755 index 0000000..0c3306d --- /dev/null +++ b/tests/clickhouse-basic.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# add 2018-12-07 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=1 +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +template(name="outfmt" option.stdsql="on" type="string" string="INSERT INTO rsyslog.basic (id, severity, facility, timestamp, ipaddress, tag, message) VALUES (%msg:F,58:2%, %syslogseverity%, %syslogfacility%, ' +add_conf "'%timereported:::date-unixtimestamp%', '%fromhost-ip%', '%syslogtag%', '%msg%')" +add_conf '") + + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" port="8443" bulkmode="off" + user="default" pwd="" template="outfmt") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.basic ( id Int32, severity Int8, facility Int8, timestamp DateTime, ipaddress String, tag String, message String ) ENGINE = MergeTree() PARTITION BY severity Order By id" + +startup +injectmsg +shutdown_when_empty +wait_shutdown +clickhouse-client --query="SELECT id, severity, facility, ipaddress, tag, message FROM rsyslog.basic" > $RSYSLOG_OUT_LOG + +clickhouse-client --query="DROP TABLE rsyslog.basic" +export EXPECTED='0 7 20 127.0.0.1 tag msgnum:00000000:' +cmp_exact $RSYSLOG_OUT_LOG + +exit_test diff --git a/tests/clickhouse-bulk-load-vg.sh b/tests/clickhouse-bulk-load-vg.sh new file mode 100755 index 0000000..75ad35c --- /dev/null +++ b/tests/clickhouse-bulk-load-vg.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export USE_VALGRIND="YES" +source ${srcdir:-.}/clickhouse-bulk-load.sh diff --git a/tests/clickhouse-bulk-load.sh b/tests/clickhouse-bulk-load.sh new file mode 100755 index 0000000..3f4099e --- /dev/null +++ b/tests/clickhouse-bulk-load.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# add 2018-12-07 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=100000 + +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +template(name="outfmt" option.stdsql="on" type="string" string="INSERT INTO rsyslog.bulkLoad (id, ipaddress, message) VALUES (%msg:F,58:2%, ' +add_conf "'%fromhost-ip%', '%msg:F,58:2%')" +add_conf '") + + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" port="8443" + user="default" pwd="" template="outfmt") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.bulkLoad ( id Int32, ipaddress String, message String ) ENGINE = MergeTree() PARTITION BY ipaddress Order By id" + +startup +injectmsg +shutdown_when_empty +wait_shutdown +clickhouse-client --query="SELECT message FROM rsyslog.bulkLoad ORDER BY id" > $RSYSLOG_OUT_LOG + +clickhouse-client --query="DROP TABLE rsyslog.bulkLoad" +seq_check 0 $(( NUMMESSAGES - 1 )) + +exit_test diff --git a/tests/clickhouse-bulk-vg.sh b/tests/clickhouse-bulk-vg.sh new file mode 100755 index 0000000..fbc77ba --- /dev/null +++ b/tests/clickhouse-bulk-vg.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export USE_VALGRIND="YES" +source ${srcdir:-.}/clickhouse-bulk.sh diff --git a/tests/clickhouse-bulk.sh b/tests/clickhouse-bulk.sh new file mode 100755 index 0000000..297df36 --- /dev/null +++ b/tests/clickhouse-bulk.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# add 2018-12-07 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=10 +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +template(name="outfmt" option.stdsql="on" type="string" string="INSERT INTO rsyslog.bulk (id, severity, facility, timestamp, ipaddress, tag, message) VALUES (%msg:F,58:2%, %syslogseverity%, %syslogfacility%, ' +add_conf "'%timereported:::date-unixtimestamp%', '%fromhost-ip%', '%syslogtag%', '%msg%')" +add_conf '") + + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" port="8443" + user="default" pwd="" template="outfmt") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.bulk ( id Int32, severity Int8, facility Int8, timestamp DateTime, ipaddress String, tag String, message String ) ENGINE = MergeTree() PARTITION BY severity Order By id" + +startup +injectmsg +shutdown_when_empty +wait_shutdown +clickhouse-client --query="SELECT id, severity, facility, ipaddress, tag, message FROM rsyslog.bulk ORDER BY id" > $RSYSLOG_OUT_LOG + +export EXPECTED='0 7 20 127.0.0.1 tag msgnum:00000000: +1 7 20 127.0.0.1 tag msgnum:00000001: +2 7 20 127.0.0.1 tag msgnum:00000002: +3 7 20 127.0.0.1 tag msgnum:00000003: +4 7 20 127.0.0.1 tag msgnum:00000004: +5 7 20 127.0.0.1 tag msgnum:00000005: +6 7 20 127.0.0.1 tag msgnum:00000006: +7 7 20 127.0.0.1 tag msgnum:00000007: +8 7 20 127.0.0.1 tag msgnum:00000008: +9 7 20 127.0.0.1 tag msgnum:00000009:' +cmp_exact $RSYSLOG_OUT_LOG + +clickhouse-client --query="DROP TABLE rsyslog.bulk" +exit_test diff --git a/tests/clickhouse-dflt-tpl.sh b/tests/clickhouse-dflt-tpl.sh new file mode 100755 index 0000000..3224b86 --- /dev/null +++ b/tests/clickhouse-dflt-tpl.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# add 2018-12-07 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=1 +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" port="8443" bulkmode="off" + user="default" pwd="") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.SystemEvents ( severity Int8, facility Int8, timestamp DateTime, hostname String, tag String, message String ) ENGINE = MergeTree() PARTITION BY severity order by tuple()" + +startup +injectmsg +shutdown_when_empty +wait_shutdown +clickhouse-client --query="SELECT * FROM rsyslog.SystemEvents FORMAT CSV" > $RSYSLOG_OUT_LOG + +clickhouse-client --query="DROP TABLE rsyslog.SystemEvents" +content_check --regex '7,20,"20..-03-01 01:00:00","172.20.245.8","tag"," msgnum:00000000:"' + +exit_test diff --git a/tests/clickhouse-errorfile.sh b/tests/clickhouse-errorfile.sh new file mode 100755 index 0000000..6004861 --- /dev/null +++ b/tests/clickhouse-errorfile.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# add 2018-12-07 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +echo looks like clickhouse does no longer generate exceptions on error - skip until investigated +exit 77 +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +module(load="../plugins/omclickhouse/.libs/omclickhouse") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +template(name="outfmt" option.stdsql="on" type="string" string="INSERT INTO rsyslog.errorfile (id, severity, facility, timestamp, ipaddress, tag, message) VALUES (%msg:F,58:2%, %syslogseverity%, %syslogfacility%, ' +add_conf "'%timereported:::date-unixtimestamp%', '%fromhost-ip%', '%syslogtag%', '%msg%')" +add_conf '") + + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" port="8443" + user="default" pwd="" template="outfmt" + bulkmode="off" errorfile="'$RSYSLOG_OUT_LOG'") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.errorfile ( id Int32, severity Int8, facility Int8, timestamp DateTime, ipaddress String, tag String, message String ) ENGINE = MergeTree() PARTITION BY severity Order By id" + +startup +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag: msgnum:NoInteger\"" +shutdown_when_empty +wait_shutdown + +content_check --regex "msgnum:NoInteger.*DB::Exception:" + +clickhouse-client --query="DROP TABLE rsyslog.errorfile" +exit_test diff --git a/tests/clickhouse-limited-batch.sh b/tests/clickhouse-limited-batch.sh new file mode 100755 index 0000000..7f1fcd1 --- /dev/null +++ b/tests/clickhouse-limited-batch.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# add 2018-12-20 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=100000 + +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +template(name="outfmt" option.stdsql="on" type="string" string="INSERT INTO rsyslog.limited (id, ipaddress, message) VALUES (%msg:F,58:2%, ' +add_conf "'%fromhost-ip%', '%msg:F,58:2%')" +add_conf '") + + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" port="8443" + user="default" pwd="" template="outfmt" + maxbytes="1k") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.limited ( id Int32, ipaddress String, message String ) ENGINE = MergeTree() PARTITION BY ipaddress Order By id" + +startup +injectmsg +shutdown_when_empty +wait_shutdown +clickhouse-client --query="SELECT message FROM rsyslog.limited ORDER BY id" > $RSYSLOG_OUT_LOG + +clickhouse-client --query="DROP TABLE rsyslog.limited" +seq_check 0 $(( NUMMESSAGES - 1 )) + +exit_test diff --git a/tests/clickhouse-load-vg.sh b/tests/clickhouse-load-vg.sh new file mode 100755 index 0000000..e0e33eb --- /dev/null +++ b/tests/clickhouse-load-vg.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export USE_VALGRIND="YES" +source ${srcdir:-.}/clickhouse-load.sh diff --git a/tests/clickhouse-load.sh b/tests/clickhouse-load.sh new file mode 100755 index 0000000..40e00b9 --- /dev/null +++ b/tests/clickhouse-load.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# add 2018-12-07 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=1000 + +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +template(name="outfmt" option.stdsql="on" type="string" string="INSERT INTO rsyslog.load (id, ipaddress, message) VALUES (%msg:F,58:2%, ' +add_conf "'%fromhost-ip%', '%msg:F,58:2%')" +add_conf '") + + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" usehttps="off" + user="default" pwd="" template="outfmt" + bulkmode="off") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.load ( id Int32, ipaddress String, message String ) ENGINE = MergeTree() PARTITION BY ipaddress Order By id" + +startup +injectmsg +shutdown_when_empty +wait_shutdown +clickhouse-client --query="SELECT message FROM rsyslog.load ORDER BY id" > $RSYSLOG_OUT_LOG + +clickhouse-client --query="DROP TABLE rsyslog.load" +seq_check 0 $(( NUMMESSAGES - 1 )) + +exit_test diff --git a/tests/clickhouse-retry-error.sh b/tests/clickhouse-retry-error.sh new file mode 100755 index 0000000..d5dccff --- /dev/null +++ b/tests/clickhouse-retry-error.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# add 2018-12-31 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=1 +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +template(name="outfmt" option.stdsql="on" type="string" string="INSERT INTO rsyslog.retryerror (id, severity, message) VALUES (%msg:F,58:2%, %syslogseverity%, ' +add_conf "'%msg%')" +add_conf '") + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" + bulkmode="off" user="default" pwd="" + template="outfmt") + +action(type="omfile" file="'$RSYSLOG_OUT_LOG'") +' + +startup +injectmsg +shutdown_when_empty +wait_shutdown + +content_check "omclickhouse: checkConn failed." + +exit_test diff --git a/tests/clickhouse-select.sh b/tests/clickhouse-select.sh new file mode 100755 index 0000000..0f5ccc3 --- /dev/null +++ b/tests/clickhouse-select.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# add 2018-12-07 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=1 +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +template(name="outfmt" option.stdsql="on" type="string" string="SELECT * FROM rsyslog.select") + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" port="8443" + bulkmode="off" user="default" pwd="" + template="outfmt") + +action(type="omfile" file="'$RSYSLOG_OUT_LOG'") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.select ( id Int32, severity Int8, facility Int8, timestamp DateTime, ipaddress String, tag String, message String ) ENGINE = MergeTree() PARTITION BY severity Order By id" + +startup +injectmsg +shutdown_when_empty +wait_shutdown + +clickhouse-client --query="DROP TABLE rsyslog.select" +content_check "omclickhouse: Message is no Insert query: Message suspended: SELECT * FROM rsyslog.select" + +exit_test diff --git a/tests/clickhouse-start.sh b/tests/clickhouse-start.sh new file mode 100755 index 0000000..200200c --- /dev/null +++ b/tests/clickhouse-start.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# This is not a real test, but a script to start clickhouse. It is +# implemented as test so that we can start clickhouse at the time we need +# it (do so via Makefile.am). +# Copyright (C) 2018 Pascal Withopf and Adiscon GmbH +# Released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +set -x +if [ "$CLICKHOUSE_START_CMD" == "" ]; then + exit_test # no start needed +fi + +test_error_exit_handler() { + printf 'clickhouse startup failed, log is:\n' + $SUDO cat /var/log/clickhouse-server/clickhouse-server.err.log +} + +printf 'starting clickhouse...\n' +$CLICKHOUSE_START_CMD & +sleep 10 +#wait_startup_pid /var/run/clickhouse-server/clickhouse-server.pid +printf 'preparing clickhouse for testbench use...\n' +$SUDO ${srcdir}/../devtools/prepare_clickhouse.sh +clickhouse-client --query="select 1" +rc=$? +if [ $rc -ne 0 ]; then + printf 'clickhouse failed to start, exit code %d\n' $rc + error_exit 100 +fi +printf 'done, clickhouse ready for testbench\n' +exit_test diff --git a/tests/clickhouse-stop.sh b/tests/clickhouse-stop.sh new file mode 100755 index 0000000..7f132d8 --- /dev/null +++ b/tests/clickhouse-stop.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# This is not a real test, but a script to stop clickhouse. It is +# implemented as test so that we can stop clickhouse at the time we need +# it (do so via Makefile.am). +# Copyright (C) 2018 Pascal Withopf and Adiscon GmbH +# Released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +if [ "$CLICKHOUSE_STOP_CMD" == "" ]; then + exit_test +fi + +clickhouse-client --query="DROP DATABASE rsyslog" +sleep 1 +printf 'stopping clickhouse...\n' +#$SUDO sed -n -r 's/PID: ([0-9]+\.*)/\1/p' /var/lib/clickhouse/status > /tmp/clickhouse-server.pid +#$SUDO kill $($SUDO sed -n -r 's/PID: ([0-9]+\.*)/\1/p' /var/lib/clickhouse/status) +eval $CLICKHOUSE_STOP_CMD +sleep 1 # cosmetic: give clickhouse a chance to emit shutdown message +exit_test diff --git a/tests/clickhouse-wrong-insert-syntax.sh b/tests/clickhouse-wrong-insert-syntax.sh new file mode 100755 index 0000000..7c3ae9e --- /dev/null +++ b/tests/clickhouse-wrong-insert-syntax.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# add 2018-12-07 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +echo looks like clickhouse does no longer generate exceptions on error - skip until investigated +exit 77 +export NUMMESSAGES=1 +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +template(name="outfmt" option.stdsql="on" type="string" string="INSERT INTO rsyslog.wrongInsertSyntax (id, severity, facility, timestamp, ipaddress, tag, message) VLUES (%msg:F,58:2%, %syslogseverity%, %syslogfacility%, ' +add_conf "'%timereported:::date-unixtimestamp%', '%fromhost-ip%', '%syslogtag%', '%msg%')" +add_conf '") + + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" port="8443" + user="default" pwd="" template="outfmt" + bulkmode="off" errorfile="'$RSYSLOG_OUT_LOG'") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.wrongInsertSyntax ( id Int32, severity Int8, facility Int8, timestamp DateTime, ipaddress String, tag String, message String ) ENGINE = MergeTree() PARTITION BY severity Order By id" + +startup +injectmsg +shutdown_when_empty +wait_shutdown + +clickhouse-client --query="DROP TABLE rsyslog.wrongInsertSyntax" +content_check "DB::Exception: Syntax error" +exit_test diff --git a/tests/clickhouse-wrong-quotation-marks.sh b/tests/clickhouse-wrong-quotation-marks.sh new file mode 100755 index 0000000..618aafe --- /dev/null +++ b/tests/clickhouse-wrong-quotation-marks.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# add 2018-12-19 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +module(load="../plugins/omclickhouse/.libs/omclickhouse") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + + +template(name="outfmt" option.stdsql="on" type="string" string="INSERT INTO rsyslog.quotation (id, severity, message) VALUES ( 1, ' +add_conf "%syslogseverity%, '%msg%')" +add_conf '") + + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" + port="8443" bulkmode="off" + user="default" pwd="" template="outfmt") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.quotation ( id Int32, severity Int8, message String ) ENGINE = MergeTree() PARTITION BY severity Order By id" + +startup +tcpflood -m1 -M "\"<130>Mar 10 01:00:00 172.20.245.8 tag:it's a test\"" +shutdown_when_empty +wait_shutdown +clickhouse-client --query="SELECT id, severity, message FROM rsyslog.quotation" > $RSYSLOG_OUT_LOG + +export EXPECTED="1 2 it\\'s a test" +cmp_exact $RSYSLOG_OUT_LOG + +clickhouse-client --query="DROP TABLE rsyslog.quotation" +exit_test diff --git a/tests/clickhouse-wrong-template-option.sh b/tests/clickhouse-wrong-template-option.sh new file mode 100755 index 0000000..3c9083f --- /dev/null +++ b/tests/clickhouse-wrong-template-option.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# add 2018-12-19 by Pascal Withopf, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=1 +generate_conf +add_conf ' +module(load="../plugins/omclickhouse/.libs/omclickhouse") + +template(name="outfmt" type="string" string="INSERT INTO rsyslog.template (id, severity, facility, timestamp, ipaddress, tag, message) VALUES (%msg:F,58:2%, %syslogseverity%, %syslogfacility%, ' +add_conf "'%timereported:::date-unixtimestamp%', '%fromhost-ip%', '%syslogtag%', '%msg%')" +add_conf '") + + +:syslogtag, contains, "tag" action(type="omclickhouse" server="localhost" + usehttps="off" bulkmode="off" + user="default" pwd="" template="outfmt") + +action(type="omfile" file="'$RSYSLOG_OUT_LOG'") +' + +clickhouse-client --query="CREATE TABLE IF NOT EXISTS rsyslog.template ( id Int32, severity Int8, facility Int8, timestamp DateTime, ipaddress String, tag String, message String ) ENGINE = MergeTree() PARTITION BY severity Order By id" + +startup +injectmsg +shutdown_when_empty +wait_shutdown + +clickhouse-client --query="DROP TABLE rsyslog.template" +content_check "you have to specify the SQL or stdSQL option in your template!" + +exit_test diff --git a/tests/complex1.sh b/tests/complex1.sh new file mode 100755 index 0000000..a51d332 --- /dev/null +++ b/tests/complex1.sh @@ -0,0 +1,132 @@ +#!/bin/bash +# This is a rather complex test that runs a number of features together. +# +# added 2010-03-16 by Rgerhards +# +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +skip_platform "SunOS" "This test currently does not work on all flavors of Solaris." +export NUMMESSAGES=40000 +export RSYSLOG_PORT2="$(get_free_port)" +export RSYSLOG_PORT3="$(get_free_port)" +generate_conf +echo ports: $TCPFLOOD_PORT $RSYSLOG_PORT2 $RSYSLOG_PORT3 +add_conf ' +$MaxMessageSize 10k + +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 + +$template outfmt,"%msg:F,58:3%,%msg:F,58:4%,%msg:F,58:5%\n" +$template dynfile,"'$RSYSLOG_DYNNAME'.out.%inputname%.%msg:F,58:2%.log.Z" + +## RULESET with listener +$Ruleset R13514 +# queue params: +$ActionQueueTimeoutShutdown 60000 +$ActionQueueTimeoutEnqueue 20000 +$ActionQueueSize 5000 +$ActionQueueSaveOnShutdown on +$ActionQueueHighWaterMark 4900 +$ActionQueueLowWaterMark 3500 +$ActionQueueType FixedArray +$ActionQueueWorkerThreads 1 +# action params: +$OMFileFlushOnTXEnd off +$OMFileZipLevel 6 +$DynaFileCacheSize 4 +$omfileFlushInterval 1 +*.* ?dynfile;outfmt +action(type="omfile" file ="'$RSYSLOG_DYNNAME'.countfile") +# listener +$InputTCPServerInputName '$TCPFLOOD_PORT' +$InputTCPServerBindRuleset R13514 +$InputTCPServerRun '$TCPFLOOD_PORT' + + +## RULESET with listener +$Ruleset R_PORT2 +# queue params: +$ActionQueueTimeoutShutdown 60000 +$ActionQueueTimeoutEnqueue 20000 +$ActionQueueSize 5000 +$ActionQueueSaveOnShutdown on +$ActionQueueHighWaterMark 4900 +$ActionQueueLowWaterMark 3500 +$ActionQueueType FixedArray +$ActionQueueWorkerThreads 1 +# action params: +$OMFileFlushOnTXEnd off +$OMFileZipLevel 6 +$OMFileIOBufferSize 256k +$DynaFileCacheSize 4 +$omfileFlushInterval 1 +*.* ?dynfile;outfmt +action(type="omfile" file ="'$RSYSLOG_DYNNAME'.countfile") +# listener +$InputTCPServerInputName '$RSYSLOG_PORT2' +$InputTCPServerBindRuleset R_PORT2 +$InputTCPServerRun '$RSYSLOG_PORT2' + + + +## RULESET with listener +$Ruleset R_PORT3 +# queue params: +$ActionQueueTimeoutShutdown 60000 +$ActionQueueTimeoutEnqueue 20000 +$ActionQueueSize 5000 +$ActionQueueSaveOnShutdown on +$ActionQueueHighWaterMark 4900 +$ActionQueueLowWaterMark 3500 +$ActionQueueType FixedArray +$ActionQueueWorkerThreads 1 +# action params: +$OMFileFlushOnTXEnd off +$OMFileZipLevel 6 +$OMFileIOBufferSize 256k +$DynaFileCacheSize 4 +$omfileFlushInterval 1 +*.* ?dynfile;outfmt +action(type="omfile" file ="'$RSYSLOG_DYNNAME'.countfile") +# listener +$InputTCPServerInputName '$RSYSLOG_PORT3' +$InputTCPServerBindRuleset R_PORT3 +$InputTCPServerRun '$RSYSLOG_PORT3' +' + +count_function() { + # TODO: try to make this work on the compressed files, only + # idea does not work as we miss end-of-zip record + # leaving it commented out if we see we should really switch to that + # method; if we do not need for an extended period of time, this shall + # be removed -- rgerhards, 2018-12-19 + #mkdir "$RSYSLOG_DYNNAME.countwrk" + #cp $RSYSLOG_DYNNAME.out.*.log.Z "$RSYSLOG_DYNNAME.countwrk" + #cd "$RSYSLOG_DYNNAME.countwrk" + #gunzip $RSYSLOG_DYNNAME.out.*.log.Z + #printf '%d' $(cat $RSYSLOG_DYNNAME.out.*.log | wc -l) + #cd .. + #rm -rf "$RSYSLOG_DYNNAME.countwrk" + + # now the real - simple - code: + printf '%d' $(wc -l < $RSYSLOG_DYNNAME.countfile) +} + +startup +# send 40,000 messages of 400 bytes plus header max, via three dest ports +export TCPFLOOD_PORT="$TCPFLOOD_PORT:$RSYSLOG_PORT2:$RSYSLOG_PORT3" +tcpflood -m$NUMMESSAGES -rd400 -P129 -f5 -n3 -c15 -i1 + +# note: we have FlushOnTX=off, so we will not see the last block inside the file; +# as such we wait until a "sufficiently large" number of messages has arrived and +# hope that shutdown_when_empty gets us toward the rest. It's still a bit racy, +# but should be better than without the wait_file_lines. +wait_file_lines --delay 1000 --count-function count_function DUMMY-filename $((NUMMESSAGES - 1500)) +shutdown_when_empty +wait_shutdown +ls $RSYSLOG_DYNNAME.out.*.log.Z +gunzip $RSYSLOG_DYNNAME.out.*.log.Z +cat $RSYSLOG_DYNNAME.out.*.log > $RSYSLOG_OUT_LOG +seq_check 1 $NUMMESSAGES -E +exit_test diff --git a/tests/compresssp-stringtpl.sh b/tests/compresssp-stringtpl.sh new file mode 100755 index 0000000..957cede --- /dev/null +++ b/tests/compresssp-stringtpl.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# addd 2016-03-22 by RGerhards, released under ASL 2.0 + +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +template(name="outfmt" type="string" string="%msg:::compressSPACE%\n") +:msg, contains, "msgnum:" action(type="omfile" template="outfmt" + file=`echo $RSYSLOG_OUT_LOG`) +' + +startup +# we need to generate a file, because otherwise our multiple spaces +# do not survive the execution paths through the shell +echo "<165>1 2003-08-24T05:14:15.000003-07:00 192.0.2.1 tcpflood 8710 - - msgnum:0000000 test test test" >$RSYSLOG_DYNNAME.tmp +tcpflood -I $RSYSLOG_DYNNAME.tmp +rm $RSYSLOG_DYNNAME.tmp +#tcpflood -m1 -M"\"<165>1 2003-08-24T05:14:15.000003-07:00 192.0.2.1 tcpflood 8710 - - msgnum:0000000 test test test\"" +shutdown_when_empty +wait_shutdown +export EXPECTED="msgnum:0000000 test test test" +cmp_exact +exit_test diff --git a/tests/compresssp.sh b/tests/compresssp.sh new file mode 100755 index 0000000..3261568 --- /dev/null +++ b/tests/compresssp.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# addd 2016-03-22 by RGerhards, released under ASL 2.0 + +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +template(name="outfmt" type="list") { + property(name="msg" compressSpace="on") + constant(value="\n") +} +:msg, contains, "msgnum:" action(type="omfile" template="outfmt" + file=`echo $RSYSLOG_OUT_LOG`) +' + +startup +# we need to generate a file, because otherwise our multiple spaces +# do not survive the execution paths through the shell +echo "<165>1 2003-08-24T05:14:15.000003-07:00 192.0.2.1 tcpflood 8710 - - msgnum:0000000 test test test" >$RSYSLOG_DYNNAME.tmp +tcpflood -I $RSYSLOG_DYNNAME.tmp +rm $RSYSLOG_DYNNAME.tmp +#tcpflood -m1 -M"\"<165>1 2003-08-24T05:14:15.000003-07:00 192.0.2.1 tcpflood 8710 - - msgnum:0000000 test test test\"" +shutdown_when_empty +wait_shutdown +export EXPECTED="msgnum:0000000 test test test" +cmp_exact +exit_test diff --git a/tests/config_enabled-off.sh b/tests/config_enabled-off.sh new file mode 100755 index 0000000..8cc2777 --- /dev/null +++ b/tests/config_enabled-off.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# check disabling a config construct via config.enable. Most +# importantly ensure that it does not emit any error messages +# for object parameters. +# addd 2019-05-09 by RGerhards, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/imfile/.libs/imfile") +input(type="imfile" file="/tmp/notyet.txt" tag="testing-tag" config.enabled="off") +action(type="omfile" file="'$RSYSLOG_OUT_LOG'") +' +startup +shutdown_when_empty +wait_shutdown +content_check 'imfile: no files configured' +check_not_present 'parameter .* not known' +exit_test diff --git a/tests/config_enabled-on.sh b/tests/config_enabled-on.sh new file mode 100755 index 0000000..11e5f8f --- /dev/null +++ b/tests/config_enabled-on.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# check disabling a config construct via config.enable. Most +# importantly ensure that it does not emit any error messages +# for object parameters. +# addd 2019-12-09 by RGerhards, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/imfile/.libs/imfile") +input(type="imfile" file="/tmp/notyet.txt" tag="testing-tag" config.enabled="on" invalid.param="error") +action(type="omfile" file="'$RSYSLOG_OUT_LOG'") +' +startup +shutdown_when_empty +wait_shutdown +content_check 'imfile: on startup file' +content_check --regex 'parameter.*invalid.param.*not known' +check_not_present 'parameter.*config.enabled.*not known' +exit_test diff --git a/tests/config_multiple_include.sh b/tests/config_multiple_include.sh new file mode 100755 index 0000000..534640c --- /dev/null +++ b/tests/config_multiple_include.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# check nested include processing works correctly (and keeps proper order) +# added 2021-03-29 by Rainer Gerhards; Released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=5000 +# Note: we need to pre-build the second level include file name because +# under "make distchek" we have a different environment and with the +# current rsyslog implemenation, we can only have a single environment +# variable in an `echo $VAR` block. This we cannot combine the include +# file name inside the config include without this trick. +export INCLUDE2="${srcdir}/testsuites/include-std2-omfile-action.conf" +generate_conf +add_conf ' +template(name="outfmt" type="string" string="%msg:F,58:2%\n") + +if $msg contains "msgnum:" then { + include(file="'${srcdir}'/testsuites/include-std1-omfile-actio*.conf") + continue +} +' +startup +injectmsg +shutdown_when_empty +wait_shutdown +seq_check +ls -l "$RSYSLOG2_OUT_LOG" +if [ -f "$RSYSLOG2_OUT_LOG" ]; then + printf '\nERROR: file %s exists, but should have stopped by inner include\n' "$RSYSLOG2_OUT_LOG" + printf 'This looks like a problem with order of include file processing.\n\n' + error_exit 1 +fi +exit_test diff --git a/tests/config_output-o-option.sh b/tests/config_output-o-option.sh new file mode 100755 index 0000000..65c30ea --- /dev/null +++ b/tests/config_output-o-option.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# check that the -o command line option works +# added 2019-04-26 by Rainer Gerhards; Released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +template(name="outfmt" type="string" string="%msg:F,58:2%\n") + +if $msg contains "msgnum:" then { + include(file="'${srcdir}'/testsuites/include-std-omfile-actio*.conf") + continue +} +' +../tools/rsyslogd -N1 -f${TESTCONF_NM}.conf -o$RSYSLOG_DYNNAME.fullconf -M../runtime/.libs:../.libs +content_check 'if $msg contains "msgnum:" then' $RSYSLOG_DYNNAME.fullconf +content_check 'action(type="omfile"' $RSYSLOG_DYNNAME.fullconf +content_check --regex "BEGIN CONFIG: .*include-std-omfile-action.conf" $RSYSLOG_DYNNAME.fullconf +exit_test diff --git a/tests/da-mainmsg-q.sh b/tests/da-mainmsg-q.sh new file mode 100755 index 0000000..386fa08 --- /dev/null +++ b/tests/da-mainmsg-q.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# Test for DA mode on the main message queue +# This test checks if DA mode operates correctly. To do so, +# it uses a small in-memory queue size, so that DA mode is initiated +# rather soon, and disk spooling used. There is some uncertainty (based +# on machine speeds), but in general the test should work rather well. +# We add a few messages after the initial run, just so that we can +# check everything recovers from DA mode correctly. +# added 2009-04-22 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +# set spool locations and switch queue to disk assisted mode +$WorkDirectory '$RSYSLOG_DYNNAME'.spool +$MainMsgQueueSize 200 # this *should* trigger moving on to DA mode... +# note: we must set QueueSize sufficiently high, so that 70% (light delay mark) +# is high enough above HighWatermark! +$MainMsgQueueHighWatermark 80 +$MainMsgQueueLowWatermark 40 +$MainMsgQueueFilename mainq +$MainMsgQueueType linkedlist + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup + +# part1: send first 50 messages (in memory, only) +injectmsg 0 50 +wait_file_lines $RSYSLOG_OUT_LOG 50 # let queue drain for this test case + +# part 2: send bunch of messages. This should trigger DA mode +injectmsg 50 2000 +ls -l ${RSYSLOG_DYNNAME}.spool # for manual review +wait_file_lines $RSYSLOG_OUT_LOG 2050 # wait to ensure DA queue is "empty" + +# send another handful +injectmsg 2050 50 + +shutdown_when_empty +wait_shutdown +seq_check 0 2099 +exit_test diff --git a/tests/da-queue-persist.sh b/tests/da-queue-persist.sh new file mode 100755 index 0000000..e5d9ced --- /dev/null +++ b/tests/da-queue-persist.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# Test for DA queue data persisting at shutdown. The +# plan is to start an instance, emit some data, do a relatively +# fast shutdown and then re-start the engine to process the +# remaining data. +# added 2019-05-08 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=10000 +generate_conf +add_conf ' +global(workDirectory="'${RSYSLOG_DYNNAME}'.spool") +main_queue(queue.type="linkedList" queue.filename="mainq" + queue.timeoutShutdown="1" queue.saveonshutdown="on") + +module(load="../plugins/omtesting/.libs/omtesting") +template(name="outfmt" type="string" string="%msg:F,58:2%\n") + +if $msg contains "msgnum:" then + action(type="omfile" file="'$RSYSLOG_OUT_LOG'" template="outfmt") +else + action(type="omfile" file="'$RSYSLOG_DYNNAME'.othermsg") + +$IncludeConfig '${RSYSLOG_DYNNAME}'work-delay.conf +' + +# prepare config +echo "*.* :omtesting:sleep 0 1000" > ${RSYSLOG_DYNNAME}work-delay.conf + +startup +injectmsg 0 $NUMMESSAGES +shutdown_immediate +wait_shutdown +check_mainq_spool + +echo "Enter phase 2, rsyslogd restart" +# note: we may have some few duplicates! +echo "#" > ${RSYSLOG_DYNNAME}work-delay.conf +wait_seq_check_with_dupes() { + wait_seq_check 0 $((NUMMESSAGES - 1)) -d +} +export QUEUE_EMPTY_CHECK_FUNC=wait_seq_check_with_dupes +startup +shutdown_when_empty +seq_check 0 $((NUMMESSAGES - 1)) -d +content_check "queue files exist on disk, re-starting with" $RSYSLOG_DYNNAME.othermsg +exit_test diff --git a/tests/daqueue-dirty-shutdown.sh b/tests/daqueue-dirty-shutdown.sh new file mode 100755 index 0000000..c8de84b --- /dev/null +++ b/tests/daqueue-dirty-shutdown.sh @@ -0,0 +1,116 @@ +#!/bin/bash +# This test simulates the case where the OS force-terminates rsyslog +# before it completely finishes persisting the queue to disk. Obviously, +# there is some data loss involved, but rsyslog should try to limit it. +# Most importantly, a .qi file needs to be written at "save" places, so that +# at least the queue is kind of readable. +# To simulate the error condition, we create a DA queue with a large memory +# part and fill it via injectmsg (do NOT use tcpflood, as this would add +# complexity of TCP window etc to the reception of messages - injectmsg is +# synchronous, so we do not have anything in flight after it terminates). +# We have a blocking action which prevents actual processing of any of the +# injected messages. We then inject a large number of messages, but only +# few above the number the memory part of the disk can hold. So the disk queue +# begins to get used. Once injection is done, we terminate rsyslog in the +# regular way, which will cause the memory part of the queue to be written +# out. After a relatively short period, we kill -9 rsyslogd, so that it +# does not have any chance to fully persists its state (this actually is +# what happens when force-terminated by the OS). +# Then, we check that at a minimum the .qi file exists. +# Copyright (C) 2016 by Rainer Gerhards +# Released under ASL 2.0 + +#uncomment the following if you want a log for step 1 of this test +#export RSYSLOG_DEBUG="debug nologfuncflow noprintmutexaction nostdout" +#export RSYSLOG_DEBUGLOG="log" +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/omtesting/.libs/omtesting") + +# set spool locations and switch queue to disk-only mode +global(workDirectory="'${RSYSLOG_DYNNAME}'.spool") +main_queue(queue.filename="mainq" queue.saveonshutdown="on" + queue.timeoutshutdown="1" queue.maxfilesize="1m" + queue.timeoutworkerthreadshutdown="500" queue.size="200000" + ) + +:msg, contains, "msgnum:" :omtesting:sleep 10 0 +' +startup +injectmsg 0 210000 +echo spool files immediately before shutdown: +ls ${RSYSLOG_DYNNAME}.spool +shutdown_immediate # shut down without the ability to fully persist state +./msleep 750 # simulate an os timeout (let it run a *very short* bit, else it's done ;)) +echo spool files immediately after shutdown \(but before kill\): +ls -l ${RSYSLOG_DYNNAME}.spool + + +. $srcdir/diag.sh kill-immediate # do not give it sufficient time to shutdown +wait_shutdown +rm -f $RSYSLOG_PIDBASE.pid # as we kill, rsyslog does not itself cleanup the pid file + +echo spool files after kill: +ls -l ${RSYSLOG_DYNNAME}.spool + +if [ ! -f ${RSYSLOG_DYNNAME}.spool/mainq.qi ]; then + echo "FAIL: .qi file does not exist!" + error_exit 1 +fi + +echo .qi file contents: +cat ${RSYSLOG_DYNNAME}.spool/mainq.qi + + +# We now restart rsyslog and make sure it'll clean up the disk queue. +# So far, we cannot reliably detect if the data is properly shuffled +# over, but that's a moot point anyhow because we expect to loss +# (large) amounts of the data. In later stages, we however may verify + +#uncomment the following if you want a log for step 2 of this test +#export RSYSLOG_DEBUG="debug nologfuncflow noprintmutexaction nostdout" +#export RSYSLOG_DEBUGLOG="log2" + +printf 'RSYSLOG RESTART\n\n' +# special case: we need to preserve our dynamic settings, as generate_conf +# overwrites them. TODO: handle this in diag.sh +RSYSLOG_DYNNAME_SAVE="$RSYSLOG_DYNNAME" +RSYSLOG_OUT_LOG_SAVE="$RSYSLOG_OUT_LOG" +generate_conf +RSYSLOG_OUT_LOG="$RSYSLOG_OUT_LOG_SAVE" +RSYSLOG_DYNNAME="$RSYSLOG_DYNNAME_SAVE" +add_conf ' +module(load="../plugins/omtesting/.libs/omtesting") + +global(workDirectory="'${RSYSLOG_DYNNAME}'.spool") +main_queue(queue.filename="mainq" queue.saveonshutdown="on" + queue.maxfilesize="1m" # note: now regular shutdown timeout! + queue.timeoutworkerthreadshutdown="500" queue.size="200000" + ) + +$template outfmt,"%msg:F,58:2%\n" +action(type="omfile" file="'$RSYSLOG_OUT_LOG'" template="outfmt") +' +startup +#wait_queueempty +#echo existing queue empty, injecting new data +#injectmsg 1000000 1000 +shutdown_when_empty +wait_shutdown + +# now the spool directory must be empty +spoolFiles=$(ls ${RSYSLOG_DYNNAME}.spool/) + +if [[ ! -z $spoolFiles ]]; then + echo "FAIL: spool directory is not empty!" + ls -l ${RSYSLOG_DYNNAME}.spool + error_exit 1 +fi + +# check if we got at least some data +if [ ! -f $RSYSLOG_OUT_LOG ]; then + echo "FAIL: no output data gathered (no ${RSYSLOG_OUT_LOG})!" + error_exit 1 +fi +exit_test diff --git a/tests/daqueue-invld-qi.sh b/tests/daqueue-invld-qi.sh new file mode 100755 index 0000000..94d6e72 --- /dev/null +++ b/tests/daqueue-invld-qi.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +skip_platform "SunOS" "This test currently does not work on all flavors of Solaris." + +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 1 +$MainMsgQueueSaveOnShutdown on +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$ModLoad ../plugins/omtesting/.libs/omtesting + +# set spool locations and switch queue to disk-only mode +$WorkDirectory '$RSYSLOG_DYNNAME'.spool +$MainMsgQueueFilename mainq +$IncludeConfig '${RSYSLOG_DYNNAME}'work-queuemode.conf + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt + +$IncludeConfig '${RSYSLOG_DYNNAME}'work-delay.conf +' +#export RSYSLOG_DEBUG="debug nologfuncflow nostdout noprintmutexaction" +#export RSYSLOG_DEBUGLOG="log" + +# prepare config +echo \$MainMsgQueueType LinkedList > ${RSYSLOG_DYNNAME}work-queuemode.conf +echo "*.* :omtesting:sleep 0 1000" > ${RSYSLOG_DYNNAME}work-delay.conf + +# inject 10000 msgs, so that DO hit the high watermark +startup +injectmsg 0 10000 +shutdown_immediate +wait_shutdown +check_mainq_spool +./mangle_qi -d -q ${RSYSLOG_DYNNAME}.spool/mainq.qi > tmp.qi +mv tmp.qi ${RSYSLOG_DYNNAME}.spool/mainq.qi + +echo "Enter phase 2, rsyslogd restart" + +# restart engine and have rest processed +#remove delay +echo "#" > ${RSYSLOG_DYNNAME}work-delay.conf +startup +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown +seq_check 0 9999 -d +exit_test diff --git a/tests/daqueue-persist-drvr.sh b/tests/daqueue-persist-drvr.sh new file mode 100755 index 0000000..ec5c1af --- /dev/null +++ b/tests/daqueue-persist-drvr.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# Test for queue data persisting at shutdown. The +# plan is to start an instance, emit some data, do a relatively +# fast shutdown and then re-start the engine to process the +# remaining data. +# added 2009-05-27 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +# uncomment for debugging support: +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 1 +$MainMsgQueueSaveOnShutdown on +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$ModLoad ../plugins/omtesting/.libs/omtesting + +# set spool locations and switch queue to disk-only mode +$WorkDirectory '$RSYSLOG_DYNNAME'.spool +$MainMsgQueueFilename mainq +$IncludeConfig '${RSYSLOG_DYNNAME}'work-queuemode.conf + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt + +$IncludeConfig '${RSYSLOG_DYNNAME}'work-delay.conf +' + +#export RSYSLOG_DEBUG="debug nologfuncflow nostdout noprintmutexaction" +#export RSYSLOG_DEBUGLOG="log" + +# prepare config +echo \$MainMsgQueueType $1 > ${RSYSLOG_DYNNAME}work-queuemode.conf +echo "*.* :omtesting:sleep 0 1000" > ${RSYSLOG_DYNNAME}work-delay.conf + +# inject 10000 msgs, so that DO hit the high watermark +startup +injectmsg 0 10000 +shutdown_immediate +wait_shutdown +check_mainq_spool + +echo "Enter phase 2, rsyslogd restart" + +# restart engine and have rest processed +#remove delay +echo "#" > ${RSYSLOG_DYNNAME}work-delay.conf +startup +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown +seq_check 0 9999 +exit_test diff --git a/tests/daqueue-persist.sh b/tests/daqueue-persist.sh new file mode 100755 index 0000000..9499a06 --- /dev/null +++ b/tests/daqueue-persist.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Test for queue data persisting at shutdown. We use the actual driver +# to carry out multiple tests with different queue modes +# added 2009-05-27 by Rgerhards +# This file is part of the rsyslog project, released under GPLv3 +echo =============================================================================== +echo \[daqueue-persist.sh\]: test data persisting at shutdown +echo TEST is currently DISABLE because it is unstable +exit 77 +echo mode linkedList +$srcdir/daqueue-persist-drvr.sh LinkedList +echo mode fixedArray +$srcdir/daqueue-persist-drvr.sh FixedArray +# the disk test should not fail, however, the config is extreme and using +# it more or less is a config error +echo Disk +$srcdir/daqueue-persist-drvr.sh Disk +# we do not test Direct mode because this absolute can not work in direct mode +# (maybe we should do a fail-type of test?) diff --git a/tests/diag.sh b/tests/diag.sh new file mode 100755 index 0000000..c35edb0 --- /dev/null +++ b/tests/diag.sh @@ -0,0 +1,2946 @@ +#!/bin/bash +# +# this shell script provides commands to the common diag system. It enables +# test scripts to wait for certain conditions and initiate certain actions. +# needs support in config file. +# NOTE: this file should be included with ". diag.sh", as it otherwise is +# not always able to convey back states to the upper-level test driver +# begun 2009-05-27 by rgerhards +# This file is part of the rsyslog project, released under GPLv3 +# +# This file can be customized to environment specifics via environment +# variables: +# SUDO either blank, or the command to use for sudo (usually "sudo"). +# This env var is sometimes used to increase the chance that we +# get extra information, e.g. when trying to analyze running +# processes. Bottom line: if sudo is possible and you are OK with +# the testbench utilizing this, use +# export SUDO=sudo +# to activate the extra functionality. +# RS_SORTCMD Sort command to use (must support $RS_SORT_NUMERIC_OPT option). If unset, +# "sort" is used. E.g. Solaris needs "gsort" +# RS_SORT_NUMERIC_OPT option to use for numerical sort, If unset "-g" is used. +# RS_CMPCMD cmp command to use. If unset, "cmd" is used. +# E.g. Solaris needs "gcmp" +# RS_HEADCMD head command to use. If unset, "head" is used. +# E.g. Solaris needs "ghead" +# RSTB_GLOBAL_INPUT_SHUTDOWN_TIMEOUT +# global input timeout shutdown, default 60000 (60) sec. This should +# only be set specifically if there is good need to do so, e.g. if +# a test needs to timeout. +# USE_VALGRIND if set to "YES", the test will be run under valgrind control, with +# "default" settings (memcheck including leak check, termination on error). +# This permits to have valgrind and non-valgrind versions of the same test +# without the need to write it twice: just have a 2-liner -vg.sh which +# does: +# export USE_VALGRIND="YES" +# source original-test.sh +# sample can be seen in imjournal-basic[.vg].sh +# You may also use USE_VALGRIND="YES-NOLEAK" to request valgrind without +# leakcheck (this sometimes is needed). +# ABORT_ALL_ON_TEST_FAIL +# if set to "YES" and one test fails, all others are not executed but skipped. +# This is useful in long-running CI jobs where we are happy with seeing the +# first failure (to save time). +# +# +# EXIT STATES +# 0 - ok +# 1 - FAIL +# 77 - SKIP +# 100 - Testbench failure +export TB_ERR_TIMEOUT=101 +# 177 - internal state: test failed, but in a way that makes us strongly believe +# this is caused by environment. This will lead to exit 77 (SKIP), but report +# the failure if failure reporting is active + +# environment variables: +# USE_AUTO_DEBUG "on" --> enables automatic debugging, anything else +# turns it off + +# diag system internal environment variables +# these variables are for use by test scripts - they CANNOT be +# overridden by the user +# TCPFLOOD_EXTRA_OPTS enables to set extra options for tcpflood, usually +# used in tests that have a common driver where it +# is too hard to set these options otherwise +# CONFIG +export ZOOPIDFILE="$(pwd)/zookeeper.pid" + +#valgrind="valgrind --malloc-fill=ff --free-fill=fe --log-fd=1" +#valgrind="valgrind --tool=callgrind" # for kcachegrind profiling + +# **** use the line below for very hard to find leaks! ***** +#valgrind="valgrind --leak-check=full --show-leak-kinds=all --malloc-fill=ff --free-fill=fe --log-fd=1" + +#valgrind="valgrind --tool=drd --log-fd=1" +#valgrind="valgrind --tool=helgrind --log-fd=1 --suppressions=$srcdir/linux_localtime_r.supp --gen-suppressions=all" +#valgrind="valgrind --tool=exp-ptrcheck --log-fd=1" +#set -o xtrace +#export RSYSLOG_DEBUG="debug nologfuncflow noprintmutexaction nostdout" +#export RSYSLOG_DEBUGLOG="log" +TB_TIMEOUT_STARTSTOP=400 # timeout for start/stop rsyslogd in tenths (!) of a second 400 => 40 sec +# note that 40sec for the startup should be sufficient even on very slow machines. we changed this from 2min on 2017-12-12 +TB_TEST_TIMEOUT=90 # number of seconds after which test checks timeout (eg. waits) +TB_TEST_MAX_RUNTIME=${TEST_MAX_RUNTIME:-580} # maximum runtime in seconds for a test; + # default TEST_MAX_RUNTIME e.g. for long-running tests or special + # testbench use. Testbench will abort test + # after that time (iff it has a chance to, not strictly enforced) + # Note: 580 is slightly below the rsyslog-ci required max non-stdout writing timeout + # This is usually at 600 (10 minutes) and processes will be force-terminated if they + # go over it. This is especially bad because we do not receive notifications in this + # case. +export RSYSLOG_DEBUG_TIMEOUTS_TO_STDERR="on" # we want to know when we loose messages due to timeouts +if [ "$TESTTOOL_DIR" == "" ]; then + export TESTTOOL_DIR="${srcdir:-.}" +fi + +# newer functionality is preferably introduced via bash functions +# rgerhards, 2018-07-03 +rsyslog_testbench_test_url_access() { + local missing_requirements= + if ! hash curl 2>/dev/null ; then + missing_requirements="'curl' is missing in PATH; Make sure you have cURL installed! Skipping test ..." + fi + + if [ -n "${missing_requirements}" ]; then + printf '%s\n' "${missing_requirements}" + exit 77 + fi + + local http_endpoint="$1" + if ! curl --fail --max-time 30 "${http_endpoint}" 1>/dev/null 2>&1; then + echo "HTTP endpoint '${http_endpoint}' is not reachable. Skipping test ..." + exit 77 + else + echo "HTTP endpoint '${http_endpoint}' is reachable! Starting test ..." + fi +} + +# function to skip a test on a specific platform +# $1 is what we check in uname, $2 (optional) is a reason message +skip_platform() { + if [ "$(uname)" == "$1" ]; then + printf 'platform is "%s" - test does not work under "%s"\n' "$(uname)" "$1" + if [ "$2" != "" ]; then + printf 'reason: %s\n' "$2" + fi + exit 77 + fi + +} + +# function to skip a test if TSAN is enabled +# This is necessary as TSAN does not properly handle thread creation +# after fork() - which happens regularly in rsyslog if backgrounding +# is activated. +# $1 is the reason why TSAN is not supported +# note: we depend on CFLAGS to properly reflect build options (what +# usually is the case when the testbench is run) +skip_TSAN() { + if [[ "$CFLAGS" == *"sanitize=thread"* ]]; then + printf 'test incompatible with TSAN because of %s\n' "$1" + exit 77 + fi +} + + +# a consistent format to output testbench timestamps +tb_timestamp() { + printf '%s[%s] ' "$(date +%H:%M:%S)" "$(( $(date +%s) - TB_STARTTEST ))" +} + +# override the test timeout, but only if the new value is higher +# than the previous one. This is necessary for slow test systems +# $1 is timeout in seconds +override_test_timeout() { + if [ "${1:=0}" == "" ]; then + printf 'FAIL: invalid testbench call, override_test_timeout needs value\n' + error_exit 100 + fi + if [ "$1" -gt "$TB_TEST_TIMEOUT" ]; then + TB_TEST_TIMEOUT=$1 + printf 'info: TB_TEST_TIMEOUT increased to %s\n' "$TB_TEST_TIMEOUT" + fi +} + +# set special tests status. States ($1) are: +# unreliable -- as the name says, test does not work reliably; $2 must be github issue URL +# depending on CI configuration, "unreliable" tests are skipped and not failed +# or not executed at all. Test reports may also be amended to github issue. +test_status() { + if [ "$1" == "unreliable" ]; then + if [ "$2" == "" ]; then + printf 'TESTBENCH_ERROR: github issue URL must be given\n' + error_exit 100 + fi + export TEST_STATUS="$1" + export TEST_GITHUB_ISSUE="$2" + else + printf 'TESTBENCH_ERROR: test_status "%s" unknown\n' "$1" + error_exit 100 + fi +} + + +setvar_RS_HOSTNAME() { + printf '### Obtaining HOSTNAME (prerequisite, not actual test) ###\n' + generate_conf "" + add_conf 'module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$template hostname,"%hostname%" +local0.* ./'${RSYSLOG_DYNNAME}'.HOSTNAME;hostname +' + rm -f "${RSYSLOG_DYNNAME}.HOSTNAME" + startup "" + tcpflood -m1 -M "\"<128>\"" + shutdown_when_empty + wait_shutdown "" + export RS_HOSTNAME="$(cat ${RSYSLOG_DYNNAME}.HOSTNAME)" + rm -f "${RSYSLOG_DYNNAME}.HOSTNAME" + echo HOSTNAME is: $RS_HOSTNAME +} + + +# begin a new testconfig +# 2018-09-07: Incremented inputs.timeout.shutdown to 60000 because kafka tests may not be +# finished under stress otherwise +# $1 is the instance id, if given +generate_conf() { + if [ "$RSTB_GLOBAL_QUEUE_SHUTDOWN_TIMEOUT" == "" ]; then + RSTB_GLOBAL_QUEUE_SHUTDOWN_TIMEOUT="10000" + fi + if [ "$RSTB_GLOBAL_INPUT_SHUTDOWN_TIMEOUT" == "" ]; then + RSTB_GLOBAL_INPUT_SHUTDOWN_TIMEOUT="60000" + fi + if [ "$RSTB_ACTION_DEFAULT_Q_TO_SHUTDOWN" == "" ]; then + RSTB_ACTION_DEFAULT_Q_TO_SHUTDOWN="20000" + fi + if [ "$RSTB_ACTION_DEFAULT_Q_TO_ENQUEUE" == "" ]; then + RSTB_ACTION_DEFAULT_Q_TO_ENQUEUE="20000" + fi + export TCPFLOOD_PORT="$(get_free_port)" + if [ "$1" == "" ]; then + export TESTCONF_NM="${RSYSLOG_DYNNAME}_" # this basename is also used by instance 2! + export RSYSLOG_OUT_LOG="${RSYSLOG_DYNNAME}.out.log" + export RSYSLOG2_OUT_LOG="${RSYSLOG_DYNNAME}_2.out.log" + export RSYSLOG_PIDBASE="${RSYSLOG_DYNNAME}:" # also used by instance 2! + mkdir $RSYSLOG_DYNNAME.spool + fi + echo 'module(load="../plugins/imdiag/.libs/imdiag") +global(inputs.timeout.shutdown="'$RSTB_GLOBAL_INPUT_SHUTDOWN_TIMEOUT'" + default.action.queue.timeoutshutdown="'$RSTB_ACTION_DEFAULT_Q_TO_SHUTDOWN'" + default.action.queue.timeoutEnqueue="'$RSTB_ACTION_DEFAULT_Q_TO_ENQUEUE'") +# use legacy-style for the following settings so that we can override if needed +$MainmsgQueueTimeoutEnqueue 20000 +$MainmsgQueueTimeoutShutdown '$RSTB_GLOBAL_QUEUE_SHUTDOWN_TIMEOUT' +$IMDiagListenPortFileName '$RSYSLOG_DYNNAME.imdiag$1.port' +$IMDiagServerRun 0 +$IMDiagAbortTimeout '$TB_TEST_MAX_RUNTIME' + +:syslogtag, contains, "rsyslogd" ./'${RSYSLOG_DYNNAME}$1'.started +###### end of testbench instrumentation part, test conf follows:' > ${TESTCONF_NM}$1.conf +} + +# add more data to config file. Note: generate_conf must have been called +# $1 is config fragment, $2 the instance id, if given +add_conf() { + printf '%s' "$1" >> ${TESTCONF_NM}$2.conf +} + + +rst_msleep() { + $TESTTOOL_DIR/msleep $1 +} + + +# compare file to expected exact content +# $1 is file to compare, default $RSYSLOG_OUT_LOG +cmp_exact() { + filename=${1:-"$RSYSLOG_OUT_LOG"} + if [ "$filename" == "" ]; then + printf 'Testbench ERROR, cmp_exact() does not have a filename at ALL!\n' + error_exit 100 + fi + if [ "$EXPECTED" == "" ]; then + printf 'Testbench ERROR, cmp_exact() needs to have env var EXPECTED set!\n' + error_exit 100 + fi + printf '%s\n' "$EXPECTED" | cmp - "$filename" + if [ $? -ne 0 ]; then + printf 'invalid response generated\n' + printf '################# %s is:\n' "$filename" + cat -n $filename + printf '################# EXPECTED was:\n' + cat -n <<< "$EXPECTED" + printf '\n#################### diff is:\n' + diff - "$filename" <<< "$EXPECTED" + error_exit 1 + fi; +} + +# code common to all startup...() functions +startup_common() { + instance= + if [ "$1" == "2" ]; then + CONF_FILE="${TESTCONF_NM}2.conf" + instance=2 + elif [ "$1" == "" ] || [ "$1" == "1" ]; then + CONF_FILE="${TESTCONF_NM}.conf" + else + CONF_FILE="$srcdir/testsuites/$1" + instance=$2 + fi + # we need to remove the imdiag port file as there are some + # tests that start multiple times. These may get the old port + # number if the file still exists AND timing is bad so that + # imdiag does not generate the port file quickly enough on + # startup. + rm -f $RSYSLOG_DYNNAME.imdiag$instance.port + if [ ! -f $CONF_FILE ]; then + echo "ERROR: config file '$CONF_FILE' not found!" + error_exit 1 + fi + echo config $CONF_FILE is: + cat -n $CONF_FILE +} + +# wait for appearance of a specific pid file, given as $1 +wait_startup_pid() { + if [ "$1" == "" ]; then + echo "FAIL: testbench bug: wait_startup_called without \$1" + error_exit 100 + fi + while test ! -f $1; do + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + if [ $(date +%s) -gt $(( TB_STARTTEST + TB_TEST_MAX_RUNTIME )) ]; then + printf '%s ABORT! Timeout waiting on startup (pid file %s)\n' "$(tb_timestamp)" "$1" + ls -l "$1" + ps -fp $($SUDO cat "$1") + error_exit 1 + fi + done + printf '%s %s found, pid %s\n' "$(tb_timestamp)" "$1" "$(cat $1)" +} + +# special version of wait_startup_pid() for rsyslog startup +wait_rsyslog_startup_pid() { + wait_startup_pid $RSYSLOG_PIDBASE$1.pid +} + +# wait for startup of an arbitrary process +# $1 - pid file name +# $2 - startup file name (optional, only checked if given) +wait_process_startup() { + wait_startup_pid $1.pid + i=0 + if [ "$2" != "" ]; then + while test ! -f "$2"; do + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + ps -p $(cat $1.pid) &> /dev/null + if [ $? -ne 0 ] + then + echo "ABORT! pid in $1 no longer active during startup!" + error_exit 1 + fi + (( i++ )) + if [ $(date +%s) -gt $(( TB_STARTTEST + TB_TEST_MAX_RUNTIME )) ]; then + printf '%s ABORT! Timeout waiting on file %s\n' "$(tb_timestamp)" "$2" + error_exit 1 + fi + done + printf '%s %s seen, associated pid %s\n' "$(tb_timestamp)" "$2" "$(cat $1)" + fi +} + + +# wait for the pid in $1 to terminate, abort on timeout +wait_pid_termination() { + out_pid="$1" + if [[ "$out_pid" == "" ]]; then + printf 'TESTBENCH error: pidfile name not specified in wait_pid_termination\n' + error_exit 100 + fi + terminated=0 + while [[ $terminated -eq 0 ]]; do + ps -p $out_pid &> /dev/null + if [[ $? != 0 ]]; then + terminated=1 + fi + $TESTTOOL_DIR/msleep 100 + if [ $(date +%s) -gt $(( TB_STARTTEST + TB_TEST_MAX_RUNTIME )) ]; then + printf '%s ABORT! Timeout waiting on shutdown (pid %s)\n' "$(tb_timestamp)" $out_pid + ps -fp $out_pid + printf 'Instance is possibly still running and may need manual cleanup.\n' + error_exit 1 + fi + done + unset terminated + unset out_pid +} + +# wait for file $1 to exist AND be non-empty +# $1 : file to wait for +# $2 (optional): error message to show if timeout occurs +wait_file_exists() { + echo waiting for file $1 + i=0 + while true; do + if [ -f $1 ] && [ "$(cat $1 2> /dev/null)" != "" ]; then + break + fi + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + ((i++)) + if test $i -gt $TB_TIMEOUT_STARTSTOP; then + echo "ABORT! Timeout waiting for file $1" + ls -l $1 + if [ "$2" != "" ]; then + echo "$2" + fi + error_exit 1 + fi + done +} + +# kafka special wait function: we wait for the output file in order +# to ensure Kafka/Zookeeper is actually ready to go. This is NOT +# a generic check function and must only used with those kafka tests +# that actually need it. +kafka_wait_group_coordinator() { +echo We are waiting for kafka/zookeeper being ready to deliver messages +wait_file_exists $RSYSLOG_OUT_LOG " + +Non-existence of $RSYSLOG_OUT_LOG can be caused +by a problem inside zookeeper. If debug output in the receiver is enabled, one +may see this message: + +\"GroupCoordinator response error: Broker: Group coordinator not available\" + +In this case you may want to do a web search and/or have a look at + https://github.com/edenhill/librdkafka/issues/799 + +The question, of course, is if there is nevertheless a problem in imkafka. +Usually, the wait we do inside the testbench is sufficient to handle all +Zookeeper/Kafka startup. So if the issue reoccurs, it is suggested to enable +debug output in the receiver and check for actual problems. +" +} + +# check if kafka itself failed. $1 is the message file name. +kafka_check_broken_broker() { + failed=0 + if grep "Broker transport failure" < "$1" ; then + failed=1 + fi + if grep "broker connections are down" < "$1" ; then + failed=1 + fi + if [ $failed -eq 1 ]; then + printf '\n\nenvironment-induced test error - kafka broker failed - skipping test\n' + printf 'content of %s:\n' "$1" + cat -n "$1" + error_exit 177 + fi +} + +# inject messages via kafkacat tool (for imkafka tests) +# $1 == "--wait" means wait for rsyslog to receive TESTMESSAGES lines in RSYSLOG_OUT_LOG +# $TESTMESSAGES contains number of messages to inject +# $RANDTOPIC contains topic to produce to +injectmsg_kafkacat() { + if [ "$1" == "--wait" ]; then + wait="YES" + shift + fi + if [ "$TESTMESSAGES" == "" ]; then + printf 'TESTBENCH ERROR: TESTMESSAGES env var not set!\n' + error_exit 1 + fi + MAXATONCE=25000 # how many msgs should kafkacat send? - hint: current version errs out above ~70000 + i=1 + while (( i<=TESTMESSAGES )); do + currmsgs=0 + while ((i <= $TESTMESSAGES && currmsgs != MAXATONCE)); do + printf ' msgnum:%8.8d\n' $i; + i=$((i + 1)) + currmsgs=$((currmsgs+1)) + done > "$RSYSLOG_DYNNAME.kafkacat.in" + set -e + kafkacat -P -b localhost:29092 -t $RANDTOPIC <"$RSYSLOG_DYNNAME.kafkacat.in" 2>&1 | tee >$RSYSLOG_DYNNAME.kafkacat.log + set +e + printf 'kafkacat injected %d msgs so far\n' $((i - 1)) + kafka_check_broken_broker $RSYSLOG_DYNNAME.kafkacat.log + check_not_present "ERROR" $RSYSLOG_DYNNAME.kafkacat.log + cat $RSYSLOG_DYNNAME.kafkacat.log + done + + if [ "$wait" == "YES" ]; then + wait_seq_check "$@" + fi +} + + +# wait for rsyslogd startup ($1 is the instance) +wait_startup() { + wait_rsyslog_startup_pid $1 + while test ! -f ${RSYSLOG_DYNNAME}$1.started; do + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + ps -p $(cat $RSYSLOG_PIDBASE$1.pid) &> /dev/null + if [ $? -ne 0 ] + then + echo "ABORT! rsyslog pid no longer active during startup!" + error_exit 1 stacktrace + fi + if [ $(date +%s) -gt $(( TB_STARTTEST + TB_TEST_MAX_RUNTIME )) ]; then + printf '%s ABORT! Timeout waiting startup file %s\n' "$(tb_timestamp)" "${RSYSLOG_DYNNAME}.started" + error_exit 1 + fi + done + echo "$(tb_timestamp) rsyslogd$1 startup msg seen, pid " $(cat $RSYSLOG_PIDBASE$1.pid) + wait_file_exists $RSYSLOG_DYNNAME.imdiag$1.port + eval export IMDIAG_PORT$1=$(cat $RSYSLOG_DYNNAME.imdiag$1.port) + eval PORT='$IMDIAG_PORT'$1 + echo "imdiag$1 port: $PORT" + if [ "$PORT" == "" ]; then + echo "TESTBENCH ERROR: imdiag port not found!" + ls -l $RSYSLOG_DYNNAME* + exit 100 + fi +} + +# reassign ports after rsyslog startup; must be called from all +# functions that startup rsyslog +reassign_ports() { + if grep -q 'listenPortFileName="'$RSYSLOG_DYNNAME'\.tcpflood_port"' $CONF_FILE; then + assign_tcpflood_port $RSYSLOG_DYNNAME.tcpflood_port + fi + if grep -q '$InputTCPServerListenPortFile.*\.tcpflood_port' $CONF_FILE; then + assign_tcpflood_port $RSYSLOG_DYNNAME.tcpflood_port + fi +} + +# start rsyslogd with default params. $1 is the config file name to use +# returns only after successful startup, $2 is the instance (blank or 2!) +# RS_REDIR maybe set to redirect rsyslog output +# env var RSTB_DAEMONIZE" == "YES" means rsyslogd shall daemonize itself; +# any other value or unset means it does not do that. +startup() { + if [ "$USE_VALGRIND" == "YES" ]; then + startup_vg "$1" "$2" + return + elif [ "$USE_VALGRIND" == "YES-NOLEAK" ]; then + startup_vg_noleak "$1" "$2" + return + fi + startup_common "$1" "$2" + if [ "$RSTB_DAEMONIZE" == "YES" ]; then + n_option="" + else + n_option="-n" + fi + eval LD_PRELOAD=$RSYSLOG_PRELOAD $valgrind ../tools/rsyslogd -C $n_option -i$RSYSLOG_PIDBASE$instance.pid -M../runtime/.libs:../.libs -f$CONF_FILE $RS_REDIR & + wait_startup $instance + reassign_ports +} + + +# assign TCPFLOOD_PORT from port file +# $1 - port file +assign_tcpflood_port() { + wait_file_exists "$1" + export TCPFLOOD_PORT=$(cat "$1") + echo "TCPFLOOD_PORT now: $TCPFLOOD_PORT" + if [ "$TCPFLOOD_PORT" == "" ]; then + echo "TESTBENCH ERROR: TCPFLOOD_PORT not found!" + ls -l $RSYSLOG_DYNNAME* + exit 100 + fi +} + + +# assign TCPFLOOD_PORT2 from port file +# $1 - port file +assign_tcpflood_port2() { + wait_file_exists "$1" + export TCPFLOOD_PORT2=$(cat "$1") + echo "TCPFLOOD_PORT2 now: $TCPFLOOD_PORT2" + if [ "$TCPFLOOD_PORT2" == "" ]; then + echo "TESTBENCH ERROR: TCPFLOOD_PORT2 not found!" + ls -l $RSYSLOG_DYNNAME* + exit 100 + fi +} +# assign RS_PORT from port file - this is meant as generic way to +# obtain additional port variables +# $1 - port file +assign_rs_port() { + wait_file_exists "$1" + export RS_PORT=$(cat "$1") + echo "RS_PORT now: $RS_PORT" + if [ "$RS_PORT" == "" ]; then + echo "TESTBENCH ERROR: RS_PORT not found!" + ls -l $RSYSLOG_DYNNAME* + exit 100 + fi +} + +# wait for a file to exist, then export it's content to env var +# intended to be used for very small files, e.g. listenPort files +# $1 - env var name +# $2 - port file +assign_file_content() { + wait_file_exists "$2" + content=$(cat "$2") + if [ "$content" == "" ]; then + echo "TESTBENCH ERROR: get_file content had empty file $2" + ls -l $RSYSLOG_DYNNAME* + exit 100 + fi + eval export $1="$content" + printf 'exported: %s=%s\n' $1 "$content" +} + +# same as startup_vg, BUT we do NOT wait on the startup message! +startup_vg_waitpid_only() { + startup_common "$1" "$2" + if [ "$RS_TESTBENCH_LEAK_CHECK" == "" ]; then + RS_TESTBENCH_LEAK_CHECK=full + fi + # add --keep-debuginfo=yes for hard to find cases; this cannot be used generally, + # because it is only supported by newer versions of valgrind (else CI will fail + # on older platforms). + LD_PRELOAD=$RSYSLOG_PRELOAD valgrind $RS_TEST_VALGRIND_EXTRA_OPTS $RS_TESTBENCH_VALGRIND_EXTRA_OPTS --suppressions=$srcdir/known_issues.supp ${EXTRA_VALGRIND_SUPPRESSIONS:-} --gen-suppressions=all --log-fd=1 --error-exitcode=10 --malloc-fill=ff --free-fill=fe --leak-check=$RS_TESTBENCH_LEAK_CHECK ../tools/rsyslogd -C -n -i$RSYSLOG_PIDBASE$instance.pid -M../runtime/.libs:../.libs -f$CONF_FILE & + wait_rsyslog_startup_pid $1 +} + +# start rsyslogd with default params under valgrind control. $1 is the config file name to use +# returns only after successful startup, $2 is the instance (blank or 2!) +startup_vg() { + startup_vg_waitpid_only $1 $2 + wait_startup $instance + reassign_ports +} + +# same as startup-vg, except that --leak-check is set to "none". This +# is meant to be used in cases where we have to deal with libraries (and such +# that) we don't can influence and where we cannot provide suppressions as +# they are platform-dependent. In that case, we can't test for leak checks +# (obviously), but we can check for access violations, what still is useful. +startup_vg_noleak() { + RS_TESTBENCH_LEAK_CHECK=no + startup_vg "$@" +} + +# same as startup-vgthread, BUT we do NOT wait on the startup message! +startup_vgthread_waitpid_only() { + startup_common "$1" "$2" + valgrind --tool=helgrind $RS_TEST_VALGRIND_EXTRA_OPTS $RS_TESTBENCH_VALGRIND_EXTRA_OPTS --log-fd=1 --error-exitcode=10 --suppressions=$srcdir/linux_localtime_r.supp --suppressions=$srcdir/known_issues.supp ${EXTRA_VALGRIND_SUPPRESSIONS:-} --suppressions=$srcdir/CI/gcov.supp --gen-suppressions=all ../tools/rsyslogd -C -n -i$RSYSLOG_PIDBASE$2.pid -M../runtime/.libs:../.libs -f$CONF_FILE & + wait_rsyslog_startup_pid $2 +} + +# start rsyslogd with default params under valgrind thread debugger control. +# $1 is the config file name to use, $2 is the instance (blank or 2!) +# returns only after successful startup +startup_vgthread() { + startup_vgthread_waitpid_only $1 $2 + wait_startup $2 + reassign_ports +} + + +# inject messages via our inject interface (imdiag) +# $1 is start message number, env var NUMMESSAGES is number of messages to inject +injectmsg() { + if [ "$3" != "" ] ; then + printf 'error: injectmsg only has two arguments, extra arg is %s\n' "$3" + fi + msgs=${2:-$NUMMESSAGES} + echo injecting $msgs messages + echo injectmsg "${1:-0}" "$msgs" | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? +} + +# inject messages in INSTANCE 2 via our inject interface (imdiag) +injectmsg2() { + msgs=${2:-$NUMMESSAGES} + echo injecting $msgs messages into instance 2 + echo injectmsg "${1:-0}" "$msgs" $3 $4 | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT2 || error_exit $? + # TODO: some return state checking? (does it really make sense here?) +} + +# inject literal payload via our inject interface (imdiag) +injectmsg_literal() { + printf 'injecting msg payload: %s\n' "$1" + sed -e 's/^/injectmsg literal /g' <<< "$1" | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? +} + +# inject literal payload via our inject interface (imdiag) +injectmsg_file() { + printf 'injecting msg payload: %s\n' "$1" + sed -e 's/^/injectmsg literal /g' < "$1" | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? +} + + +# show the current main queue size. $1 is the instance. +get_mainqueuesize() { + if [ "$1" == "2" ]; then + echo getmainmsgqueuesize | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT2 || error_exit $? + else + echo getmainmsgqueuesize | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? + fi +} + +# get pid of rsyslog instance $1 +getpid() { + printf '%s' "$(cat $RSYSLOG_PIDBASE$1.pid)" +} + +# grep for (partial) content. $1 is the content to check for, $2 the file to check +# option --check-only just returns success/fail but does not terminate on fail +# this is meant for checking during queue shutdown processing. +# option --regex is understood, in which case $1 is a regex +content_check() { + if [ "$1" == "--check-only" ]; then + check_only="yes" + shift + else + check_only="no" + fi + if [ "$1" == "--regex" ]; then + grep_opt= + shift + else + grep_opt=-F + fi + if [ "$1" == "--output-results" ]; then + output_results="yes" + shift + else + output_results="no" + fi + file=${2:-$RSYSLOG_OUT_LOG} + if ! grep -q $grep_opt -- "$1" < "${file}"; then + if [ "$check_only" == "yes" ]; then + printf 'content_check did not yet succeed\n' + return 1 + fi + printf '\n============================================================\n' + printf 'FILE "%s" content:\n' "$file" + cat -n ${file} + printf 'FAIL: content_check failed to find "%s"\n' "$1" + error_exit 1 + else + if [ "$output_results" == "yes" ]; then + # Output GREP results + echo "SUCCESS: content_check found results for '$1'\n" + grep "$1" "${file}" + fi + fi + if [ "$check_only" == "yes" ]; then + return 0 + fi +} + + +# grep for (partial) content. this checks the count of the content +# $1 is the content to check for +# $2 required count +# $3 the file to check (if default not used) +# option --regex is understood, in which case $1 is a regex +content_count_check() { + if [ "$1" == "--regex" ]; then + grep_opt= + shift + else + grep_opt=-F + fi + file=${3:-$RSYSLOG_OUT_LOG} + count=$(grep -c $grep_opt -- "$1" <${RSYSLOG_OUT_LOG}) + if [ ${count:=0} -ne "$2" ]; then + grep -c -F -- "$1" <${RSYSLOG_OUT_LOG} + printf '\n============================================================\n' + printf 'FILE "%s" content:\n' "$file" + cat -n ${file} + printf 'FAIL: content count required %d but was %d\n' "$2" $count + printf 'FAIL: content_check failed to find "%s"\n' "$1" + error_exit 1 + fi +} + + + +# $1 - content to check for +# $2 - number of times content must appear +# $3 - timeout (default: 1) +content_check_with_count() { + timeoutend=${3:-1} + timecounter=0 + while [ $timecounter -lt $timeoutend ]; do + (( timecounter=timecounter+1 )) + count=0 + if [ -f "${RSYSLOG_OUT_LOG}" ]; then + count=$(grep -c -F -- "$1" <${RSYSLOG_OUT_LOG}) + fi + if [ ${count:=0} -eq $2 ]; then + echo content_check_with_count SUCCESS, \"$1\" occurred $2 times + break + else + if [ "$timecounter" == "$timeoutend" ]; then + shutdown_when_empty "" + wait_shutdown "" + + echo "$(tb_timestamp)" content_check_with_count failed, expected \"$1\" to occur $2 times, but found it "$count" times + echo file $RSYSLOG_OUT_LOG content is: + if [ $(wc -l < "$RSYSLOG_OUT_LOG") -gt 10000 ]; then + printf 'truncation, we have %d lines, which is way too much\n' \ + $(wc -l < "$RSYSLOG_OUT_LOG") + printf 'showing first and last 5000 lines\n' + head -n 5000 < "$RSYSLOG_OUT_LOG" + print '\n ... CUT ..................................................\n\n' + tail -n 5000 < "$RSYSLOG_OUT_LOG" + else + cat -n "$RSYSLOG_OUT_LOG" + fi + error_exit 1 + else + printf '%s content_check_with_count, try %d have %d, wait for %d, search for: "%s"\n' \ + "$(tb_timestamp)" "$timecounter" "$count" "$2" "$1" + $TESTTOOL_DIR/msleep 1000 + fi + fi + printf '%s **** content_check_with_count DEBUG (timeout %s, need %s lines):\n' "$(tb_timestamp)" "$3" "$2" # rger: REMOVE ME when problems are fixed + if [ -f "${RSYSLOG_OUT_LOG}" ]; then cat -n "$RSYSLOG_OUT_LOG"; fi + done +} + + +custom_content_check() { + grep -qF -- "$1" < $2 + if [ "$?" -ne "0" ]; then + echo FAIL: custom_content_check failed to find "'$1'" inside "'$2'" + echo "file contents:" + cat -n $2 + error_exit 1 + fi +} + +# check that given content $1 is not present in file $2 (default: RSYSLOG_OUT_LOG) +# regular expressions may be used +check_not_present() { + if [ "$2" == "" ]; then + file=$RSYSLOG_OUT_LOG + else + file="$2" + fi + grep -q -- "$1" < "$file" + if [ "$?" -eq "0" ]; then + echo FAIL: check_not present found + echo $1 + echo inside file $file of $(wc -l < $file) lines + echo samples: + cat -n "$file" | grep -- "$1" | head -10 + error_exit 1 + fi +} + + +# check if mainqueue spool files exist, if not abort (we just check .qi). +check_mainq_spool() { + printf 'There must exist some files now:\n' + ls -l $RSYSLOG_DYNNAME.spool + printf '.qi file:\n' + cat $RSYSLOG_DYNNAME.spool/mainq.qi + if [ ! -f $RSYSLOG_DYNNAME.spool/mainq.qi ]; then + printf 'error: mainq.qi does not exist where expected to do so!\n' + error_exit 1 + fi +} +# check that no spool file exists. Abort if they do. +# This situation must exist after a successful termination of rsyslog +# where the disk queue has properly been drained and shut down. +check_spool_empty() { + if [ "$(ls $RSYSLOG_DYNNAME.spool/* 2> /dev/null)" != "" ]; then + printf 'error: spool files exists where they are not permitted to do so:\n' + ls -l $RSYSLOG_DYNNAME.spool/* + error_exit 1 + fi +} + +# general helper for imjournal tests: check that we got hold of the +# injected test message. This is pretty lengthy as the journal has played +# "a bit" with us and also seems to sometimes have a heavy latency in +# forwarding messages. So let's centralize the check code. +# +# $TESTMSG must contain the test message +check_journal_testmsg_received() { + printf 'checking that journal indeed contains test message - may take a short while...\n' + # search reverse, gets us to our message (much) faster .... if it is there... + journalctl -a -r | grep -qF "$TESTMSG" + if [ $? -ne 0 ]; then + print 'SKIP: cannot read journal - our testmessage not found via journalctl\n' + exit 77 + fi + printf 'journal contains test message\n' + + echo "INFO: $(wc -l < $RSYSLOG_OUT_LOG) lines in $RSYSLOG_OUT_LOG" + + grep -qF "$TESTMSG" < $RSYSLOG_OUT_LOG + if [ $? -ne 0 ]; then + echo "FAIL: $RSYSLOG_OUT_LOG content (tail -n200):" + tail -n200 $RSYSLOG_OUT_LOG + echo "=======" + echo "searching journal for testbench messages:" + journalctl -a | grep -qF "TestBenCH-RSYSLog imjournal" + echo "=======" + echo "NOTE: showing only last 200 lines, may be insufficient on busy systems!" + echo "last entries from journal:" + journalctl -an 200 + echo "=======" + echo "NOTE: showing only last 200 lines, may be insufficient on busy systems!" + echo "However, the test check all of the journal, we are just limiting the output" + echo "to 200 lines to not spam CI systems too much." + echo "=======" + echo "FAIL: imjournal test message could not be found!" + echo "Expected message content was:" + echo "$TESTMSG" + error_exit 1 + fi; +} + +# checks that among the open files found in /proc//fd/* +# there is or is not, depending on the calling mode, +# a link with the specified suffix in the target name +check_fd_for_pid() { + local pid="$1" mode="$2" suffix="$3" target seen + seen="false" + for fd in $(echo /proc/$pid/fd/*); do + target="$(readlink -m "$fd")" + if [[ "$target" != *$RSYSLOG_DYNNAME* ]]; then + continue + fi + if ((i % 10 == 0)); then + echo "INFO: check target='$target'" + fi + if [[ "$target" == *$suffix ]]; then + seen="true" + if [[ "$mode" == "exists" ]]; then + echo "PASS: check fd for pid=$pid mode='$mode' suffix='$suffix'" + return 0 + fi + fi + done + if [[ "$seen" == "false" ]] && [[ "$mode" == "absent" ]]; then + echo "PASS: check fd for pid=$pid mode='$mode' suffix='$suffix'" + return 0 + fi + echo "FAIL: check fd for pid=$pid mode='$mode' suffix='$suffix'" + if [[ "$mode" != "ignore" ]]; then + return 1 + fi + return 0 +} + +# wait for main message queue to be empty. $1 is the instance. +# we run in a loop to ensure rsyslog is *really* finished when a +# function for the "finished predicate" is defined. This is done +# by setting env var QUEUE_EMPTY_CHECK_FUNC to the bash +# function name. +wait_queueempty() { + while [ $(date +%s) -le $(( TB_STARTTEST + TB_TEST_MAX_RUNTIME )) ]; do + if [ "$1" == "2" ]; then + echo WaitMainQueueEmpty | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT2 || error_exit $? + else + echo WaitMainQueueEmpty | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? + fi + if [ "$QUEUE_EMPTY_CHECK_FUNC" == "" ]; then + return + else + if $QUEUE_EMPTY_CHECK_FUNC ; then + return + fi + fi + done + error_exit $TB_ERR_TIMEOUT +} + + +# shut rsyslogd down when main queue is empty. $1 is the instance. +shutdown_when_empty() { + echo Shutting down instance ${1:-1} + wait_queueempty $1 + if [ "$RSYSLOG_PIDBASE" == "" ]; then + echo "RSYSLOG_PIDBASE is EMPTY! - bug in test? (instance $1)" + error_exit 1 + fi + cp $RSYSLOG_PIDBASE$1.pid $RSYSLOG_PIDBASE$1.pid.save + $TESTTOOL_DIR/msleep 500 # wait a bit (think about slow testbench machines!) + kill $(cat $RSYSLOG_PIDBASE$1.pid) # note: we do not wait for the actual termination! +} + +# shut rsyslogd down without emptying the queue. $2 is the instance. +shutdown_immediate() { + pidfile=$RSYSLOG_PIDBASE${1:-}.pid + cp $pidfile $pidfile.save + kill $(cat $pidfile) +} + + +# actually, we wait for rsyslog.pid to be deleted. +# $1 is the instance +wait_shutdown() { + if [ "$USE_VALGRIND" == "YES" ] || [ "$USE_VALGRIND" == "YES-NOLEAK" ]; then + wait_shutdown_vg "$1" + return + fi + out_pid=$(cat $RSYSLOG_PIDBASE$1.pid.save) + printf '%s wait on shutdown of %s\n' "$(tb_timestamp)" "$out_pid" + if [[ "$out_pid" == "" ]] + then + terminated=1 + else + terminated=0 + fi + while [[ $terminated -eq 0 ]]; do + ps -p $out_pid &> /dev/null + if [[ $? != 0 ]]; then + terminated=1 + fi + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + if [ $(date +%s) -gt $(( TB_STARTTEST + TB_TEST_MAX_RUNTIME )) ]; then + printf '%s wait_shutdown ABORT! Timeout waiting on shutdown (pid %s)\n' "$(tb_timestamp)" $out_pid + ps -fp $out_pid + echo "Instance is possibly still running and may need" + echo "manual cleanup." + echo "TRYING TO capture status via gdb from hanging process" + $SUDO gdb ../tools/rsyslogd <<< "attach $out_pid +set pagination off +inf thr +thread apply all bt +quit" + echo "trying to kill -9 process" + kill -9 $out_pid + error_exit 1 + fi + done + unset terminated + unset out_pid + if [ "$(ls core.* 2>/dev/null)" != "" ]; then + printf 'ABORT! core file exists (maybe from a parallel run!)\n' + pwd + ls -l core.* + error_exit 1 + fi +} + + +# wait for HUP to complete. $1 is the instance +# note: there is a slight chance HUP was not completed. This can happen if it takes +# the system very long (> 500ms) to receive the HUP and set the internal flag +# variable. aka "very very low probability". +await_HUP_processed() { + if [ "$1" == "2" ]; then + echo AwaitHUPComplete | $TESTTOOL_DIR/diagtalker -pIMDIAG_PORT2 || error_exit $? + else + echo AwaitHUPComplete | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? + fi +} + + +# wait for all pending lookup table reloads to complete $1 is the instance. +await_lookup_table_reload() { + if [ "$1" == "2" ]; then + echo AwaitLookupTableReload | $TESTTOOL_DIR/diagtalker -pIMDIAG_PORT2 || error_exit $? + else + echo AwaitLookupTableReload | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? + fi +} + +# $1 filename, default $RSYSLOG_OUT_LOG +# $2 expected nbr of lines, default $NUMMESSAGES +# $3 timeout in seconds +# options (need to be specified in THIS ORDER if multiple given): +# --delay ms -- if given, delay to use between retries +# --abort-on-oversize -- error_exit if more lines than expected are present +# --count-function func -- function to call to obtain current count +# this permits to override the default predicate and makes +# the wait really universally usable. +wait_file_lines() { + delay=200 + if [ "$1" == "--delay" ]; then + delay="$2" + shift 2 + fi + abort_oversize=NO + if [ "$1" == "--abort-on-oversize" ]; then + abort_oversize="YES" + shift + fi + count_function= + if [ "$1" == "--count-function" ]; then + count_function="$2" + shift 2 + fi + interrupt_connection=NO + if [ "$1" == "--interrupt-connection" ]; then + interrupt_connection="YES" + interrupt_host="$2" + interrupt_port="$3" + interrupt_tick="$4" + shift 4 + lastcurrent_time=0 + fi + + timeout=${3:-$TB_TEST_TIMEOUT} + timeoutbegin=$(date +%s) + timeoutend=$(( timeoutbegin + timeout )) + # TODO: change this to support odl mode, if needed: timeoutend=${3:-200} + file=${1:-$RSYSLOG_OUT_LOG} + waitlines=${2:-$NUMMESSAGES} + + while true ; do + count=0 + if [ "$count_function" == "" ]; then + if [ -f "$file" ]; then + if [ "$COUNT_FILE_IS_ZIPPED" == "yes" ]; then + issue_HUP "" + count=$(gunzip < "$file" | wc -l) + else + count=$(wc -l < "$file") + fi + fi + else + count=$($count_function) + fi + if [ ${count} -gt $waitlines ]; then + if [ $abort_oversize == "YES" ] && [ ${count} -gt $waitlines ]; then + printf 'FAIL: wait_file_lines, too many lines, expected %d, current %s, took %s seconds\n' \ + $waitlines $count "$(( $(date +%s) - timeoutbegin ))" + error_exit 1 + else + printf 'wait_file_lines success, target %d or more lines, have %d, took %d seconds\n' \ + "$waitlines" $count "$(( $(date +%s) - timeoutbegin ))" + return + fi + fi + if [ ${count} -eq $waitlines ]; then + echo wait_file_lines success, have $waitlines lines, took $(( $(date +%s) - timeoutbegin )) seconds, file "$file" + break + else + if [ $(date +%s) -ge $timeoutend ]; then + echo wait_file_lines failed, expected $waitlines got $count after $timeoutend retries, took $(( $(date +%s) - timeoutbegin )) seconds + error_exit 1 + else + echo $(date +%H:%M:%S) wait_file_lines waiting, expected $waitlines, current $count lines + + current_time=$(date +%s) + if [ $interrupt_connection == "YES" ] && [ $current_time -gt $lastcurrent_time ] && [ $((current_time % $interrupt_tick)) -eq 0 ] && [ ${count} -gt 1 ]; then + # Interrupt Connection - requires root and linux kernel >= 4.9 in order to work! + echo wait_file_lines Interrupt Connection on ${interrupt_host}:${interrupt_port} + sudo ss -K dst ${interrupt_host} dport = ${interrupt_port} + fi + lastcurrent_time=$current_time + + $TESTTOOL_DIR/msleep $delay + fi + fi + done +} + + + + +# wait until seq_check succeeds. This is used to synchronize various +# testbench timing-related issues, most importantly rsyslog shutdown +# all parameters are passed to seq_check +wait_seq_check() { + timeoutend=$(( $(date +%s) + TB_TEST_TIMEOUT )) + if [ "$SEQ_CHECK_FILE" == "" ]; then + filename="$RSYSLOG_OUT_LOG" + else + filename="$SEQ_CHECK_FILE" + fi + + while true ; do + if [ "$PRE_SEQ_CHECK_FUNC" != "" ]; then + $PRE_SEQ_CHECK_FUNC + fi + if [ "${filename##.*}" != "gz" ]; then + if [ -f "$filename" ]; then + count=$(wc -l < "$filename") + fi + fi + seq_check --check-only "$@" #&>/dev/null + ret=$? + if [ $ret == 0 ]; then + printf 'wait_seq_check success (%d lines)\n' "$count" + break + else + if [ $(date +%s) -ge $timeoutend ]; then + printf 'wait_seq_check failed, no success before timeout\n' + error_exit 1 + else + printf 'wait_seq_check waiting (%d lines)\n' $count + $TESTTOOL_DIR/msleep 500 + fi + fi + done + unset count +} + + +# wait until some content appears in the specified file. +# This is used to synchronize various +# testbench timing-related issues, most importantly rsyslog shutdown +# all parameters are passed to seq_check +# $1 - content to search for +# $2 - file to check +wait_content() { + file=${2:-$RSYSLOG_OUT_LOG} + timeoutend=$(( $(date +%s) + TB_TEST_TIMEOUT )) + count=0 + + while true ; do + if [ -f "$file" ]; then + count=$(wc -l < "$file") + if grep -q "$1" < "$file"; then + printf 'expected content found, continue test (%d lines)\n' "$count" + break + fi + fi + if [ $(date +%s) -ge $timeoutend ]; then + printf 'wait_content failed, no success before timeout (%d lines)\n' "$count" + printf 'searched content was:\n%s\n' "$1" + error_exit 1 + else + printf 'wait_content still waiting... (%d lines)\n' "$count" + tail "$file" + $TESTTOOL_DIR/msleep 500 + fi + done + unset count +} + + +assert_content_missing() { + grep -qF -- "$1" < ${RSYSLOG_OUT_LOG} + if [ "$?" -eq "0" ]; then + echo content-missing assertion failed, some line matched pattern "'$1'" + error_exit 1 + fi +} + + +custom_assert_content_missing() { + grep -qF -- "$1" < $2 + if [ "$?" -eq "0" ]; then + echo content-missing assertion failed, some line in "'$2'" matched pattern "'$1'" + cat -n "$2" + error_exit 1 + fi +} + + +# shut rsyslogd down when main queue is empty. $1 is the instance. +issue_HUP() { + if [ "$1" == "--sleep" ]; then + sleeptime="$2" + shift 2 + else + sleeptime=1000 + fi + kill -HUP $(cat $RSYSLOG_PIDBASE$1.pid) + printf 'HUP issued to pid %d - waiting for it to become processed\n' \ + $(cat $RSYSLOG_PIDBASE$1.pid) + await_HUP_processed + #$TESTTOOL_DIR/msleep $sleeptime +} + + +# actually, we wait for rsyslog.pid to be deleted. $1 is the instance +wait_shutdown_vg() { + wait $(cat $RSYSLOG_PIDBASE$1.pid) + export RSYSLOGD_EXIT=$? + echo rsyslogd run exited with $RSYSLOGD_EXIT + + if [ "$(ls vgcore.* 2>/dev/null)" != "" ]; then + printf 'ABORT! core file exists:\n' + ls -l vgcore.* + error_exit 1 + fi + if [ "$USE_VALGRIND" == "YES" ] || [ "$USE_VALGRIND" == "YES-NOLEAK" ]; then + check_exit_vg + fi +} + +check_file_exists() { + if [ ! -f "$1" ]; then + printf 'FAIL: file "%s" must exist, but does not\n' "$1" + error_exit 1 + fi +} + +check_file_not_exists() { + if [ -f "$1" ]; then + printf 'FILE %s CONTENT:\n' "$1" + cat -n -- "$1" + printf 'FAIL: file "%s" must NOT exist, but does\n' "$1" + error_exit 1 + fi +} + +# check exit code for valgrind error +check_exit_vg(){ + if [ "$RSYSLOGD_EXIT" -eq "10" ]; then + printf 'valgrind run FAILED with exceptions - terminating\n' + error_exit 1 + fi +} + + +# do cleanup during exit processing +do_cleanup() { + if [ "$(type -t test_error_exit_handler)" == "function" ]; then + test_error_exit_handler + fi + + if [ -f $RSYSLOG_PIDBASE.pid ]; then + printf 'rsyslog pid file still exists, trying to shutdown...\n' + shutdown_immediate "" + fi + if [ -f ${RSYSLOG_PIDBASE}1.pid ]; then + printf 'rsyslog pid file still exists, trying to shutdown...\n' + shutdown_immediate 1 + fi + if [ -f ${RSYSLOG_PIDBASE}2.pid ]; then + printf 'rsyslog pid file still exists, trying to shutdown...\n' + shutdown_immediate 2 + fi +} + + +# this is called if we had an error and need to abort. Here, we +# try to gather as much information as possible. That's most important +# for systems like Travis-CI where we cannot debug on the machine itself. +# our $1 is the to-be-used exit code. if $2 is "stacktrace", call gdb. +# +# NOTE: if a function test_error_exit_handler is defined, error_exit will +# call it immediately before termination. This may be used to cleanup +# some things or emit additional diagnostic information. +error_exit() { + if [ $1 -eq $TB_ERR_TIMEOUT ]; then + printf '%s Test %s exceeded max runtime of %d seconds\n' "$(tb_timestamp)" "$0" $TB_TEST_MAX_RUNTIME + fi + if [ "$(ls core* 2>/dev/null)" != "" ]; then + echo trying to obtain crash location info + echo note: this may not be the correct file, check it + CORE=$(ls core*) + echo "bt" >> gdb.in + echo "q" >> gdb.in + gdb ../tools/rsyslogd $CORE -batch -x gdb.in + CORE= + rm gdb.in + fi + if [[ "$2" == 'stacktrace' || ( ! -e IN_AUTO_DEBUG && "$USE_AUTO_DEBUG" == 'on' ) ]]; then + if [ "$(ls core* 2>/dev/null)" != "" ]; then + CORE=$(ls core*) + printf 'trying to analyze core "%s" for main rsyslogd binary\n' "$CORE" + printf 'note: this may not be the correct file, check it\n' + $SUDO gdb ../tools/rsyslogd "$CORE" -batch <<- EOF + bt + echo === THREAD INFO === + info thread + echo === thread apply all bt full === + thread apply all bt full + q + EOF + $SUDO gdb ./tcpflood "$CORE" -batch <<- EOF + bt + echo === THREAD INFO === + info thread + echo === thread apply all bt full === + thread apply all bt full + q + EOF + fi + fi + if [[ ! -e IN_AUTO_DEBUG && "$USE_AUTO_DEBUG" == 'on' ]]; then + touch IN_AUTO_DEBUG + # OK, we have the testname and can re-run under valgrind + echo re-running under valgrind control + current_test="./$(basename $0)" # this path is probably wrong -- theinric + $current_test + # wait a little bit so that valgrind can finish + $TESTTOOL_DIR/msleep 4000 + # next let's try us to get a debug log + RSYSLOG_DEBUG_SAVE=$RSYSLOG_DEBUG + export RSYSLOG_DEBUG="debug nologfuncflow noprintmutexaction" + $current_test + $TESTTOOL_DIR/msleep 4000 + RSYSLOG_DEBUG=$RSYSLOG_DEBUG_SAVE + rm IN_AUTO_DEBUG + fi + # output listening ports as a temporary debug measure (2018-09-08 rgerhards), now disables, but not yet removed (2018-10-22) + #if [ $(uname) == "Linux" ]; then + # netstat -tlp + #else + # netstat + #fi + + # Extended debug output for dependencies started by testbench + if [ "$EXTRA_EXITCHECK" == 'dumpkafkalogs' ] && [ "$TEST_OUTPUT" == "VERBOSE" ]; then + # Dump Zookeeper log + dump_zookeeper_serverlog + # Dump Kafka log + dump_kafka_serverlog + fi + + # Extended Exit handling for kafka / zookeeper instances + kafka_exit_handling "false" + + # Ensure redis instance is stopped + if [ -n "$REDIS_DYN_DIR" ]; then + stop_redis + fi + + error_stats $1 # Report error to rsyslog testbench stats + do_cleanup + + exitval=$1 + if [ "$TEST_STATUS" == "unreliable" ] && [ "$1" -ne 100 ]; then + # TODO: log github issue + printf 'Test flagged as unreliable, exiting with SKIP. Original exit code was %d\n' "$1" + printf 'GitHub ISSUE: %s\n' "$TEST_GITHUB_ISSUE" + exitval=77 + else + if [ "$1" -eq 177 ]; then + exitval=77 + fi + fi + printf '%s FAIL: Test %s (took %s seconds)\n' "$(tb_timestamp)" "$0" "$(( $(date +%s) - TB_STARTTEST ))" + if [ $exitval -ne 77 ]; then + echo $0 > testbench_test_failed_rsyslog + fi + exit $exitval +} + + +# skip a test; do cleanup when we detect it is necessary +skip_test(){ + do_cleanup + exit 77 +} + + +# Helper function to call rsyslog project test error script +# $1 is the exit code +error_stats() { + if [ "$RSYSLOG_STATSURL" == "" ]; then + printf 'not reporting failure as RSYSLOG_STATSURL is not set\n' + else + echo reporting failure to $RSYSLOG_STATSURL + testname=$($PYTHON $srcdir/urlencode.py "$RSYSLOG_TESTNAME") + testenv=$($PYTHON $srcdir/urlencode.py "${VCS_SLUG:-$PWD}") + testmachine=$($PYTHON $srcdir/urlencode.py "$HOSTNAME") + logurl=$($PYTHON $srcdir/urlencode.py "${CI_BUILD_URL:-}") + wget -nv -O/dev/null $RSYSLOG_STATSURL\?Testname=$testname\&Testenv=$testenv\&Testmachine=$testmachine\&exitcode=${1:-1}\&logurl=$logurl\&rndstr=jnxv8i34u78fg23 + fi +} + +# do the usual sequence check to see if everything was properly received. +# $4... are just to have the ability to pass in more options... +# add -v to chkseq if you need more verbose output +# argument --check-only can be used to simply do a check without abort in fail case +# env var SEQ_CHECK_FILE permits to override file name to check +# env var SEQ_CHECK_OPTIONS provide the ability to add extra options for check program +seq_check() { + if [ "$SEQ_CHECK_FILE" == "" ]; then + SEQ_CHECK_FILE="$RSYSLOG_OUT_LOG" + fi + if [ "$1" == "--check-only" ]; then + check_only="YES" + shift + else + check_only="NO" + fi + if [ "$1" == "" ]; then + if [ "$NUMMESSAGES" == "" ]; then + printf 'FAIL: seq_check called without parameters but NUMMESSAGES is unset!\n' + error_exit 100 + fi + # use default parameters + startnum=0 + endnum=$(( NUMMESSAGES - 1 )) + else + startnum=$1 + endnum=$2 + fi + if [ ! -f "$SEQ_CHECK_FILE" ]; then + if [ "$check_only" == "YES" ]; then + return 1 + fi + printf 'FAIL: %s does not exist in seq_check!\n' "$SEQ_CHECK_FILE" + error_exit 1 + fi + if [ "${SEQ_CHECK_FILE##*.}" == "gz" ]; then + gunzip -c "${SEQ_CHECK_FILE}" | $RS_SORTCMD $RS_SORT_NUMERIC_OPT | ./chkseq -s$startnum -e$endnum $3 $4 $5 $6 $7 $SEQ_CHECK_OPTIONS + elif [ "${SEQ_CHECK_FILE##*.}" == "zst" ]; then + ls -l "${SEQ_CHECK_FILE}" + unzstd < "${SEQ_CHECK_FILE}" | $RS_SORTCMD $RS_SORT_NUMERIC_OPT | ./chkseq -s$startnum -e$endnum $3 $4 $5 $6 $7 $SEQ_CHECK_OPTIONS + else + $RS_SORTCMD $RS_SORT_NUMERIC_OPT < "${SEQ_CHECK_FILE}" | ./chkseq -s$startnum -e$endnum $3 $4 $5 $6 $7 $SEQ_CHECK_OPTIONS + fi + ret=$? + if [ "$check_only" == "YES" ]; then + return $ret + fi + if [ $ret -ne 0 ]; then + if [ "${SEQ_CHECK_FILE##*.}" == "gz" ]; then + gunzip -c "${SEQ_CHECK_FILE}" | $RS_SORTCMD $RS_SORT_NUMERIC_OPT \ + | ./chkseq -s$startnum -e$endnum $3 $4 $5 $6 $7 $SEQ_CHECK_OPTIONS \ + > $RSYSLOG_DYNNAME.error.log + elif [ "${SEQ_CHECK_FILE##*.}" == "zst" ]; then + unzstd < "${SEQ_CHECK_FILE}" | $RS_SORTCMD $RS_SORT_NUMERIC_OPT \ + | ./chkseq -s$startnum -e$endnum $3 $4 $5 $6 $7 $SEQ_CHECK_OPTIONS \ + > $RSYSLOG_DYNNAME.error.log + else + $RS_SORTCMD $RS_SORT_NUMERIC_OPT < ${SEQ_CHECK_FILE} \ + > $RSYSLOG_DYNNAME.error.log + fi + echo "sequence error detected in $SEQ_CHECK_FILE" + echo "number of lines in file: $(wc -l $SEQ_CHECK_FILE)" + echo "sorted data has been placed in error.log, first 10 lines are:" + cat -n "$RSYSLOG_DYNNAME.error.log" | head -10 + echo "---last 10 lines are:" + cat -n "$RSYSLOG_DYNNAME.error.log" | tail -10 + echo "UNSORTED data, first 10 lines are:" + cat -n "$RSYSLOG_DYNNAME.error.log" | head -10 + echo "---last 10 lines are:" + cat -n "$RSYSLOG_DYNNAME.error.log" | tail -10 + # for interactive testing, create a static filename. We know this may get + # mangled during a parallel test run + mv -f $RSYSLOG_DYNNAME.error.log error.log + error_exit 1 + fi + return 0 +} + + +# do the usual sequence check to see if everything was properly received. This is +# a duplicateof seq-check, but we could not change its calling conventions without +# breaking a lot of exitings test cases, so we preferred to duplicate the code here. +# $4... are just to have the ability to pass in more options... +# add -v to chkseq if you need more verbose output +seq_check2() { + $RS_SORTCMD $RS_SORT_NUMERIC_OPT < ${RSYSLOG2_OUT_LOG} | ./chkseq -s$1 -e$2 $3 $4 $5 $6 $7 + if [ "$?" -ne "0" ]; then + echo "sequence error detected" + error_exit 1 + fi +} + + +# do the usual sequence check, but for gzip files +# $4... are just to have the ability to pass in more options... +gzip_seq_check() { + if [ "$1" == "" ]; then + if [ "$NUMMESSAGES" == "" ]; then + printf 'FAIL: gzip_seq_check called without parameters but NUMMESSAGES is unset!\n' + error_exit 100 + fi + # use default parameters + startnum=0 + endnum=$(( NUMMESSAGES - 1 )) + else + startnum=$1 + endnum=$2 + fi + ls -l ${RSYSLOG_OUT_LOG} + gunzip < ${RSYSLOG_OUT_LOG} | $RS_SORTCMD $RS_SORT_NUMERIC_OPT | ./chkseq -v -s$startnum -e$endnum $3 $4 $5 $6 $7 + if [ "$?" -ne "0" ]; then + echo "sequence error detected" + error_exit 1 + fi +} + + +# do a tcpflood run and check if it worked params are passed to tcpflood +tcpflood() { + if [ "$1" == "--check-only" ]; then + check_only="yes" + shift + else + check_only="no" + fi + eval ./tcpflood -p$TCPFLOOD_PORT "$@" $TCPFLOOD_EXTRA_OPTS + res=$? + if [ "$check_only" == "yes" ]; then + if [ "$res" -ne "0" ]; then + echo "error during tcpflood on port ${TCPFLOOD_PORT}! But test continues..." + fi + return 0 + else + if [ "$res" -ne "0" ]; then + echo "error during tcpflood on port ${TCPFLOOD_PORT}! see ${RSYSLOG_OUT_LOG}.save for what was written" + cp ${RSYSLOG_OUT_LOG} ${RSYSLOG_OUT_LOG}.save + error_exit 1 stacktrace + fi + fi +} + + +# cleanup +# detect any left-over hanging instance +exit_test() { + nhanging=0 + #for pid in $(ps -eo pid,args|grep '/tools/[r]syslogd ' |sed -e 's/\( *\)\([0-9]*\).*/\2/'); + #do + #echo "ERROR: left-over instance $pid, killing it" + # ps -fp $pid + # pwd + # printf "we do NOT kill the instance as this does not work with multiple\n" + # printf "builds per machine - this message is now informational to show prob exists!\n" + # #kill -9 $pid + # let "nhanging++" + #done + if test $nhanging -ne 0 + then + echo "ABORT! hanging instances left at exit" + #error_exit 1 + #exit 77 # for now, just skip - TODO: reconsider when supporting -j + fi + # now real cleanup + rm -f rsyslog.action.*.include + rm -f work rsyslog.out.* xlate*.lkp_tbl + rm -rf test-logdir stat-file1 + rm -f rsyslog.conf.tlscert stat-file1 rsyslog.empty imfile-state:* + rm -f ${TESTCONF_NM}.conf + rm -f tmp.qi nocert + rm -fr $RSYSLOG_DYNNAME* # delete all of our dynamic files + unset TCPFLOOD_EXTRA_OPTS + + # Extended Exit handling for kafka / zookeeper instances + kafka_exit_handling "true" + + # Ensure redis is stopped + stop_redis + + printf '%s Test %s SUCCESSFUL (took %s seconds)\n' "$(tb_timestamp)" "$0" "$(( $(date +%s) - TB_STARTTEST ))" + echo ------------------------------------------------------------------------------- + exit 0 +} + +# finds a free port that we can bind a listener to +# Obviously, any solution is race as another process could start +# just after us and grab the same port. However, in practice it seems +# to work pretty well. In any case, we should probably call this as +# late as possible before the usage of the port. +get_free_port() { +$PYTHON -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()' +} + + +# return the inode number of file $1; file MUST exist +get_inode() { + if [ ! -f "$1" ]; then + printf 'FAIL: file "%s" does not exist in get_inode\n' "$1" + error_exit 100 + fi + $PYTHON -c 'import os; import stat; print(os.lstat("'$1'")[stat.ST_INO])' +} + + +# check that logger supports -d option, if not skip test +# right now this is a bit dirty, we check distros which do not support it +check_logger_has_option_d() { + skip_platform "FreeBSD" "We need logger -d option, which we do not have on FreeBSD" + skip_platform "SunOS" "We need logger -d option, which we do not have on (all flavors of) Solaris" + + # check also the case for busybox + logger --help 2>&1 | head -n1 | grep -q BusyBox + if [ $? -eq 0 ]; then + echo "We need logger -d option, which we do not have have on Busybox" + exit 77 + fi +} + + +require_relpEngineSetTLSLibByName() { + ./have_relpEngineSetTLSLibByName + if [ $? -eq 1 ]; then + echo "relpEngineSetTLSLibByName API not available. Test stopped" + exit 77 + fi; +} + +require_relpEngineVersion() { + if [ "$1" == "" ]; then + echo "require_relpEngineVersion missing required parameter (minimum version required)" + exit 1 + else + ./check_relpEngineVersion $1 + if [ $? -eq 1 ]; then + echo "relpEngineVersion too OLD. Test stopped" + exit 77 + fi; + fi +} + + +# check if command $1 is available - will exit 77 when not OK +check_command_available() { + have_cmd=0 + if [ "$1" == "timeout" ]; then + if timeout --version &>/dev/null ; then + have_cmd=1 + fi + else + command -v $1 + if [ $? -eq 0 ]; then + have_cmd=1 + fi + fi + if [ $have_cmd -eq 0 ] ; then + printf 'Testbench requires unavailable command: %s\n' "$1" + exit 77 # do NOT error_exit here! + fi +} + + +# sort the output file just like we normally do it, but do not call +# seqchk. This is needed for some operations where we need the sort +# result for some preprocessing. Note that a later seqchk will sort +# again, but that's not an issue. +presort() { + rm -f $RSYSLOG_DYNNAME.presort + $RS_SORTCMD $RS_SORT_NUMERIC_OPT < ${RSYSLOG_OUT_LOG} > $RSYSLOG_DYNNAME.presort +} + + +#START: ext kafka config +#dep_cache_dir=$(readlink -f .dep_cache) +export RS_ZK_DOWNLOAD=apache-zookeeper-3.9.1-bin.tar.gz +dep_cache_dir=$(pwd)/.dep_cache +dep_zk_url=https://downloads.apache.org/zookeeper/zookeeper-3.9.1/$RS_ZK_DOWNLOAD +dep_zk_cached_file=$dep_cache_dir/$RS_ZK_DOWNLOAD + +export RS_KAFKA_DOWNLOAD=kafka_2.13-2.8.0.tgz +dep_kafka_url="https://www.rsyslog.com/files/download/rsyslog/$RS_KAFKA_DOWNLOAD" +dep_kafka_cached_file=$dep_cache_dir/$RS_KAFKA_DOWNLOAD + +if [ -z "$ES_DOWNLOAD" ]; then + export ES_DOWNLOAD=elasticsearch-7.14.1-linux-x86_64.tar.gz +fi +if [ -z "$ES_PORT" ]; then + export ES_PORT=19200 +fi +dep_es_cached_file="$dep_cache_dir/$ES_DOWNLOAD" + +# kafka (including Zookeeper) +dep_kafka_dir_xform_pattern='s#^[^/]\+#kafka#g' +dep_zk_dir_xform_pattern='s#^[^/]\+#zk#g' +dep_es_dir_xform_pattern='s#^[^/]\+#es#g' +#dep_kafka_log_dump=$(readlink -f rsyslog.out.kafka.log) + +# TODO Make dynamic work dir for multiple instances +#dep_work_dir=$(readlink -f .dep_wrk) +dep_work_dir=$(pwd)/.dep_wrk +#dep_kafka_work_dir=$dep_work_dir/kafka +#dep_zk_work_dir=$dep_work_dir/zk + +#END: ext kafka config + +kafka_exit_handling() { + + # Extended Exit handling for kafka / zookeeper instances + if [[ "$EXTRA_EXIT" == 'kafka' ]]; then + + echo "stop kafka instance" + stop_kafka '.dep_wrk' $1 + + echo "stop zookeeper instance" + stop_zookeeper '.dep_wrk' $1 + fi + + # Extended Exit handling for kafka / zookeeper instances + if [[ "$EXTRA_EXIT" == 'kafkamulti' ]]; then + echo "stop kafka instances" + stop_kafka '.dep_wrk1' $1 + stop_kafka '.dep_wrk2' $1 + stop_kafka '.dep_wrk3' $1 + + echo "stop zookeeper instances" + stop_zookeeper '.dep_wrk1' $1 + stop_zookeeper '.dep_wrk2' $1 + stop_zookeeper '.dep_wrk3' $1 + fi +} + +download_kafka() { + if [ ! -d $dep_cache_dir ]; then + echo "Creating dependency cache dir $dep_cache_dir" + mkdir $dep_cache_dir + fi + if [ ! -f $dep_zk_cached_file ]; then + if [ -f /local_dep_cache/$RS_ZK_DOWNLOAD ]; then + printf 'Zookeeper: satisfying dependency %s from system cache.\n' "$RS_ZK_DOWNLOAD" + cp /local_dep_cache/$RS_ZK_DOWNLOAD $dep_zk_cached_file + else + echo "Downloading zookeeper" + echo wget -q $dep_zk_url -O $dep_zk_cached_file + wget -q $dep_zk_url -O $dep_zk_cached_file + if [ $? -ne 0 ] + then + echo error during wget, retry: + wget $dep_zk_url -O $dep_zk_cached_file + if [ $? -ne 0 ] + then + error_exit 1 + fi + fi + fi + fi + if [ ! -f $dep_kafka_cached_file ]; then + if [ -f /local_dep_cache/$RS_KAFKA_DOWNLOAD ]; then + printf 'Kafka: satisfying dependency %s from system cache.\n' "$RS_KAFKA_DOWNLOAD" + cp /local_dep_cache/$RS_KAFKA_DOWNLOAD $dep_kafka_cached_file + else + echo "Downloading kafka" + wget -q $dep_kafka_url -O $dep_kafka_cached_file + if [ $? -ne 0 ] + then + echo error during wget, retry: + wget $dep_kafka_url -O $dep_kafka_cached_file + if [ $? -ne 0 ] + then + rm $dep_kafka_cached_file # a 0-size file may be left over + error_exit 1 + fi + fi + fi + fi +} + +stop_kafka() { + if [ "$KEEP_KAFKA_RUNNING" == "YES" ]; then + return + fi + i=0 + if [ "x$1" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + dep_work_kafka_config="kafka-server.properties" + else + dep_work_dir=$(readlink -f $srcdir/$1) + if [[ ".dep_wrk" != "$1" ]]; then + dep_work_kafka_config="kafka-server$1.properties" + else + dep_work_kafka_config="kafka-server.properties" + fi + fi + if [ ! -d $dep_work_dir/kafka ]; then + echo "Kafka work-dir $dep_work_dir/kafka does not exist, no action needed" + else + # shellcheck disable=SC2009 - we do not grep on the process name! + kafkapid=$(ps aux | grep -i $dep_work_kafka_config | grep java | grep -v grep | awk '{print $2}') + + echo "Stopping Kafka instance $1 ($dep_work_kafka_config/$kafkapid)" + kill $kafkapid + + # Check if kafka instance went down! + while true; do + # shellcheck disable=SC2009 - we do not grep on the process name! + kafkapid=$(ps aux | grep -i $dep_work_kafka_config | grep java | grep -v grep | awk '{print $2}') + if [[ "" != "$kafkapid" ]]; then + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + if test $i -gt $TB_TIMEOUT_STARTSTOP; then + echo "Kafka instance $dep_work_kafka_config (PID $kafkapid) still running - Performing hard shutdown (-9)" + kill -9 $kafkapid + break + fi + (( i++ )) + else + # Break the loop + break + fi + done + + if [[ "$2" == 'true' ]]; then + # Process shutdown, do cleanup now + cleanup_kafka $1 + fi + fi +} + +cleanup_kafka() { + if [ "x$1" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + else + dep_work_dir=$(readlink -f $srcdir/$1) + fi + if [ ! -d $dep_work_dir/kafka ]; then + echo "Kafka work-dir $dep_work_dir/kafka does not exist, no action needed" + else + echo "Cleanup Kafka instance $1" + rm -rf $dep_work_dir/kafka + fi +} + +stop_zookeeper() { + if [ "$KEEP_KAFKA_RUNNING" == "YES" ]; then + return + fi + i=0 + if [ "x$1" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + dep_work_tk_config="zoo.cfg" + else + dep_work_dir=$(readlink -f $srcdir/$1) + if [[ ".dep_wrk" != "$1" ]]; then + dep_work_tk_config="zoo$1.cfg" + else + dep_work_tk_config="zoo.cfg" + fi + fi + + if [ ! -d $dep_work_dir/zk ]; then + echo "Zookeeper work-dir $dep_work_dir/zk does not exist, no action needed" + else + # Get Zookeeper pid instance + zkpid=$(ps aux | grep -i $dep_work_tk_config | grep java | grep -v grep | awk '{print $2}') + echo "Stopping Zookeeper instance $1 ($dep_work_tk_config/$zkpid)" + kill $zkpid + + # Check if Zookeeper instance went down! + zkpid=$(ps aux | grep -i $dep_work_tk_config | grep java | grep -v grep | awk '{print $2}') + if [[ "" != "$zkpid" ]]; then + while true; do + zkpid=$(ps aux | grep -i $dep_work_tk_config | grep java | grep -v grep | awk '{print $2}') + if [[ "" != "$zkpid" ]]; then + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + if test $i -gt $TB_TIMEOUT_STARTSTOP; then + echo "Zookeeper instance $dep_work_tk_config (PID $zkpid) still running - Performing hard shutdown (-9)" + kill -9 $zkpid + break + fi + (( i++ )) + else + break + fi + done + fi + + if [[ "$2" == 'true' ]]; then + # Process shutdown, do cleanup now + cleanup_zookeeper $1 + fi + rm "$ZOOPIDFILE" + fi +} + +cleanup_zookeeper() { + if [ "x$1" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + else + dep_work_dir=$(readlink -f $srcdir/$1) + fi + rm -rf $dep_work_dir/zk +} + +start_zookeeper() { + if [ "$KEEP_KAFKA_RUNNING" == "YES" ] && [ -f "$ZOOPIDFILE" ]; then + if kill -0 "$(cat "$ZOOPIDFILE")"; then + printf 'zookeeper already running, no need to start\n' + return + else + printf 'INFO: zookeeper pidfile %s exists, but zookeeper not running\n' "$ZOOPIDFILE" + printf 'deleting pid file\n' + rm -f "$ZOOPIDFILE" + fi + fi + if [ "x$1" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + dep_work_tk_config="zoo.cfg" + else + dep_work_dir=$(readlink -f $srcdir/$1) + dep_work_tk_config="zoo$1.cfg" + fi + + if [ ! -f $dep_zk_cached_file ]; then + echo "Dependency-cache does not have zookeeper package, did you download dependencies?" + error_exit 77 + fi + if [ ! -d $dep_work_dir ]; then + echo "Creating dependency working directory" + mkdir -p $dep_work_dir + fi + if [ -d $dep_work_dir/zk ]; then + (cd $dep_work_dir/zk && ./bin/zkServer.sh stop) + $TESTTOOL_DIR/msleep 2000 + fi + rm -rf $dep_work_dir/zk + (cd $dep_work_dir && tar -zxvf $dep_zk_cached_file --xform $dep_zk_dir_xform_pattern --show-transformed-names) > /dev/null + cp -f $srcdir/testsuites/$dep_work_tk_config $dep_work_dir/zk/conf/zoo.cfg + echo "Starting Zookeeper instance $1" + (cd $dep_work_dir/zk && ./bin/zkServer.sh start) + wait_startup_pid "$ZOOPIDFILE" +} + +start_kafka() { + printf '%s starting kafka\n' "$(tb_timestamp)" + + # Force IPv4 usage of Kafka! + export KAFKA_HEAP_OPTS="-Xms256m -Xmx256m" # we need to take care for smaller CI systems! + export KAFKA_OPTS="-Djava.net.preferIPv4Stack=True" + if [ "x$1" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + dep_work_kafka_config="kafka-server.properties" + else + dep_work_dir=$(readlink -f $1) + dep_work_kafka_config="kafka-server$1.properties" + fi + + # shellcheck disable=SC2009 - we do not grep on the process name! + kafkapid=$(ps aux | grep -i $dep_work_kafka_config | grep java | grep -v grep | awk '{print $2}') + if [ "$KEEP_KAFKA_RUNNING" == "YES" ] && [ "$kafkapid" != "" ]; then + printf 'kafka already running, no need to start\n' + return + fi + + if [ ! -f $dep_kafka_cached_file ]; then + echo "Dependency-cache does not have kafka package, did you download dependencies?" + error_exit 77 + fi + if [ ! -d $dep_work_dir ]; then + echo "Creating dependency working directory" + mkdir -p $dep_work_dir + fi + rm -rf $dep_work_dir/kafka + ( cd $dep_work_dir && + tar -zxvf $dep_kafka_cached_file --xform $dep_kafka_dir_xform_pattern --show-transformed-names) > /dev/null + cp -f $srcdir/testsuites/$dep_work_kafka_config $dep_work_dir/kafka/config/ + #if [ "$(ps aux | grep -i $dep_work_kafka_config | grep java | grep -v grep | awk '{print $2}')" != "" ]; then + echo "Starting Kafka instance $dep_work_kafka_config" + (cd $dep_work_dir/kafka && ./bin/kafka-server-start.sh -daemon ./config/$dep_work_kafka_config) + $TESTTOOL_DIR/msleep 4000 + + # Check if kafka instance came up! + # shellcheck disable=SC2009 - we do not grep on the process name! + kafkapid=$(ps aux | grep -i $dep_work_kafka_config | grep java | grep -v grep | awk '{print $2}') + if [[ "" != "$kafkapid" ]]; + then + echo "Kafka instance $dep_work_kafka_config (PID $kafkapid) started ... " + else + echo "Starting Kafka instance $dep_work_kafka_config, SECOND ATTEMPT!" + (cd $dep_work_dir/kafka && ./bin/kafka-server-start.sh -daemon ./config/$dep_work_kafka_config) + $TESTTOOL_DIR/msleep 4000 + + # shellcheck disable=SC2009 - we do not grep on the process name! + kafkapid=$(ps aux | grep -i $dep_work_kafka_config | grep java | grep -v grep | awk '{print $2}') + if [[ "" != "$kafkapid" ]]; + then + echo "Kafka instance $dep_work_kafka_config (PID $kafkapid) started ... " + else + echo "Failed to start Kafka instance for $dep_work_kafka_config" + echo "displaying all kafka logs now:" + for logfile in $dep_work_dir/logs/*; do + echo "FILE: $logfile" + cat $logfile + done + error_exit 77 + fi + fi +} + +create_kafka_topic() { + if [ "x$2" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + else + dep_work_dir=$(readlink -f $2) + fi + if [ "x$3" == "x" ]; then + dep_work_port='2181' + else + dep_work_port=$3 + fi + if [ ! -d $dep_work_dir/kafka ]; then + echo "Kafka work-dir $dep_work_dir/kafka does not exist, did you start kafka?" + exit 1 + fi + if [ "x$1" == "x" ]; then + echo "Topic-name not provided." + exit 1 + fi + + # we need to make sure replication has is working. So let's loop until no more + # errors (or timeout) - see also: https://github.com/rsyslog/rsyslog/issues/3045 + timeout_ready=100 # roughly 10 sec + is_retry=0 + i=0 + while true; do + text=$(cd $dep_work_dir/kafka && ./bin/kafka-topics.sh --zookeeper localhost:$dep_work_port/kafka --create --topic $1 --replication-factor 1 --partitions 2 ) + grep "Error.* larger than available brokers: 0" <<<"$text" + res=$? + if [ $res -ne 0 ]; then + echo looks like brokers are available - continue... + break + fi + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + (( i++ )) + if test $i -gt $timeout_ready; then + echo "ENV ERROR: kafka brokers did not come up:" + cat -n <<< $text + if [ $is_retry == 1 ]; then + echo "SKIPing test as the env is not ready for it" + exit 177 + fi + echo "RETRYING kafka startup, doing shutdown and startup" + stop_zookeeper ""; stop_kafka "" + start_zookeeper ""; start_kafka "" + echo "READY for RETRY" + is_retry=1 + i=0 + fi + done + + # we *assume* now all goes well + (cd $dep_work_dir/kafka && ./bin/kafka-topics.sh --zookeeper localhost:$dep_work_port/kafka --alter --topic $1 --delete-config retention.ms) + (cd $dep_work_dir/kafka && ./bin/kafka-topics.sh --zookeeper localhost:$dep_work_port/kafka --alter --topic $1 --delete-config retention.bytes) +} + +delete_kafka_topic() { + if [ "x$2" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + else + dep_work_dir=$(readlink -f $srcdir/$2) + fi + if [ "x$3" == "x" ]; then + dep_work_port='2181' + else + dep_work_port=$3 + fi + + echo "deleting kafka-topic $1" + (cd $dep_work_dir/kafka && ./bin/kafka-topics.sh --delete --zookeeper localhost:$dep_work_port/kafka --topic $1) +} + +dump_kafka_topic() { + if [ "x$2" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + dep_kafka_log_dump=$(readlink -f rsyslog.out.kafka.log) + else + dep_work_dir=$(readlink -f $srcdir/$2) + dep_kafka_log_dump=$(readlink -f rsyslog.out.kafka$2.log) + fi + if [ "x$3" == "x" ]; then + dep_work_port='2181' + else + dep_work_port=$3 + fi + + echo "dumping kafka-topic $1" + if [ ! -d $dep_work_dir/kafka ]; then + echo "Kafka work-dir does not exist, did you start kafka?" + exit 1 + fi + if [ "x$1" == "x" ]; then + echo "Topic-name not provided." + exit 1 + fi + + (cd $dep_work_dir/kafka && ./bin/kafka-console-consumer.sh --timeout-ms 2000 --from-beginning --zookeeper localhost:$dep_work_port/kafka --topic $1 > $dep_kafka_log_dump) +} + +dump_kafka_serverlog() { + if [ "x$1" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + else + dep_work_dir=$(readlink -f $srcdir/$1) + fi + if [ ! -d $dep_work_dir/kafka ]; then + echo "Kafka work-dir $dep_work_dir/kafka does not exist, no kafka debuglog" + else + echo "Dumping server.log from Kafka instance $1" + echo "=========================================" + cat $dep_work_dir/kafka/logs/server.log + echo "=========================================" + printf 'non-info is:\n' + grep --invert-match '^\[.* INFO ' $dep_work_dir/kafka/logs/server.log | grep '^\[' + fi +} + +dump_zookeeper_serverlog() { + if [ "x$1" == "x" ]; then + dep_work_dir=$(readlink -f .dep_wrk) + else + dep_work_dir=$(readlink -f $srcdir/$1) + fi + echo "Dumping zookeeper.out from Zookeeper instance $1" + echo "=========================================" + cat $dep_work_dir/zk/zookeeper.out + echo "=========================================" + printf 'non-info is:\n' + grep --invert-match '^\[.* INFO ' $dep_work_dir/zk/zookeeper.out | grep '^\[' +} + + +# download elasticsearch files, if necessary +download_elasticsearch() { + if [ ! -d $dep_cache_dir ]; then + echo "Creating dependency cache dir $dep_cache_dir" + mkdir $dep_cache_dir + fi + if [ ! -f $dep_es_cached_file ]; then + if [ -f /local_dep_cache/$ES_DOWNLOAD ]; then + printf 'ElasticSearch: satisfying dependency %s from system cache.\n' "$ES_DOWNLOAD" + cp /local_dep_cache/$ES_DOWNLOAD $dep_es_cached_file + else + dep_es_url="https://www.rsyslog.com/files/download/rsyslog/$ES_DOWNLOAD" + printf 'ElasticSearch: satisfying dependency %s from %s\n' "$ES_DOWNLOAD" "$dep_es_url" + wget -q $dep_es_url -O $dep_es_cached_file + fi + fi +} + + +# prepare elasticsearch execution environment +# this also stops any previous elasticsearch instance, if found +prepare_elasticsearch() { + stop_elasticsearch # stop if it is still running + # Heap Size (limit to 128MB for testbench! default is way to HIGH) + export ES_JAVA_OPTS="-Xms128m -Xmx128m" + + dep_work_dir=$(readlink -f .dep_wrk) + dep_work_es_config="es.yml" + dep_work_es_pidfile="es.pid" + + if [ ! -f $dep_es_cached_file ]; then + echo "Dependency-cache does not have elasticsearch package, did " + echo "you download dependencies?" + error_exit 100 + fi + if [ ! -d $dep_work_dir ]; then + echo "Creating dependency working directory" + mkdir -p $dep_work_dir + fi + if [ -d $dep_work_dir/es ]; then + if [ -e $dep_work_es_pidfile ]; then + es_pid=$(cat $dep_work_es_pidfile) + kill -SIGTERM $es_pid + wait_pid_termination $es_pid + fi + fi + rm -rf $dep_work_dir/es + echo TEST USES ELASTICSEARCH BINARY $dep_es_cached_file + (cd $dep_work_dir && tar -zxf $dep_es_cached_file --xform $dep_es_dir_xform_pattern --show-transformed-names) > /dev/null + if [ -n "${ES_PORT:-}" ] ; then + rm -f $dep_work_dir/es/config/elasticsearch.yml + sed "s/^http.port:.*\$/http.port: ${ES_PORT}/" $srcdir/testsuites/$dep_work_es_config > $dep_work_dir/es/config/elasticsearch.yml + if [ "$ES_DOWNLOAD" != "elasticsearch-6.0.0.tar.gz" ]; then + printf 'xpack.security.enabled: false\n' >> $dep_work_dir/es/config/elasticsearch.yml + fi + else + cp -f $srcdir/testsuites/$dep_work_es_config $dep_work_dir/es/config/elasticsearch.yml + fi + + # Avoid deprecated parameter, new option introduced with 6.7 + echo "Setting transport tcp option to ${ES_PORT_OPTION:-transport.tcp.port}" + sed -i "s/transport.tcp.port/${ES_PORT_OPTION:-transport.tcp.port}/g" "$dep_work_dir/es/config/elasticsearch.yml" + + if [ ! -d $dep_work_dir/es/data ]; then + echo "Creating elastic search directories" + mkdir -p $dep_work_dir/es/data + mkdir -p $dep_work_dir/es/logs + mkdir -p $dep_work_dir/es/tmp + fi + echo ElasticSearch prepared for use in test. +} + + +# ensure that a basic, suitable instance of elasticsearch is running. This is part +# of an effort to avoid restarting elasticsearch more often than necessary. +ensure_elasticsearch_ready() { + if printf '%s:%s:%s\n' "$ES_DOWNLOAD" "$ES_PORT" "$(cat es.pid)" \ + | cmp -b - elasticsearch.running + then + printf 'Elasticsearch already running, NOT restarting it\n' + else + cat elasticsearch.running + cleanup_elasticsearch + dep_es_cached_file="$dep_cache_dir/$ES_DOWNLOAD" + download_elasticsearch + prepare_elasticsearch + if [ "$1" != "--no-start" ]; then + start_elasticsearch + printf '%s:%s:%s\n' "$ES_DOWNLOAD" "$ES_PORT" "$(cat es.pid)" > elasticsearch.running + fi + fi + if [ "$1" != "--no-start" ]; then + printf 'running elasticsearch instance: %s\n' "$(cat elasticsearch.running)" + init_elasticsearch + fi +} + + +# $2, if set, is the number of additional ES instances +start_elasticsearch() { + # Heap Size (limit to 256MB for testbench! defaults is way to HIGH) + export ES_JAVA_OPTS="-Xms256m -Xmx256m" + + dep_work_dir=$(readlink -f .dep_wrk) + dep_work_es_config="es.yml" + dep_work_es_pidfile="$(pwd)/es.pid" + echo "Starting ElasticSearch" + + # THIS IS THE ACTUAL START of ES + $dep_work_dir/es/bin/elasticsearch -p $dep_work_es_pidfile -d + $TESTTOOL_DIR/msleep 2000 + wait_startup_pid $dep_work_es_pidfile + printf 'elasticsearch pid is %s\n' "$(cat $dep_work_es_pidfile)" + + # Wait for startup with hardcoded timeout + timeoutend=120 + timeseconds=0 + # Loop until elasticsearch port is reachable or until + # timeout is reached! + until [ "$(curl --silent --show-error --connect-timeout 1 http://localhost:${ES_PORT:-19200} | grep 'rsyslog-testbench')" != "" ]; do + echo "--- waiting for ES startup: $timeseconds seconds" + $TESTTOOL_DIR/msleep 1000 + (( timeseconds=timeseconds + 1 )) + + if [ "$timeseconds" -gt "$timeoutend" ]; then + echo "--- TIMEOUT ( $timeseconds ) reached!!!" + if [ ! -d $dep_work_dir/es ]; then + echo "ElasticSearch $dep_work_dir/es does not exist, no ElasticSearch debuglog" + else + echo "Dumping rsyslog-testbench.log from ElasticSearch instance $1" + echo "=========================================" + cat $dep_work_dir/es/logs/rsyslog-testbench.log + echo "=========================================" +# printf 'non-info is:\n' +# grep --invert-match '^\[.* INFO ' $dep_work_dir/kafka/logs/server.log | grep '^\[' + fi + error_exit 1 + fi + done + $TESTTOOL_DIR/msleep 2000 + echo ES startup succeeded +} + +# read data from ES to a local file so that we can process +# $1 - number of records (ES does not return all records unless you tell it explicitly). +# $2 - ES port +es_getdata() { + curl --silent -XPUT --show-error -H 'Content-Type: application/json' "http://localhost:${2:-$ES_PORT}/rsyslog_testbench/_settings" -d '{ "index" : { "max_result_window" : '${1:-$NUMMESSAGES}' } }' + # refresh to ensure we get the latest data + curl --silent localhost:${2:-$ES_PORT}/rsyslog_testbench/_refresh + curl --silent localhost:${2:-$ES_PORT}/rsyslog_testbench/_search?size=${1:-$NUMMESSAGES} > $RSYSLOG_DYNNAME.work + $PYTHON $srcdir/es_response_get_msgnum.py > ${RSYSLOG_OUT_LOG} +} + +# a standard method to support shutdown & queue empty check for a wide range +# of elasticsearch tests. This works if we assume that ES has delivered messages +# to the default location. +es_shutdown_empty_check() { + es_getdata $NUMMESSAGES $ES_PORT + lines=$(wc -l < "$RSYSLOG_OUT_LOG") + if [ "$lines" -eq $NUMMESSAGES ]; then + printf '%s es_shutdown_empty_check: success, have %d lines\n' "$(tb_timestamp)" $lines + return 0 + fi + printf '%s es_shutdown_empty_check: have %d lines, expecting %d\n' "$(tb_timestamp)" $lines $NUMMESSAGES + return 1 +} + + +stop_elasticsearch() { + dep_work_dir=$(readlink -f $srcdir) + dep_work_es_pidfile="es.pid" + rm elasticsearch.running + if [ -e $dep_work_es_pidfile ]; then + es_pid=$(cat $dep_work_es_pidfile) + printf 'stopping ES with pid %d\n' $es_pid + kill -SIGTERM $es_pid + wait_pid_termination $es_pid + fi +} + +# cleanup es leftovers when it is being stopped +cleanup_elasticsearch() { + dep_work_dir=$(readlink -f .dep_wrk) + dep_work_es_pidfile="es.pid" + stop_elasticsearch + rm -f $dep_work_es_pidfile + rm -rf $dep_work_dir/es +} + +# initialize local Elasticsearch *testbench* instance for the next +# test. NOTE: do NOT put anything useful on that instance! +init_elasticsearch() { + curl --silent -XDELETE localhost:${ES_PORT:-9200}/rsyslog_testbench +} + +omhttp_start_server() { + # Args: 1=port 2=server args + # Args 2 and up are passed along as is to omhttp_server.py + omhttp_server_py=$srcdir/omhttp_server.py + if [ ! -f $omhttp_server_py ]; then + echo "Cannot find ${omhttp_server_py} for omhttp test" + error_exit 1 + fi + + if [ "x$1" == "x" ]; then + omhttp_server_port="8080" + else + omhttp_server_port="$1" + fi + + # Create work directory for parallel tests + omhttp_work_dir=$RSYSLOG_DYNNAME/omhttp + + omhttp_server_pidfile="${omhttp_work_dir}/omhttp_server.pid" + omhttp_server_logfile="${omhttp_work_dir}/omhttp_server.log" + mkdir -p ${omhttp_work_dir} + + server_args="-p $omhttp_server_port ${*:2} --port-file $RSYSLOG_DYNNAME.omhttp_server_lstnport.file" + + timeout 30m $PYTHON ${omhttp_server_py} ${server_args} >> ${omhttp_server_logfile} 2>&1 & + if [ ! $? -eq 0 ]; then + echo "Failed to start omhttp test server." + rm -rf $omhttp_work_dir + error_exit 1 + fi + omhttp_server_pid=$! + + wait_file_exists "$RSYSLOG_DYNNAME.omhttp_server_lstnport.file" + omhttp_server_lstnport="$(cat $RSYSLOG_DYNNAME.omhttp_server_lstnport.file)" + echo ${omhttp_server_pid} > ${omhttp_server_pidfile} + echo "Started omhttp test server with args ${server_args} with pid ${omhttp_server_pid}, port {$omhttp_server_lstnport}" +} + +omhttp_stop_server() { + # Args: None + omhttp_work_dir=$RSYSLOG_DYNNAME/omhttp + if [ ! -d $omhttp_work_dir ]; then + echo "omhttp server $omhttp_work_dir does not exist, no action needed" + else + echo "Stopping omhttp server" + kill -9 $(cat ${omhttp_work_dir}/omhttp_server.pid) > /dev/null 2>&1 + rm -rf $omhttp_work_dir + fi +} + +omhttp_get_data() { + # Args: 1=port 2=endpoint 3=batchformat(optional) + if [ "x$1" == "x" ]; then + omhttp_server_port=8080 + else + omhttp_server_port=$1 + fi + + if [ "x$2" == "x" ]; then + omhttp_path="" + else + omhttp_path=$2 + fi + + # The test server returns a json encoded array of strings containing whatever omhttp sent to it in each request + python_init="import json, sys; dat = json.load(sys.stdin)" + python_print="print('\n'.join(out))" + if [ "x$3" == "x" ]; then + # dat = ['{"msgnum":"1"}, '{"msgnum":"2"}', '{"msgnum":"3"}', '{"msgnum":"4"}'] + python_parse="$python_init; out = [json.loads(l)['msgnum'] for l in dat]; $python_print" + else + if [ "x$3" == "xjsonarray" ]; then + # dat = ['[{"msgnum":"1"},{"msgnum":"2"}]', '[{"msgnum":"3"},{"msgnum":"4"}]'] + python_parse="$python_init; out = [l['msgnum'] for a in dat for l in json.loads(a)]; $python_print" + elif [ "x$3" == "xnewline" ]; then + # dat = ['{"msgnum":"1"}\n{"msgnum":"2"}', '{"msgnum":"3"}\n{"msgnum":"4"}'] + python_parse="$python_init; out = [json.loads(l)['msgnum'] for a in dat for l in a.split('\n')]; $python_print" + elif [ "x$3" == "xkafkarest" ]; then + # dat = ['{"records":[{"value":{"msgnum":"1"}},{"value":{"msgnum":"2"}}]}', + # '{"records":[{"value":{"msgnum":"3"}},{"value":{"msgnum":"4"}}]}'] + python_parse="$python_init; out = [l['value']['msgnum'] for a in dat for l in json.loads(a)['records']]; $python_print" + elif [ "x$3" == "xlokirest" ]; then + # dat = ['{"streams":[{"msgnum":"1"},{"msgnum":"2"}]}', + # '{"streams":[{"msgnum":"3"},{"msgnum":"4"}]}'] + python_parse="$python_init; out = [l['msgnum'] for a in dat for l in json.loads(a)['streams']]; $python_print" + else + # use newline parsing as default + python_parse="$python_init; out = [json.loads(l)['msgnum'] for a in dat for l in a.split('\n')]; $python_print" + fi + + fi + + omhttp_url="localhost:${omhttp_server_port}/${omhttp_path}" + curl -s ${omhttp_url} \ + | $PYTHON -c "${python_parse}" | sort -n \ + > ${RSYSLOG_OUT_LOG} +} + + +# prepare MySQL for next test +# each test receives its own database so that we also can run in parallel +mysql_prep_for_test() { + mysql -u rsyslog --password=testbench -e "CREATE DATABASE $RSYSLOG_DYNNAME; " + mysql -u rsyslog --password=testbench --database $RSYSLOG_DYNNAME \ + -e "CREATE TABLE SystemEvents (ID int unsigned not null auto_increment primary key, CustomerID bigint,ReceivedAt datetime NULL,DeviceReportedTime datetime NULL,Facility smallint NULL,Priority smallint NULL,FromHost varchar(60) NULL,Message text,NTSeverity int NULL,Importance int NULL,EventSource varchar(60),EventUser varchar(60) NULL,EventCategory int NULL,EventID int NULL,EventBinaryData text NULL,MaxAvailable int NULL,CurrUsage int NULL,MinUsage int NULL,MaxUsage int NULL,InfoUnitID int NULL,SysLogTag varchar(60),EventLogType varchar(60),GenericFileName VarChar(60),SystemID int NULL); CREATE TABLE SystemEventsProperties (ID int unsigned not null auto_increment primary key,SystemEventID int NULL,ParamName varchar(255) NULL,ParamValue text NULL);" + mysql --user=rsyslog --password=testbench --database $RSYSLOG_DYNNAME \ + -e "truncate table SystemEvents;" + # TEST ONLY: + #mysql -s --user=rsyslog --password=testbench --database $RSYSLOG_DYNNAME \ + #-e "select substring(Message,9,8) from SystemEvents;" + # END TEST + printf 'mysql ready for test, database: %s\n' $RSYSLOG_DYNNAME +} + +# get data from mysql DB so that we can do seq_check on it. +mysql_get_data() { + # note "-s" is required to suppress the select "field header" + mysql -s --user=rsyslog --password=testbench --database $RSYSLOG_DYNNAME \ + -e "select substring(Message,9,8) from SystemEvents;" \ + > $RSYSLOG_OUT_LOG 2> "$RSYSLOG_DYNNAME.mysqlerr" + grep -iv "Using a password on the command line interface can be insecure." < "$RSYSLOG_DYNNAME.mysqlerr" +} + +# cleanup any temp data from mysql test +# if we do not do this, we may run out of disk space +# especially in container environment. +mysql_cleanup_test() { + mysql --user=rsyslog --password=testbench -e "drop database $RSYSLOG_DYNNAME;" \ + 2>&1 | grep -iv "Using a password on the command line interface can be insecure." +} + + +start_redis() { + check_command_available redis-server + + export REDIS_DYN_CONF="${RSYSLOG_DYNNAME}.redis.conf" + export REDIS_DYN_DIR="$(pwd)/${RSYSLOG_DYNNAME}-redis" + + # Only set a random port if not set (useful when Redis must be restarted during a test) + if [ -z "$REDIS_RANDOM_PORT" ]; then + export REDIS_RANDOM_PORT="$(get_free_port)" + fi + + cp $srcdir/testsuites/redis.conf $REDIS_DYN_CONF + mkdir -p $REDIS_DYN_DIR + + sed -itemp "s++${REDIS_DYN_DIR}+g" $REDIS_DYN_CONF + sed -itemp "s++${REDIS_RANDOM_PORT}+g" $REDIS_DYN_CONF + + # Start the server + echo "Starting redis with conf file $REDIS_DYN_CONF" + redis-server $REDIS_DYN_CONF & + $TESTTOOL_DIR/msleep 2000 + + # Wait for Redis to be fully up + timeoutend=10 + until nc -w1 -z 127.0.0.1 $REDIS_RANDOM_PORT; do + echo "Waiting for Redis to start..." + $TESTTOOL_DIR/msleep 1000 + (( timeseconds=timeseconds + 2 )) + + if [ "$timeseconds" -gt "$timeoutend" ]; then + echo "--- TIMEOUT ( $timeseconds ) reached!!!" + if [ ! -d ${REDIS_DYN_DIR}/redis.log ]; then + echo "no Redis logs" + else + echo "Dumping ${REDIS_DYN_DIR}/redis.log" + echo "=========================================" + cat ${REDIS_DYN_DIR}/redis.log + echo "=========================================" + fi + error_exit 1 + fi + done +} + +cleanup_redis() { + if [ -d ${REDIS_DYN_DIR} ]; then + rm -rf ${REDIS_DYN_DIR} + fi + if [ -f ${REDIS_DYN_CONF} ]; then + rm -f ${REDIS_DYN_CONF} + fi +} + +stop_redis() { + if [ -f "$REDIS_DYN_DIR/redis.pid" ]; then + redispid=$(cat $REDIS_DYN_DIR/redis.pid) + echo "Stopping Redis instance" + kill $redispid + + i=0 + + # Check if redis instance went down! + while [ -f $REDIS_DYN_DIR/redis.pid ]; do + redispid=$(cat $REDIS_DYN_DIR/redis.pid) + if [[ "" != "$redispid" ]]; then + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + if test $i -gt $TB_TIMEOUT_STARTSTOP; then + echo "redis server (PID $redispid) still running - Performing hard shutdown (-9)" + kill -9 $redispid + break + fi + (( i++ )) + else + # Break the loop + break + fi + done + fi +} + +redis_command() { + check_command_available redis-cli + + if [ -z "$1" ]; then + echo "redis_command: no command provided!" + error_exit 1 + fi + + printf "$1\n" | redis-cli -p "$REDIS_RANDOM_PORT" +} + +# $1 - replacement string +# $2 - start search string +# $3 - file name +# $4 - expected value +first_column_sum_check() { + sum=$(grep "$2" < "$3" | sed -e "$1" | awk '{s+=$1} END {print s}') + if [ "x${sum}" != "x$4" ]; then + printf '\n============================================================\n' + echo FAIL: sum of first column with edit-expr "'$1'" run over lines from file "'$3'" matched by "'$2'" equals "'$sum'" which is NOT equal to EXPECTED value of "'$4'" + echo "file contents:" + cat $3 + error_exit 1 + fi +} + +# +# Helper functions to start/stop python snmp trap receiver +# +snmp_start_trapreceiver() { + # Args: 1=port 2=outputfilename + # Args 2 and up are passed along as is to snmptrapreceiver.py + snmptrapreceiver=$srcdir/snmptrapreceiver.py + if [ ! -f ${snmptrapreceiver} ]; then + echo "Cannot find ${snmptrapreceiver} for omsnmp test" + error_exit 1 + fi + + if [ "x$1" == "x" ]; then + snmp_server_port="10162" + else + snmp_server_port="$1" + fi + + if [ "x$2" == "x" ]; then + output_file="${RSYSLOG_DYNNAME}.snmp.out" + else + output_file="$2" + fi + + # Create work directory for parallel tests + snmp_work_dir=${RSYSLOG_DYNNAME}/snmptrapreceiver + + snmp_server_pidfile="${snmp_work_dir}/snmp_server.pid" + snmp_server_logfile="${snmp_work_dir}/snmp_server.log" + mkdir -p ${snmp_work_dir} + + server_args="${snmp_server_port} 127.0.0.1 ${output_file}" + + $PYTHON ${snmptrapreceiver} ${server_args} ${snmp_server_logfile} >> ${snmp_server_logfile} 2>&1 & + if [ ! $? -eq 0 ]; then + echo "Failed to start snmptrapreceiver." + rm -rf ${snmp_work_dir} + error_exit 1 + fi + + snmp_server_pid=$! + echo ${snmp_server_pid} > ${snmp_server_pidfile} + + while test ! -s "${snmp_server_logfile}"; do + $TESTTOOL_DIR/msleep 100 # wait 100 milliseconds + if [ $(date +%s) -gt $(( TB_STARTTEST + TB_TEST_MAX_RUNTIME )) ]; then + printf '%s ABORT! Timeout waiting on startup (pid file %s)\n' "$(tb_timestamp)" "$1" + ls -l "$1" + ps -fp $(cat "$1") + snmp_stop_trapreceiver + error_exit 1 +# else +# echo "waiting...${snmp_server_logfile}..." + fi + done + + echo "Started snmptrapreceiver with args ${server_args} with pid ${snmp_server_pid}" +} + +snmp_stop_trapreceiver() { + # Args: None + snmp_work_dir=${RSYSLOG_DYNNAME}/snmptrapreceiver + if [ ! -d ${snmp_work_dir} ]; then + echo "snmptrapreceiver server ${snmp_work_dir} does not exist, no action needed" + else + echo "Stopping snmptrapreceiver server" + kill -9 $(cat ${snmp_work_dir}/snmp_server.pid) > /dev/null 2>&1 + # Done at testexit already!: rm -rf ${snmp_work_dir} + fi +} + +wait_for_stats_flush() { + echo "will wait for stats push" + emitmsg=0 + while [[ ! -f $1 ]]; do + if [ $((++emitmsg % 10)) == 0 ]; then + echo waiting for stats file "'$1'" to be created + fi + $TESTTOOL_DIR/msleep 100 + done + prev_count=$(grep -c 'BEGIN$' <$1) + new_count=$prev_count + start_loop="$(date +%s)" + emit_waiting=0 + while [[ "x$prev_count" == "x$new_count" ]]; do + # busy spin, because it allows as close timing-coordination + # in actual test run as possible + if [ $(date +%s) -gt $(( TB_STARTTEST + TB_TEST_MAX_RUNTIME )) ]; then + printf '%s ABORT! Timeout waiting on stats push\n' "$(tb_timestamp)" "$1" + error_exit 1 + else + # waiting for 1000 is heuristically "sufficiently but not too + # frequent" enough + if [ $((++emit_waiting)) == 1000 ]; then + printf 'still waiting for stats push...\n' + emit_waiting=0 + fi + fi + new_count=$(grep -c 'BEGIN$' <"$1") + done + echo "stats push registered" +} + +# Check file exists and is of a particular size +# $1 - file to check +# $2 - size to check +file_size_check() { + local size=$(ls -l $1 | awk {'print $5'}) + if [ "${size}" != "${2}" ]; then + printf 'File:[%s] has unexpected size. Expected:[%d], Size:[%d]\n', $1 $2 $size + error_exit 1 + fi + return 0 +} + +case $1 in + 'init') $srcdir/killrsyslog.sh # kill rsyslogd if it runs for some reason + source set-envvars + # for (solaris) load debugging, uncomment next 2 lines: + #export LD_DEBUG=all + #ldd ../tools/rsyslogd + + # environment debug + #find / -name "librelp.so*" + #ps -ef |grep syslog + #netstat -a | grep LISTEN + + # cleanup of hanging instances from previous runs + # practice has shown this is pretty useful! + #for pid in $(ps -eo pid,args|grep '/tools/[r]syslogd ' |sed -e 's/\( *\)\([0-9]*\).*/\2/'); + #do + #echo "ERROR: left-over previous instance $pid, killing it" + #ps -fp $pid + #pwd + #kill -9 $pid + #done + # end cleanup + + # some default names (later to be set in other parts, once we support fully + # parallel tests) + export RSYSLOG_DFLT_LOG_INTERNAL=1 # testbench needs internal messages logged internally! + if [ -f testbench_test_failed_rsyslog ] && [ "$ABORT_ALL_ON_TEST_FAIL" == "YES" ]; then + echo NOT RUNNING TEST as previous test $(cat testbench_test_failed_rsyslog) failed. + exit 77 + fi + if [ "$RSYSLOG_DYNNAME" != "" ]; then + echo "FAIL: \$RSYSLOG_DYNNAME already set in init" + echo "hint: was init accidentally called twice?" + exit 2 + fi + export RSYSLOG_DYNNAME="rstb_$(./test_id $(basename $0))$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head --bytes 4)" + export RSYSLOG_OUT_LOG="${RSYSLOG_DYNNAME}.out.log" + export RSYSLOG2_OUT_LOG="${RSYSLOG_DYNNAME}_2.out.log" + export RSYSLOG_PIDBASE="${RSYSLOG_DYNNAME}:" # also used by instance 2! + #export IMDIAG_PORT=13500 DELETE ME + #export IMDIAG_PORT2=13501 DELETE ME + #export TCPFLOOD_PORT=13514 DELETE ME + + # Extra Variables for Test statistic reporting + export RSYSLOG_TESTNAME=$(basename $0) + + # we create one file with the test name, so that we know what was + # left over if "make distcheck" complains + touch $RSYSLOG_DYNNAME-$(basename $0).test_id + + if [ -z $RS_SORTCMD ]; then + RS_SORTCMD="sort" + fi + if [ -z $RS_SORT_NUMERIC_OPT ]; then + if [ "$(uname)" == "AIX" ]; then + RS_SORT_NUMERIC_OPT=-n + else + RS_SORT_NUMERIC_OPT=-g + fi + fi + if [ -z $RS_CMPCMD ]; then + RS_CMPCMD="cmp" + fi + if [ -z $RS_HEADCMD ]; then + RS_HEADCMD="head" + fi + # we assume TZ is set, else most test will fail. So let's ensure + # this really is the case + if [ -z $TZ ]; then + echo "testbench: TZ env var not set, setting it to UTC" + export TZ=UTC + fi + ulimit -c unlimited &> /dev/null # at least try to get core dumps + export TB_STARTTEST=$(date +%s) + printf '%s\n' '------------------------------------------------------------' + printf '%s Test: %s\n' "$(tb_timestamp)" "$0" + printf '%s\n' '------------------------------------------------------------' + rm -f xlate*.lkp_tbl + rm -f log log* # RSyslog debug output + rm -f work + rm -rf test-logdir stat-file1 + rm -f rsyslog.empty imfile-state:* omkafka-failed.data + rm -f tmp.qi nocert + rm -f core.* vgcore.* core* + # Note: rsyslog.action.*.include must NOT be deleted, as it + # is used to setup some parameters BEFORE calling init. This + # happens in chained test scripts. Delete on exit is fine, + # though. + # note: TCPFLOOD_EXTRA_OPTS MUST NOT be unset in init, because + # some tests need to set it BEFORE calling init to accommodate + # their generic test drivers. + if [ "$TCPFLOOD_EXTRA_OPTS" != '' ] ; then + echo TCPFLOOD_EXTRA_OPTS set: $TCPFLOOD_EXTRA_OPTS + fi + if [ "$USE_AUTO_DEBUG" != 'on' ] ; then + rm -f IN_AUTO_DEBUG + fi + if [ -e IN_AUTO_DEBUG ]; then + export valgrind="valgrind --malloc-fill=ff --free-fill=fe --suppressions=$srcdir/known_issues.supp ${EXTRA_VALGRIND_SUPPRESSIONS:-} --log-fd=1" + fi + ;; + + 'check-ipv6-available') # check if IPv6 - will exit 77 when not OK + if ip address > /dev/null ; then + cmd="ip address" + else + cmd="ifconfig -a" + fi + echo command used for ipv6 detection: $cmd + $cmd | grep ::1 > /dev/null + if [ $? -ne 0 ] ; then + printf 'this test requires an active IPv6 stack, which we do not have here\n' + error_exit 77 + fi + ;; + 'kill-immediate') # kill rsyslog unconditionally + kill -9 $(cat $RSYSLOG_PIDBASE.pid) + # note: we do not wait for the actual termination! + ;; + 'ensure-no-process-exists') + ps -ef | grep -v grep | grep -qF "$2" + if [ "x$?" == "x0" ]; then + echo "assertion failed: process with name-fragment matching '$2' found" + error_exit 1 + fi + ;; + 'grep-check') # grep for "$EXPECTED" present in rsyslog.log - env var must be set + # before this method is called + grep "$EXPECTED" ${RSYSLOG_OUT_LOG} > /dev/null + if [ $? -eq 1 ]; then + echo "GREP FAIL: ${RSYSLOG_OUT_LOG} content:" + cat ${RSYSLOG_OUT_LOG} + echo "GREP FAIL: expected text not found:" + echo "$EXPECTED" + error_exit 1 + fi; + ;; + 'block-stats-flush') + echo blocking stats flush + echo "blockStatsReporting" | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? + ;; + 'await-stats-flush-after-block') + echo unblocking stats flush and waiting for it + echo "awaitStatsReport" | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? + ;; + 'allow-single-stats-flush-after-block-and-wait-for-it') + echo blocking stats flush + echo "awaitStatsReport block_again" | $TESTTOOL_DIR/diagtalker -p$IMDIAG_PORT || error_exit $? + ;; + 'wait-for-dyn-stats-reset') + echo "will wait for dyn-stats-reset" + while [[ ! -f $2 ]]; do + echo waiting for stats file "'$2'" to be created + $TESTTOOL_DIR/msleep 100 + done + prev_purged=$(grep -F 'origin=dynstats' < $2 | grep -F "${3}.purge_triggered=" | sed -e 's/.\+.purge_triggered=//g' | awk '{s+=$1} END {print s}') + new_purged=$prev_purged + while [[ "x$prev_purged" == "x$new_purged" ]]; do + new_purged=$(grep -F 'origin=dynstats' < "$2" | grep -F "${3}.purge_triggered=" | sed -e 's/.\+\.purge_triggered=//g' | awk '{s+=$1} END {print s}') # busy spin, because it allows as close timing-coordination in actual test run as possible + $TESTTOOL_DIR/msleep 10 + done + echo "dyn-stats reset for bucket ${3} registered" + ;; + 'assert-first-column-sum-greater-than') + sum=$(grep $3 <$4| sed -e $2 | awk '{s+=$1} END {print s}') + if [ ! $sum -gt $5 ]; then + echo sum of first column with edit-expr "'$2'" run over lines from file "'$4'" matched by "'$3'" equals "'$sum'" which is smaller than expected lower-limit of "'$5'" + echo "file contents:" + cat $4 + error_exit 1 + fi + ;; + 'content-pattern-check') + grep -q "$2" < ${RSYSLOG_OUT_LOG} + if [ "$?" -ne "0" ]; then + echo content-check failed, not every line matched pattern "'$2'" + echo "file contents:" + cat -n $4 + error_exit 1 + fi + ;; + 'require-journalctl') # check if journalctl exists on the system + if ! hash journalctl 2>/dev/null ; then + echo "journalctl command missing, skipping test" + exit 77 + fi + ;; + 'check-inotify') # Check for inotify/fen support + if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then + echo [inotify mode] + elif [ -n "$(find /usr/include/sys/ -name 'port.h' -print -quit)" ]; then + grep -qF "PORT_SOURCE_FILE" < /usr/include/sys/port.h + if [ "$?" -ne "0" ]; then + echo [port.h found but FEN API not implemented , skipping...] + exit 77 # FEN API not available, skip this test + fi + echo [fen mode] + else + echo [inotify/fen not supported, skipping...] + exit 77 # no inotify available, skip this test + fi + ;; + 'check-inotify-only') # Check for ONLY inotify support + if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then + echo [inotify mode] + else + echo [inotify not supported, skipping...] + exit 77 # no inotify available, skip this test + fi + ;; + *) echo "TESTBENCH error: invalid argument" $1 + exit 100 +esac diff --git a/tests/diagtalker.c b/tests/diagtalker.c new file mode 100644 index 0000000..4414618 --- /dev/null +++ b/tests/diagtalker.c @@ -0,0 +1,165 @@ +/* A yet very simple tool to talk to imdiag (this replaces the + * previous Java implementation in order to get fewer dependencies). + * + * Copyright 2010-2018 Rainer Gerhards and Adiscon GmbH. + * + * This file is part of rsyslog. + * + * Rsyslog is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Rsyslog is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Rsyslog. If not, see . + * + * A copy of the GPL can be found in the file "COPYING" in this distribution. + */ +#include "config.h" +#include +#include +#include +#include +#include +#include +#include +#if defined(__FreeBSD__) +#include +#endif + +static char *targetIP = "127.0.0.1"; +static int targetPort = 13500; + + +/* open a single tcp connection + */ +int openConn(int *fd) +{ + int sock; + struct sockaddr_in addr; + int port; + int retries = 0; + + if((sock=socket(AF_INET, SOCK_STREAM, 0))==-1) { + perror("socket()"); + exit(1); + } + + port = targetPort; + memset((char *) &addr, 0, sizeof(addr)); + addr.sin_family = AF_INET; + addr.sin_port = htons(port); + if(inet_aton(targetIP, &addr.sin_addr)==0) { + fprintf(stderr, "inet_aton() failed\n"); + exit(1); + } + while(1) { /* loop broken inside */ + if(connect(sock, (struct sockaddr*)&addr, sizeof(addr)) == 0) { + break; + } else { + if(retries++ == 50) { + perror("connect()"); + fprintf(stderr, "[%d] connect() failed\n", port); + exit(1); + } else { + fprintf(stderr, "[%d] connect failed, retrying...\n", port); + usleep(100000); /* ms = 1000 us! */ + } + } + } + if(retries > 0) { + fprintf(stderr, "[%d] connection established.\n", port); + } + + *fd = sock; + return 0; +} + + +/* send a string + */ +static void +sendCmd(int fd, char *buf, int len) +{ + int lenSend; + + lenSend = send(fd, buf, len, 0); + if(lenSend != len) { + perror("sending string"); + exit(1); + } +} + + +/* wait for a response from remote system + */ +static void +waitRsp(int fd, char *buf, int len) +{ + int ret; + + ret = recv(fd, buf, len - 1, 0); + if(ret < 0) { + perror("receiving response"); + exit(1); + } + /* we assume the message was complete, it may be better to wait + * for a LF... + */ + buf[ret] = '\0'; +} + + +/* do the actual processing + */ +static void +doProcessing() +{ + int fd; + int len; + char line[2048]; + + openConn(&fd); + while(!feof(stdin)) { + if(fgets(line, sizeof(line) - 1, stdin) == NULL) + break; + len = strlen(line); + sendCmd(fd, line, len); + waitRsp(fd, line, sizeof(line)); + printf("imdiag[%d]: %s", targetPort, line); + if (strstr(line, "imdiag::error") != NULL) { + exit(1); + } + } +} + + +/* Run the test. + * rgerhards, 2009-04-03 + */ +int main(int argc, char *argv[]) +{ + int ret = 0; + int opt; + + while((opt = getopt(argc, argv, "t:p:")) != -1) { + switch (opt) { + case 't': targetIP = optarg; + break; + case 'p': targetPort = atoi(optarg); + break; + default: printf("invalid option '%c' or value missing - terminating...\n", opt); + exit (1); + break; + } + } + + doProcessing(); + + exit(ret); +} diff --git a/tests/dircreate_dflt.sh b/tests/dircreate_dflt.sh new file mode 100755 index 0000000..758e5fa --- /dev/null +++ b/tests/dircreate_dflt.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Test for automatic creation of dynafile directories +# note that we use the "'${RSYSLOG_DYNNAME}'.spool" directory, because it is handled by diag.sh +# in any case, so we do not need to add any extra new test dir. +# added 2009-11-30 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +# set spool locations and switch queue to disk-only mode +$WorkDirectory '$RSYSLOG_DYNNAME'.spool +$MainMsgQueueFilename mainq +$MainMsgQueueType disk + +$template dynfile,"'$RSYSLOG_DYNNAME'.logdir/'$RSYSLOG_OUT_LOG'" +*.* ?dynfile +' +startup +injectmsg 0 1 # a single message is sufficient +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown +if [ ! -e $RSYSLOG_DYNNAME.logdir/$RSYSLOG_OUT_LOG ] +then + echo "$RSYSLOG_DYNNAME.logdir or logfile not created!" + error_exit 1 +fi +exit_test diff --git a/tests/dircreate_off.sh b/tests/dircreate_off.sh new file mode 100755 index 0000000..bcd6d1a --- /dev/null +++ b/tests/dircreate_off.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# Test for automatic creation of dynafile directories +# note that we use the ${RSYSLOG_DYNNAME}.spool directory, because it is handled by diag.sh +# in any case, so we do not need to add any extra new test dir. +# added 2009-11-30 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +# set spool locations and switch queue to disk-only mode +$WorkDirectory '$RSYSLOG_DYNNAME'.spool +$MainMsgQueueFilename mainq +$MainMsgQueueType disk + +$CreateDirs off +$template dynfile,'$RSYSLOG_DYNNAME'.OUT_LOG +*.* ?dynfile +' +startup +injectmsg 0 1 # a single message is sufficient +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown +if [ -e $RSYSLOG_DYNNAME.logdir/$RSYSLOG_OUT_LOG ] +then + echo "$RSYSLOG_DYNNAME.logdir or logfile WAS created where not permitted to!" + error-exit 1 +fi +exit_test diff --git a/tests/discard-allmark-vg.sh b/tests/discard-allmark-vg.sh new file mode 100755 index 0000000..2f42a8d --- /dev/null +++ b/tests/discard-allmark-vg.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# This file is part of the rsyslog project, released under GPLv3 + +uname +if [ $(uname) = "FreeBSD" ] ; then + echo "This test currently does not work on FreeBSD." + exit 77 +fi + +echo =============================================================================== +echo \[discard-allmark.sh\]: testing discard-allmark functionality +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$ActionWriteAllMarkMessages on + +:msg, contains, "00000001" ~ + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup_vg +tcpflood -m10 -i1 +# we need to give rsyslog a little time to settle the receiver +./msleep 1500 +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown_vg +check_exit_vg +seq_check 2 10 +exit_test diff --git a/tests/discard-allmark.sh b/tests/discard-allmark.sh new file mode 100755 index 0000000..c965a54 --- /dev/null +++ b/tests/discard-allmark.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# This file is part of the rsyslog project, released under GPLv3 +echo =============================================================================== +echo \[discard-allmark.sh\]: testing discard-allmark functionality +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +$ModLoad ../plugins/imtcp/.libs/imtcp +$MainMsgQueueTimeoutShutdown 10000 +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$ActionWriteAllMarkMessages on + +:msg, contains, "00000001" ~ + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup +tcpflood -m10 -i1 +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown +seq_check 2 10 +exit_test diff --git a/tests/discard-rptdmsg-vg.sh b/tests/discard-rptdmsg-vg.sh new file mode 100755 index 0000000..16733fc --- /dev/null +++ b/tests/discard-rptdmsg-vg.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# This file is part of the rsyslog project, released under ASL 2.0 +export USE_VALGRIND="YES" +source ${srcdir:-.}/discard-rptdmsg.sh diff --git a/tests/discard-rptdmsg.sh b/tests/discard-rptdmsg.sh new file mode 100755 index 0000000..6c56891 --- /dev/null +++ b/tests/discard-rptdmsg.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# testing discard-rptdmsg functionality when no repeated message is present +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") +template(name="outfmt" type="string" string="%msg:F,58:2%,%msg:F,58:3%,%msg:F,58:4%\n") +$RepeatedMsgReduction on + +:msg, contains, "00000001" ~ +:msg, contains, "msgnum:" action(type="omfile" file="'$RSYSLOG_OUT_LOG'" template="outfmt") +' +startup +tcpflood -m10 -i1 +shutdown_when_empty +wait_shutdown +seq_check 2 10 +exit_test diff --git a/tests/discard.sh b/tests/discard.sh new file mode 100755 index 0000000..64827ea --- /dev/null +++ b/tests/discard.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# Test for discard functionality +# This test checks if discard works. It is not a perfect test but +# will find at least segfaults and obviously not discarded messages. +# added 2009-07-30 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +# uncomment for debugging support: +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=10 +generate_conf +add_conf ' +:msg, contains, "00000000" ~ + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup +injectmsg +shutdown_when_empty +wait_shutdown +seq_check 1 $((NUMMESSAGES-1)) +exit_test diff --git a/tests/diskq-rfc5424.sh b/tests/diskq-rfc5424.sh new file mode 100755 index 0000000..6ba40ce --- /dev/null +++ b/tests/diskq-rfc5424.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# detect queue corruption based on invalid property bag ordering. +# Note: this mimics an issue actually seen in practice. +# Triggering condition: "json" property (message variables) are present +# and "structured-data" property is also present. Caused rsyslog to +# thrash the queue file, getting messages stuck in it and loosing all +# after the initial problem occurrence. +# add 2017-02-08 by Rainer Gerhards, released under ASL 2.0 + +uname +if [ $(uname) = "SunOS" ] ; then + echo "This test currently does not work on all flavors of Solaris." + exit 77 +fi + +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=10 +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port" ruleset="rs") + + +template(name="outfmt" type="string" string="%msg:F,58:2%\n") + +ruleset(name="rs2" queue.type="disk" queue.filename="rs2_q" + queue.spoolDirectory="'${RSYSLOG_DYNNAME}'.spool") { + set $!tmp=$msg; + action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +} +ruleset(name="rs") { + set $!tmp=$msg; + call rs2 +} +' +startup +tcpflood -m$NUMMESSAGES -y +shutdown_when_empty +wait_shutdown +seq_check + +exit_test diff --git a/tests/diskqueue-fail.sh b/tests/diskqueue-fail.sh new file mode 100755 index 0000000..a8c63b2 --- /dev/null +++ b/tests/diskqueue-fail.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# checks that nothing bad happens if a DA (disk) queue runs out +# of configured disk space +# addd 2017-02-07 by RGerhards, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=100 +generate_conf +add_conf ' +module( load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port" ruleset="queuefail") + +template(name="outfmt" type="string" + string="%msg:F,58:2%,%msg:F,58:3%,%msg:F,58:4%\n") + +ruleset( + name="queuefail" + queue.type="Disk" + queue.filename="fssailstocreate" + queue.maxDiskSpace="4m" + queue.maxfilesize="1m" + queue.timeoutenqueue="300000" + queue.lowwatermark="5000" +) { + action(type="omfile" template="outfmt" file="'$RSYSLOG_OUT_LOG'") +} +' +startup + +tcpflood -p$TCPFLOOD_PORT -m$NUMMESSAGES + +shutdown_when_empty +wait_shutdown +seq_check + +exit_test diff --git a/tests/diskqueue-fsync.sh b/tests/diskqueue-fsync.sh new file mode 100755 index 0000000..a0dece2 --- /dev/null +++ b/tests/diskqueue-fsync.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# Test for disk-only queue mode (with fsync for queue files) +# This test checks if queue files can be correctly written +# and read back, but it does not test the transition from +# memory to disk mode for DA queues. +# added 2009-06-09 by Rgerhards +# This file is part of the rsyslog project, released under GPLv3 +# uncomment for debugging support: +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=1000 # 1000 messages should be enough - the disk fsync test is very slow! +export QUEUE_EMPTY_CHECK_FUNC=wait_file_lines +if [ $(uname) = "SunOS" ] ; then + echo "This test currently does not work on all flavors of Solaris." + exit 77 +fi + +generate_conf +add_conf ' +# set spool locations and switch queue to disk-only mode +$WorkDirectory '$RSYSLOG_DYNNAME'.spool +$MainMsgQueueSyncQueueFiles on +$MainMsgQueueTimeoutShutdown 10000 +$MainMsgQueueFilename mainq +$MainMsgQueueType disk + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt +' +startup +injectmsg +shutdown_when_empty +wait_shutdown +seq_check +exit_test diff --git a/tests/diskqueue-full.sh b/tests/diskqueue-full.sh new file mode 100755 index 0000000..85db1a3 --- /dev/null +++ b/tests/diskqueue-full.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# checks that nothing bad happens if a DA (disk) queue runs out +# of configured disk space +# addd 2017-02-07 by RGerhards, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init + +generate_conf +add_conf ' +module(load="../plugins/omtesting/.libs/omtesting") +global(workDirectory="'${RSYSLOG_DYNNAME}'.spool") +main_queue(queue.filename="mainq" queue.maxDiskSpace="4m" + queue.maxfilesize="1m" + queue.timeoutenqueue="300000" + queue.lowwatermark="5000" +) + +template(name="outfmt" type="string" + string="%msg:F,58:2%,%msg:F,58:3%,%msg:F,58:4%\n") + +:omtesting:sleep 0 5000 +:msg, contains, "msgnum:" action(type="omfile" template="outfmt" + file=`echo $RSYSLOG_OUT_LOG`) +' +startup +injectmsg 0 20000 +ls -l ${RSYSLOG_DYNNAME}.spool +shutdown_when_empty +wait_shutdown +ls -l ${RSYSLOG_DYNNAME}.spool +seq_check 0 19999 + +exit_test diff --git a/tests/diskqueue-multithread-es.sh b/tests/diskqueue-multithread-es.sh new file mode 100755 index 0000000..a4901c3 --- /dev/null +++ b/tests/diskqueue-multithread-es.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# This test stresses the DA queue disk subsystem with multiple threads. +# To do so, the in-memory queues are deliberately sized very small. +# NOTE: depending on circumstances, this test frequently starts the +# DAWorkerPool, which shuffles messages over from the main queue to +# the DA queue. It terminates when we reach low water mark. This can +# happen in our test. So the DA worker pool thread is, depending on +# timing, started and shut down multiple times. This is not a problem +# indication! +# The pstats display is for manual review - it helps to see how many +# messages actually went to the DA queue. +# Copyright (C) 2019-10-28 by Rainer Gerhards +# This file is part of the rsyslog project, released under ASL 2.0 +export ES_DOWNLOAD=elasticsearch-6.0.0.tar.gz +. ${srcdir:=.}/diag.sh init +export ES_PORT=19200 +export NUMMESSAGES=25000 +export QUEUE_EMPTY_CHECK_FUNC=es_shutdown_empty_check +ensure_elasticsearch_ready +generate_conf +add_conf ' +global(workDirectory="'$RSYSLOG_DYNNAME'.spool") +template(name="tpl" type="string" string="{\"msgnum\":\"%msg:F,58:2%\"}") + +main_queue(queue.size="2000") +module(load="../plugins/impstats/.libs/impstats" + log.syslog="off" log.file="'$RSYSLOG_DYNNAME'.pstats" interval="1") +module(load="../plugins/imtcp/.libs/imtcp") +module(load="../plugins/omelasticsearch/.libs/omelasticsearch") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") +:msg, contains, "msgnum:" { + action(type="omelasticsearch" name="act-es" + template="tpl" server="127.0.0.1" + serverport="'$ES_PORT'" + searchIndex="rsyslog_testbench" + bulkmode="on" + queue.lowwatermark="250" + queue.highwatermark="1500" + queue.type="linkedList" queue.size="2000" + queue.dequeueBatchSize="64" queue.workerThreads="4" + queue.fileName="actq" queue.workerThreadMinimumMessages="64") +} +' +startup +tcpflood -m$NUMMESSAGES # use tcpflood to get better async processing than injectmsg! +shutdown_when_empty +wait_shutdown +echo FOR MANUAL REVIEW: pstats +tail $RSYSLOG_DYNNAME.pstats | grep maxqsize +es_getdata $NUMMESSAGES $ES_PORT +seq_check +exit_test diff --git a/tests/diskqueue-non-unique-prefix.sh b/tests/diskqueue-non-unique-prefix.sh new file mode 100755 index 0000000..f11da27 --- /dev/null +++ b/tests/diskqueue-non-unique-prefix.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# Test for config parser to check that disk queue file names are +# unique. +# added 2019-05-02 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +global(workDirectory="'${RSYSLOG_DYNNAME}'.spool") +if 0 then { + action(type="omfile" file="'$RSYSLOG_DYNNAME'.notused" + queue.filename="qf1" queue.type="linkedList") + action(type="omfile" file="'$RSYSLOG_DYNNAME'.notused" + queue.filename="qf1" queue.type="linkedList") + action(type="omfile" file="'$RSYSLOG_DYNNAME'.notused" + queue.filename="qf2" queue.type="linkedList") + action(type="omfile" file="'$RSYSLOG_DYNNAME'.notused" + queue.spooldirectory="'$RSYSLOG_DYNNAME'.spool2" + queue.filename="qf2" queue.type="linkedList") +} + +action(type="omfile" file="'$RSYSLOG_OUT_LOG'") +' +startup +shutdown_when_empty +wait_shutdown +content_check "and file name prefix 'qf1' already used" +check_not_present "and file name prefix 'qf2' already used" +exit_test diff --git a/tests/diskqueue.sh b/tests/diskqueue.sh new file mode 100755 index 0000000..d7868f2 --- /dev/null +++ b/tests/diskqueue.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# Test for disk-only queue mode +# This test checks if queue files can be correctly written +# and read back, but it does not test the transition from +# memory to disk mode for DA queues. +# added 2009-04-17 by Rgerhards +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=20000 +export QUEUE_EMPTY_CHECK_FUNC=wait_file_lines +generate_conf +add_conf ' +# set spool locations and switch queue to disk-only mode +$WorkDirectory '$RSYSLOG_DYNNAME'.spool +$MainMsgQueueFilename mainq +$MainMsgQueueType disk + +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +if ($msg contains "msgnum:") then + ?dynfile;outfmt +else + action(type="omfile" file="'$RSYSLOG_DYNNAME.syslog.log'") +' +startup +injectmsg +shutdown_when_empty +wait_shutdown +seq_check +check_not_present "spool.* open error" $RSYSLOG_DYNNAME.syslog.log +exit_test diff --git a/tests/dnscache-TTL-0-vg.sh b/tests/dnscache-TTL-0-vg.sh new file mode 100755 index 0000000..8618bd1 --- /dev/null +++ b/tests/dnscache-TTL-0-vg.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# added 2019-04-12 by Rainer Gerhards, released under ASL 2.0 +export USE_VALGRIND="YES" +source ${srcdir:=.}/dnscache-TTL-0.sh diff --git a/tests/dnscache-TTL-0.sh b/tests/dnscache-TTL-0.sh new file mode 100755 index 0000000..3d169d0 --- /dev/null +++ b/tests/dnscache-TTL-0.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# addd 2019-04-12 by RGerhards, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=20 # should be sufficient to stress DNS cache +generate_conf +add_conf ' +global(reverselookup.cache.ttl.default="0" + reverselookup.cache.ttl.enable="on") +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +template(name="outfmt" type="string" string="%msg:F,58:2%\n") +:msg, contains, "msgnum:" action(type="omfile" template="outfmt" + file="'$RSYSLOG_OUT_LOG'") +' +startup +tcpflood -m$NUMMESSAGES -c10 # run on 10 connections --> 10 dns cache calls +shutdown_when_empty +wait_shutdown +seq_check +exit_test diff --git a/tests/dynfile_invalid2.sh b/tests/dynfile_invalid2.sh new file mode 100755 index 0000000..73de5db --- /dev/null +++ b/tests/dynfile_invalid2.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# This test checks if omfile segfaults when a file open() in dynacache mode fails. +# The test is mimiced after a real-life scenario (which, of course, was much more +# complex). +# +# added 2010-03-22 by Rgerhards +# +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$template outfmt,"%msg:F,58:3%\n" +$template dynfile,"%msg:F,58:2%.log" # complete name is in message +$OMFileFlushOnTXEnd off +$DynaFileCacheSize 4 +$omfileFlushInterval 1 +local0.* ?dynfile;outfmt +' +startup +# we send handcrafted message. We have a dynafile cache of 4, and now send one message +# each to fill up the cache. +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.0.log:0\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.1.log:1\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.2.log:2\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.3.log:3\"" +# the next one has caused a segfault in practice +# note that /proc/rsyslog.error.file must not be creatable +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:/proc/rsyslog.error.file:boom\"" +# some more writes +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.0.log:4\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.1.log:5\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.2.log:6\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.3.log:7\"" +# done message generation +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown # and wait for it to terminate +cat $RSYSLOG_DYNNAME.out.*.log > $RSYSLOG_OUT_LOG +seq_check 0 7 +exit_test diff --git a/tests/dynfile_invld_async.sh b/tests/dynfile_invld_async.sh new file mode 100755 index 0000000..a96ae44 --- /dev/null +++ b/tests/dynfile_invld_async.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# This test checks if omfile segfaults when a file open() in dynacache mode fails. +# The test is mimiced after a real-life scenario (which, of course, was much more +# complex). +# +# added 2010-03-09 by Rgerhards +# +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$template outfmt,"%msg:F,58:3%\n" +$template dynfile,"%msg:F,58:2%.log" # complete name is in message +$OMFileFlushOnTXEnd on +$OMFileAsyncWriting on +$DynaFileCacheSize 4 +local0.* ?dynfile;outfmt +' +startup +# we send handcrafted message. We have a dynafile cache of 4, and now send one message +# each to fill up the cache. +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.0.log:0\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.1.log:1\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.2.log:2\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.3.log:3\"" +# the next one has caused a segfault in practice +# note that /proc/rsyslog.error.file must not be creatable +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:/proc/rsyslog.error.file:boom\"" +# some more writes +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.0.log:4\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.1.log:5\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.2.log:6\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.3.log:7\"" +# done message generation +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown # and wait for it to terminate +cat $RSYSLOG_DYNNAME.out.*.log > $RSYSLOG_OUT_LOG +seq_check 0 7 +exit_test diff --git a/tests/dynfile_invld_sync.sh b/tests/dynfile_invld_sync.sh new file mode 100755 index 0000000..5bb1f3c --- /dev/null +++ b/tests/dynfile_invld_sync.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# This test checks if omfile segfaults when a file open() in dynacache mode fails. +# The test is mimiced after a real-life scenario (which, of course, was much more +# complex). +# +# added 2010-03-09 by Rgerhards +# +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +$template outfmt,"%msg:F,58:3%\n" +$template dynfile,"%msg:F,58:2%.log" # complete name is in message +$OMFileFlushOnTXEnd on +$OMFileAsyncWriting off +$DynaFileCacheSize 4 +local0.* ?dynfile;outfmt +' +startup +# we send handcrafted message. We have a dynafile cache of 4, and now send one message +# each to fill up the cache. +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.0.log:0\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.1.log:1\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.2.log:2\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.3.log:3\"" +# the next one has caused a segfault in practice +# note that /proc/rsyslog.error.file must not be creatable +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:/proc/rsyslog.error.file:boom\"" +# some more writes +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.0.log:4\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.1.log:5\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.2.log:6\"" +tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag msg:$RSYSLOG_DYNNAME.out.3.log:7\"" +# done message generation +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown # and wait for it to terminate +cat $RSYSLOG_DYNNAME.out.*.log > $RSYSLOG_OUT_LOG +seq_check 0 7 +exit_test diff --git a/tests/dynstats-json-vg.sh b/tests/dynstats-json-vg.sh new file mode 100755 index 0000000..8a80543 --- /dev/null +++ b/tests/dynstats-json-vg.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# added 2016-03-30 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[dynstats-json-vg.sh\]: test for verifying stats are reported correctly in json format with valgrind +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +dyn_stats(name="stats_one") +dyn_stats(name="stats_two") + +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="2" severity="7" resetCounters="on" Ruleset="stats" bracketing="on" format="json") + +template(name="outfmt" type="string" string="%msg%\n") + +set $.p = field($msg, 32, 1); +if ($.p == "foo") then { + set $.ign = dyn_inc("stats_one", $.p); + set $.ign = dyn_inc("stats_two", $.p); +} + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup_vg +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +injectmsg_file $srcdir/testsuites/dynstats_input_1 +wait_queueempty +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown_vg +check_exit_vg +custom_content_check '{ "name": "global", "origin": "dynstats", "values": { "stats_one.ops_overflow": 0, "stats_one.new_metric_add": 1, "stats_one.no_metric": 0, "stats_one.metrics_purged": 0, "stats_one.ops_ignored": 0, "stats_one.purge_triggered": 0, "stats_two.ops_overflow": 0, "stats_two.new_metric_add": 1, "stats_two.no_metric": 0, "stats_two.metrics_purged": 0, "stats_two.ops_ignored": 0, "stats_two.purge_triggered": 0 } }' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check '{ "name": "stats_one", "origin": "dynstats.bucket", "values": { "foo": 1 } }' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check '{ "name": "stats_two", "origin": "dynstats.bucket", "values": { "foo": 1 } }' "${RSYSLOG_DYNNAME}.out.stats.log" +exit_test diff --git a/tests/dynstats-json.sh b/tests/dynstats-json.sh new file mode 100755 index 0000000..ba11cdd --- /dev/null +++ b/tests/dynstats-json.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# added 2016-03-30 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[dynstats-json.sh\]: test for verifying stats are reported correctly in json format +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +dyn_stats(name="stats_one") +dyn_stats(name="stats_two") + +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="2" severity="7" resetCounters="on" Ruleset="stats" bracketing="on" format="json") + +template(name="outfmt" type="string" string="%msg%\n") + +set $.p = field($msg, 32, 1); +if ($.p == "foo") then { + set $.ign = dyn_inc("stats_one", $.p); + set $.ign = dyn_inc("stats_two", $.p); +} + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +injectmsg_file $srcdir/testsuites/dynstats_input_1 +wait_queueempty +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown +custom_content_check '{ "name": "global", "origin": "dynstats", "values": { "stats_one.ops_overflow": 0, "stats_one.new_metric_add": 1, "stats_one.no_metric": 0, "stats_one.metrics_purged": 0, "stats_one.ops_ignored": 0, "stats_one.purge_triggered": 0, "stats_two.ops_overflow": 0, "stats_two.new_metric_add": 1, "stats_two.no_metric": 0, "stats_two.metrics_purged": 0, "stats_two.ops_ignored": 0, "stats_two.purge_triggered": 0 } }' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check '{ "name": "stats_one", "origin": "dynstats.bucket", "values": { "foo": 1 } }' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check '{ "name": "stats_two", "origin": "dynstats.bucket", "values": { "foo": 1 } }' "${RSYSLOG_DYNNAME}.out.stats.log" +exit_test diff --git a/tests/dynstats-vg.sh b/tests/dynstats-vg.sh new file mode 100755 index 0000000..9a0ff8b --- /dev/null +++ b/tests/dynstats-vg.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# added 2015-11-13 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[dynstats-vg.sh\]: test for gathering stats over dynamic metric names with valgrind +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="1" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg% %$.increment_successful%\n") + +dyn_stats(name="msg_stats") + +set $.msg_prefix = field($msg, 32, 1); + +set $.increment_successful = dyn_inc("msg_stats", $.msg_prefix); + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup_vg +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +injectmsg_file $srcdir/testsuites/dynstats_input +wait_queueempty +content_check "foo 001 0" +content_check "bar 002 0" +content_check "baz 003 0" +content_check "foo 004 0" +content_check "baz 005 0" +content_check "foo 006 0" +rst_msleep 1100 # wait for stats flush +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown_vg +check_exit_vg +custom_content_check 'bar=1' "${RSYSLOG_DYNNAME}.out.stats.log" +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +exit_test diff --git a/tests/dynstats.sh b/tests/dynstats.sh new file mode 100755 index 0000000..51a016f --- /dev/null +++ b/tests/dynstats.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# added 2015-11-10 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="1" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg% %$.increment_successful%\n") + +dyn_stats(name="msg_stats") + +set $.msg_prefix = field($msg, 32, 1); + +set $.increment_successful = dyn_inc("msg_stats", $.msg_prefix); + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +injectmsg_file $srcdir/testsuites/dynstats_input +wait_queueempty +content_check "foo 001 0" +content_check "bar 002 0" +content_check "baz 003 0" +content_check "foo 004 0" +content_check "baz 005 0" +content_check "foo 006 0" +rst_msleep 1100 # wait for stats flush +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown +custom_content_check 'bar=1' "${RSYSLOG_DYNNAME}.out.stats.log" +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +exit_test diff --git a/tests/dynstats_ctr_reset.sh b/tests/dynstats_ctr_reset.sh new file mode 100755 index 0000000..17e9519 --- /dev/null +++ b/tests/dynstats_ctr_reset.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# added 2015-11-16 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +echo \[dynstats_ctr_reset.sh\]: test to ensure correctness of stats-ctr reset +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="1" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg%\n") + +dyn_stats(name="msg_stats_resettable_on" resettable="on") +dyn_stats(name="msg_stats_resettable_off" resettable="off") +dyn_stats(name="msg_stats_resettable_default") + +set $.msg_prefix = field($msg, 32, 1); + +set $.x = dyn_inc("msg_stats_resettable_on", $.msg_prefix); +set $.y = dyn_inc("msg_stats_resettable_off", $.msg_prefix); +set $.z = dyn_inc("msg_stats_resettable_default", $.msg_prefix); + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +injectmsg_file $srcdir/testsuites/dynstats_input_1 +injectmsg_file $srcdir/testsuites/dynstats_input_2 +wait_queueempty +sleep 1 +injectmsg_file $srcdir/testsuites/dynstats_input_3 +wait_queueempty +sleep 1 +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown +content_check "foo 006" +custom_content_check 'bar=1' "${RSYSLOG_DYNNAME}.out.stats.log" +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'msg_stats_resettable_on.*foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'msg_stats_resettable_on.*bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'msg_stats_resettable_on.*baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +. $srcdir/diag.sh assert-first-column-sum-greater-than 's/.*foo=\([0-9]*\)/\1/g' 'msg_stats_resettable_off.*foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +. $srcdir/diag.sh assert-first-column-sum-greater-than 's/.*bar=\([0-9]*\)/\1/g' 'msg_stats_resettable_off.*bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +. $srcdir/diag.sh assert-first-column-sum-greater-than 's/.*baz=\([0-9]*\)/\1/g' 'msg_stats_resettable_off.*baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'msg_stats_resettable_default.*foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'msg_stats_resettable_default.*bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'msg_stats_resettable_default.*baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +exit_test diff --git a/tests/dynstats_nometric.sh b/tests/dynstats_nometric.sh new file mode 100755 index 0000000..fef6cda --- /dev/null +++ b/tests/dynstats_nometric.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# added 2015-11-17 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[dynstats_nometric.sh\]: test for dyn-stats meta-metric behavior with zero-length metric name +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="1" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg% %$.increment_successful%\n") + +dyn_stats(name="msg_stats") + +set $.msg_prefix = field($msg, 32, 2); + +set $.increment_successful = dyn_inc("msg_stats", $.msg_prefix); + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +wait_queueempty +rm $srcdir/${RSYSLOG_DYNNAME}.out.stats.log +issue_HUP #reopen stats file +injectmsg_file $srcdir/testsuites/dynstats_empty_input +wait_queueempty +rst_msleep 1100 # wait for stats flush +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown +first_column_sum_check 's/.*no_metric=//g' 'no_metric=' "${RSYSLOG_DYNNAME}.out.stats.log" 5 +custom_assert_content_missing 'foo' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'bar' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'baz' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'corge' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check 'quux=1' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check 'grault=1' "${RSYSLOG_DYNNAME}.out.stats.log" +exit_test diff --git a/tests/dynstats_overflow-vg.sh b/tests/dynstats_overflow-vg.sh new file mode 100755 index 0000000..90e377c --- /dev/null +++ b/tests/dynstats_overflow-vg.sh @@ -0,0 +1,102 @@ +#!/bin/bash +# added 2015-11-13 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[dynstats_overflow-vg.sh\]: test for gathering stats when metrics exceed provisioned capacity +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="2" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg% %$.increment_successful%\n") + +dyn_stats(name="msg_stats" unusedMetricLife="1" maxCardinality="3") + +set $.msg_prefix = field($msg, 32, 1); + +if (re_match($.msg_prefix, "foo|bar|baz|quux|corge|grault")) then { + set $.increment_successful = dyn_inc("msg_stats", $.msg_prefix); +} else { + set $.increment_successful = -1; +} + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup_vg +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +. $srcdir/diag.sh block-stats-flush +injectmsg_file $srcdir/testsuites/dynstats_input_more_0 +injectmsg_file $srcdir/testsuites/dynstats_input_more_1 +wait_queueempty +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it + +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 5 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 + +custom_assert_content_missing 'quux' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'corge' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'grault' "${RSYSLOG_DYNNAME}.out.stats.log" + +first_column_sum_check 's/.*new_metric_add=\([0-9]*\)/\1/g' 'new_metric_add=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*ops_overflow=\([0-9]*\)/\1/g' 'ops_overflow=' "${RSYSLOG_DYNNAME}.out.stats.log" 5 +first_column_sum_check 's/.*no_metric=\([0-9]*\)/\1/g' 'no_metric=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 + +#ttl-expiry(2*ttl in worst case, ttl + delta in best) so metric-names reset should have happened +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it +. $srcdir/diag.sh await-stats-flush-after-block + +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log + +first_column_sum_check 's/.*metrics_purged=\([0-9]*\)/\1/g' 'metrics_purged=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 + +rm ${RSYSLOG_DYNNAME}.out.stats.log +issue_HUP #reopen stats file +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +. $srcdir/diag.sh block-stats-flush +injectmsg_file $srcdir/testsuites/dynstats_input_more_2 +wait_queueempty +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it + +content_check "foo 001 0" +content_check "bar 002 0" +content_check "baz 003 0" +content_check "foo 004 0" +content_check "baz 005 0" +content_check "foo 006 0" +content_check "quux 007 -6" +content_check "corge 008 -6" +content_check "quux 009 -6" +content_check "foo 010 0" +content_check "corge 011 -6" +content_check "grault 012 -6" +content_check "foo 013 0" +content_check "corge 014 0" +content_check "grault 015 0" +content_check "quux 016 0" +content_check "foo 017 -6" +content_check "corge 018 0" + +first_column_sum_check 's/.*corge=\([0-9]*\)/\1/g' 'corge=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +first_column_sum_check 's/.*grault=\([0-9]*\)/\1/g' 'grault=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*quux=\([0-9]*\)/\1/g' 'quux=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 + +first_column_sum_check 's/.*new_metric_add=\([0-9]*\)/\1/g' 'new_metric_add=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*ops_overflow=\([0-9]*\)/\1/g' 'ops_overflow=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*no_metric=\([0-9]*\)/\1/g' 'no_metric=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 + +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it +. $srcdir/diag.sh await-stats-flush-after-block + +shutdown_when_empty +wait_shutdown_vg +check_exit_vg + +first_column_sum_check 's/.*metrics_purged=\([0-9]*\)/\1/g' 'metrics_purged=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 + +custom_assert_content_missing 'foo' "${RSYSLOG_DYNNAME}.out.stats.log" +exit_test diff --git a/tests/dynstats_overflow.sh b/tests/dynstats_overflow.sh new file mode 100755 index 0000000..b63d812 --- /dev/null +++ b/tests/dynstats_overflow.sh @@ -0,0 +1,102 @@ +#!/bin/bash +# added 2015-11-13 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="2" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg% %$.increment_successful%\n") + +dyn_stats(name="msg_stats" unusedMetricLife="1" maxCardinality="3") + +set $.msg_prefix = field($msg, 32, 1); + +if (re_match($.msg_prefix, "foo|bar|baz|quux|corge|grault")) then { + set $.increment_successful = dyn_inc("msg_stats", $.msg_prefix); +} else { + set $.increment_successful = -1; +} + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +. $srcdir/diag.sh block-stats-flush +injectmsg_file $srcdir/testsuites/dynstats_input_more_0 +injectmsg_file $srcdir/testsuites/dynstats_input_more_1 +wait_queueempty +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it + +#first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 5 +first_column_sum_check 's/.*foo=//g' 'foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 5 +first_column_sum_check 's/.*bar=//g' 'bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=//g' 'baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 + +custom_assert_content_missing 'quux' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'corge' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'grault' "${RSYSLOG_DYNNAME}.out.stats.log" + +first_column_sum_check 's/.*new_metric_add=//g' 'new_metric_add=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*ops_overflow=//g' 'ops_overflow=' "${RSYSLOG_DYNNAME}.out.stats.log" 5 +first_column_sum_check 's/.*no_metric=//g' 'no_metric=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 + +#ttl-expiry(2*ttl in worst case, ttl + delta in best) so metric-names reset should have happened +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it +. $srcdir/diag.sh await-stats-flush-after-block + +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log + +first_column_sum_check 's/.*metrics_purged=//g' 'metrics_purged=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 + +rm ${RSYSLOG_DYNNAME}.out.stats.log +issue_HUP #reopen stats file +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +. $srcdir/diag.sh block-stats-flush +injectmsg_file $srcdir/testsuites/dynstats_input_more_2 +wait_queueempty +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it + +content_check "foo 001 0" +content_check "bar 002 0" +content_check "baz 003 0" +content_check "foo 004 0" +content_check "baz 005 0" +content_check "foo 006 0" +content_check "quux 007 -6" +content_check "corge 008 -6" +content_check "quux 009 -6" +content_check "foo 010 0" +content_check "corge 011 -6" +content_check "grault 012 -6" +content_check "foo 013 0" +content_check "corge 014 0" +content_check "grault 015 0" +content_check "quux 016 0" +content_check "foo 017 -6" +content_check "corge 018 0" + +first_column_sum_check 's/.*corge=//g' 'corge=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +first_column_sum_check 's/.*grault=//g' 'grault=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*quux=//g' 'quux=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 + +first_column_sum_check 's/.*new_metric_add=//g' 'new_metric_add=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*ops_overflow=//g' 'ops_overflow=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*no_metric=//g' 'no_metric=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 + +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it +. $srcdir/diag.sh await-stats-flush-after-block + +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown + +first_column_sum_check 's/.*metrics_purged=//g' 'metrics_purged=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 + +custom_assert_content_missing 'foo' "${RSYSLOG_DYNNAME}.out.stats.log" +exit_test diff --git a/tests/dynstats_prevent_premature_eviction-vg.sh b/tests/dynstats_prevent_premature_eviction-vg.sh new file mode 100755 index 0000000..c61927a --- /dev/null +++ b/tests/dynstats_prevent_premature_eviction-vg.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# added 2016-04-13 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[dynstats_prevent_premature_eviction-vg.sh\]: test for ensuring metrics are not evicted before unused-ttl with valgrind +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="4" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg% %$.increment_successful%\n") + +dyn_stats(name="msg_stats" unusedMetricLife="1" resettable="off") + +set $.msg_prefix = field($msg, 32, 1); + +if (re_match($.msg_prefix, "foo|bar|baz|quux|corge|grault")) then { + set $.increment_successful = dyn_inc("msg_stats", $.msg_prefix); +} else { + set $.increment_successful = -1; +} + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup_vg +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +. $srcdir/diag.sh block-stats-flush +injectmsg_file $srcdir/testsuites/dynstats_input_1 +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it +injectmsg_file $srcdir/testsuites/dynstats_input_2 +. $srcdir/diag.sh allow-single-stats-flush-after-block-and-wait-for-it +injectmsg_file $srcdir/testsuites/dynstats_input_3 +. $srcdir/diag.sh await-stats-flush-after-block +wait_queueempty +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +content_check "foo 001 0" +content_check "foo 006 0" +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown_vg +check_exit_vg + # because dyn-accumulators for existing metrics were posted-to under a second, they should not have been evicted +custom_content_check 'baz=2' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check 'bar=1' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check 'foo=3' "${RSYSLOG_DYNNAME}.out.stats.log" +# sum is high because accumulators were never reset, and we expect them to last specific number of cycles(when we posted before ttl expiry) +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 6 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*new_metric_add=\([0-9]*\)/\1/g' 'new_metric_add=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*ops_overflow=\([0-9]*\)/\1/g' 'ops_overflow=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 +first_column_sum_check 's/.*no_metric=\([0-9]*\)/\1/g' 'no_metric=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 +exit_test diff --git a/tests/dynstats_prevent_premature_eviction.sh b/tests/dynstats_prevent_premature_eviction.sh new file mode 100755 index 0000000..f86eb43 --- /dev/null +++ b/tests/dynstats_prevent_premature_eviction.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# test for ensuring metrics are not evicted before unused-ttl +# added 2016-04-13 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="4" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg% %$.increment_successful%\n") + +dyn_stats(name="msg_stats" unusedMetricLife="1" resettable="off") + +set $.msg_prefix = field($msg, 32, 1); + +if (re_match($.msg_prefix, "foo|bar|baz|quux|corge|grault")) then { + set $.increment_successful = dyn_inc("msg_stats", $.msg_prefix); +} else { + set $.increment_successful = -1; +} + +action(type="omfile" file="'$RSYSLOG_OUT_LOG'" template="outfmt") +' +startup +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +rst_msleep 1000 +injectmsg_file $srcdir/testsuites/dynstats_input_1 +rst_msleep 4000 +injectmsg_file $srcdir/testsuites/dynstats_input_2 +rst_msleep 4000 +injectmsg_file $srcdir/testsuites/dynstats_input_3 +wait_queueempty +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +content_check "foo 001 0" +content_check "foo 006 0" +shutdown_when_empty +wait_shutdown +# because dyn-accumulators for existing metrics were posted-to under a second, they should not have been evicted +custom_content_check 'baz=2' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check 'bar=1' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check 'foo=3' "${RSYSLOG_DYNNAME}.out.stats.log" +# sum is high because accumulators were never reset, and we expect them to last specific number of cycles(when we posted before ttl expiry) +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 6 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*new_metric_add=\([0-9]*\)/\1/g' 'new_metric_add=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*ops_overflow=\([0-9]*\)/\1/g' 'ops_overflow=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 +first_column_sum_check 's/.*no_metric=\([0-9]*\)/\1/g' 'no_metric=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 +exit_test diff --git a/tests/dynstats_reset-vg.sh b/tests/dynstats_reset-vg.sh new file mode 100755 index 0000000..06060b6 --- /dev/null +++ b/tests/dynstats_reset-vg.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# added 2015-11-13 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[dynstats_reset-vg.sh\]: test for gathering stats with a known-dyn-metrics reset in-between +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="4" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg% %$.increment_successful%\n") + +dyn_stats(name="msg_stats" unusedMetricLife="1" resettable="off") + +set $.msg_prefix = field($msg, 32, 1); + +if (re_match($.msg_prefix, "foo|bar|baz|quux|corge|grault")) then { + set $.increment_successful = dyn_inc("msg_stats", $.msg_prefix); +} else { + set $.increment_successful = -1; +} + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup_vg +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +injectmsg_file $srcdir/testsuites/dynstats_input_1 +rst_msleep 8100 #two seconds for unused-metrics to be kept under observation, another two them to be cleared off +injectmsg_file $srcdir/testsuites/dynstats_input_2 +rst_msleep 8100 +injectmsg_file $srcdir/testsuites/dynstats_input_3 +rst_msleep 8100 +wait_queueempty +content_check "foo 001 0" +content_check "bar 002 0" +content_check "baz 003 0" +content_check "foo 004 0" +content_check "baz 005 0" +content_check "foo 006 0" +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown_vg +check_exit_vg + # because dyn-metrics would be reset before it can accumulate and report high counts, sleep between msg-injection ensures that +custom_assert_content_missing 'baz=2' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'foo=2' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'foo=3' "${RSYSLOG_DYNNAME}.out.stats.log" +# but actual reported stats (aggregate) should match +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +exit_test diff --git a/tests/dynstats_reset.sh b/tests/dynstats_reset.sh new file mode 100755 index 0000000..30e47d2 --- /dev/null +++ b/tests/dynstats_reset.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# added 2015-11-13 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="4" severity="7" resetCounters="on" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg% %$.increment_successful%\n") + +dyn_stats(name="msg_stats" unusedMetricLife="1" resettable="off") + +set $.msg_prefix = field($msg, 32, 1); + +if (re_match($.msg_prefix, "foo|bar|baz|quux|corge|grault")) then { + set $.increment_successful = dyn_inc("msg_stats", $.msg_prefix); +} else { + set $.increment_successful = -1; +} + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log +injectmsg_file "$srcdir/testsuites/dynstats_input_1" +rst_msleep 8100 +injectmsg_file "$srcdir/testsuites/dynstats_input_2" +rst_msleep 8100 +injectmsg_file "$srcdir/testsuites/dynstats_input_3" +rst_msleep 8100 +wait_queueempty +content_check "foo 001 0" +content_check "bar 002 0" +content_check "baz 003 0" +content_check "foo 004 0" +content_check "baz 005 0" +content_check "foo 006 0" +shutdown_when_empty +wait_shutdown + # because dyn-metrics would be reset before it can accumulate and report high counts, sleep between msg-injection ensures that +custom_assert_content_missing 'baz=2' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'foo=2' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_assert_content_missing 'foo=3' "${RSYSLOG_DYNNAME}.out.stats.log" +# but actual reported stats (aggregate) should match +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'foo=' ${RSYSLOG_DYNNAME}.out.stats.log 3 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'bar=' ${RSYSLOG_DYNNAME}.out.stats.log 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'baz=' ${RSYSLOG_DYNNAME}.out.stats.log 2 +first_column_sum_check 's/.*new_metric_add=\([0-9]*\)/\1/g' 'new_metric_add=' "${RSYSLOG_DYNNAME}.out.stats.log" 6 +first_column_sum_check 's/.*ops_overflow=\([0-9]*\)/\1/g' 'ops_overflow=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 +first_column_sum_check 's/.*no_metric=\([0-9]*\)/\1/g' 'no_metric=' "${RSYSLOG_DYNNAME}.out.stats.log" 0 +first_column_sum_check 's/.*metrics_purged=\([0-9]*\)/\1/g' 'metrics_purged=' "${RSYSLOG_DYNNAME}.out.stats.log" 6 +exit_test diff --git a/tests/dynstats_reset_without_pstats_reset.sh b/tests/dynstats_reset_without_pstats_reset.sh new file mode 100755 index 0000000..13e69e9 --- /dev/null +++ b/tests/dynstats_reset_without_pstats_reset.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# test to ensure correctness of stats-ctr reset when pstats reset is turned off +# added 2015-11-16 by singh.janmejay +# This file is part of the rsyslog project, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +ruleset(name="stats") { + action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log") +} + +module(load="../plugins/impstats/.libs/impstats" interval="1" severity="7" resetCounters="off" Ruleset="stats" bracketing="on") + +template(name="outfmt" type="string" string="%msg%\n") + +dyn_stats(name="msg_stats_resettable_on" resettable="on") +dyn_stats(name="msg_stats_resettable_off" resettable="off") +dyn_stats(name="msg_stats_resettable_default") + +set $.msg_prefix = field($msg, 32, 1); + +set $.x = dyn_inc("msg_stats_resettable_on", $.msg_prefix); +set $.y = dyn_inc("msg_stats_resettable_off", $.msg_prefix); +set $.z = dyn_inc("msg_stats_resettable_default", $.msg_prefix); + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +injectmsg_file $srcdir/testsuites/dynstats_input_1 +injectmsg_file $srcdir/testsuites/dynstats_input_2 +wait_queueempty +sleep 1 +injectmsg_file $srcdir/testsuites/dynstats_input_3 +wait_queueempty +sleep 1 +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown +content_check "foo 006" +custom_content_check 'foo=3' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check 'bar=1' "${RSYSLOG_DYNNAME}.out.stats.log" +custom_content_check 'baz=2' "${RSYSLOG_DYNNAME}.out.stats.log" +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'msg_stats_resettable_on.*foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'msg_stats_resettable_on.*bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'msg_stats_resettable_on.*baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +. $srcdir/diag.sh assert-first-column-sum-greater-than 's/.*foo=\([0-9]*\)/\1/g' 'msg_stats_resettable_off.*foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +. $srcdir/diag.sh assert-first-column-sum-greater-than 's/.*bar=\([0-9]*\)/\1/g' 'msg_stats_resettable_off.*bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +. $srcdir/diag.sh assert-first-column-sum-greater-than 's/.*baz=\([0-9]*\)/\1/g' 'msg_stats_resettable_off.*baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +first_column_sum_check 's/.*foo=\([0-9]*\)/\1/g' 'msg_stats_resettable_default.*foo=' "${RSYSLOG_DYNNAME}.out.stats.log" 3 +first_column_sum_check 's/.*bar=\([0-9]*\)/\1/g' 'msg_stats_resettable_default.*bar=' "${RSYSLOG_DYNNAME}.out.stats.log" 1 +first_column_sum_check 's/.*baz=\([0-9]*\)/\1/g' 'msg_stats_resettable_default.*baz=' "${RSYSLOG_DYNNAME}.out.stats.log" 2 +exit_test diff --git a/tests/elasticsearch-error-format-check.py b/tests/elasticsearch-error-format-check.py new file mode 100644 index 0000000..f8f091d --- /dev/null +++ b/tests/elasticsearch-error-format-check.py @@ -0,0 +1,137 @@ +import json +import sys +import os +def checkDefaultErrorFile(): + with open(os.environ['RSYSLOG_DYNNAME'] + ".errorfile") as json_file: + json_data = json.load(json_file) + indexCount =0 + replyCount=0 + for item in json_data: + if item == "request": + for reqItem in json_data[item]: + if reqItem == "url": + print("url found") + print(reqItem) + elif reqItem == "postdata": + print("postdata found") + indexCount = str(json_data[item]).count('\"_index\":') + print(reqItem) + else: + print(reqItem) + print("Unknown item found") + sys.exit(1) + + elif item == "reply": + for replyItem in json_data[item]: + if replyItem == "items": + print(json_data[item][replyItem]) + replyCount = str(json_data[item][replyItem]).count('_index') + elif replyItem == "errors": + print("error node found") + elif replyItem == "took": + print("took node found") + else: + print(replyItem) + print("Unknown item found") + sys.exit(3) + + else: + print(item) + print("Unknown item found") + print("error") + sys.exit(4) + if replyCount == indexCount : + return 0 + else: + sys.exit(7) + return 0 + + +def checkErrorOnlyFile(): + with open(os.environ['RSYSLOG_DYNNAME'] + ".errorfile") as json_file: + json_data = json.load(json_file) + indexCount =0 + replyCount=0 + for item in json_data: + if item == "request": + print(json_data[item]) + indexCount = str(json_data[item]).count('\"_index\":') + + + elif item == "url": + print("url found") + + + elif item == "reply": + print(json_data[item]) + replyCount = str(json_data[item]).count('\"_index\":') + + else: + print(item) + print("Unknown item found") + print("error") + sys.exit(4) + if replyCount == indexCount : + return 0 + else: + sys.exit(7) + return 0 + +def checkErrorInterleaved(): + with open(os.environ['RSYSLOG_DYNNAME'] + ".errorfile") as json_file: + json_data = json.load(json_file) + indexCount =0 + replyCount=0 + for item in json_data: + print(item) + if item == "response": + for responseItem in json_data[item]: + print(responseItem) + for res in responseItem: + print(res) + if res == "request": + print(responseItem[res]) + indexCount = str(responseItem[res]).count('\"_index\":') + print("request count ", indexCount) + elif res == "reply": + print(responseItem[res]) + replyCount = str(responseItem[res]).count('\"_index\":') + print("reply count ", replyCount) + else: + print(res) + print("Unknown item found") + sys.exit(9) + if replyCount != indexCount : + sys.exit(8) + + + + elif item == "url": + print("url found") + + + + + else: + print(item) + print("Unknown item found") + sys.exit(4) + + return 0 + +def checkInterleaved(): + return checkErrorInterleaved() + +if __name__ == "__main__": + option = sys.argv[1] + if option == "default": + checkDefaultErrorFile() + elif option == "erroronly": + checkErrorOnlyFile() + elif option == "errorinterleaved": + checkErrorInterleaved() + elif option == "interleaved": + checkErrorInterleaved() + else: + print("Usage: