zeek/testing/btest/spicy/parse-error.zeek
Benjamin Bannier 8049d3a002 Speed up Spicy-related tests.
This patch changes invocations of `spicyz` and similar Spicy tools in
tests which perform compilation to use debug mode via passing `-d`. This
in turn leads to Spicy compiling generated C++ code in debug as opposed
to release mode which typically seems to require less CPU time and RAM.
For a local test running with `btest -j 16` and no caching via
`HILTI_CXX_COMPILER_LAUNCER` this sped up running of BTests under
`spicy/` by about 40s on my machine (120s vs 160s).
2023-05-25 14:59:10 +02:00

36 lines
1 KiB
Text

# @TEST-REQUIRES: have-spicy
#
# @TEST-EXEC: spicyz -d -o test.hlto test.evt test.spicy
# @TEST-EXEC: HILTI_DEBUG=zeek zeek -r ${TRACES}/ssh/single-conn.trace misc/dump-events test.hlto %INPUT
# Zeek versions differ in their quoting of the newline character in dpd.log (two slashes vs one).
# @TEST-EXEC: cat dpd.log | sed 's#\\\\#\\#g' >dpd.log.tmp && mv dpd.log.tmp dpd.log
# @TEST-EXEC: TEST_DIFF_CANONIFIER=diff-canonifier-spicy btest-diff dpd.log
#
# @TEST-DOC: Trigger parse error after confirmation, should be recorded in dpd.log
# @TEST-START-FILE test.spicy
module SSH;
import zeek;
public type Banner = unit {
magic : /SSH-/ { zeek::confirm_protocol(); }
version : /[^-]*/;
dash : /-/;
software: /KAPUTT/;
};
# @TEST-END-FILE
# @TEST-START-FILE test.evt
protocol analyzer spicy::SSH over TCP:
parse originator with SSH::Banner,
port 22/tcp
# With Zeek < 5.0, DPD tracking doesn't work correctly for replaced
# analyzers because the ProtocolViolation() doesn't take a tag.
#
# replaces SSH
;
# @TEST-END-FILE