zeek/testing/btest/language/pattern-tables-stats.zeek
2023-11-21 10:34:17 +01:00

56 lines
1.6 KiB
Text

# @TEST-DOC: Test table_pattern_matcher_stats()
# @TEST-EXEC: zeek -b %INPUT >out
# @TEST-EXEC: btest-diff out
# @TEST-EXEC: btest-diff .stderr
global pt: table[pattern] of count;
global ps: set[pattern];
event zeek_init()
{
print "initial stats", table_pattern_matcher_stats(pt);
pt[/foo/] = 1;
print "populated stats", table_pattern_matcher_stats(pt);
print pt["foo"], pt["foox"], "foo" in pt, "foox" in pt;
print "after lookup stats", table_pattern_matcher_stats(pt);
pt[/bar/] = 2;
pt[/(foo|bletch)/] = 3;
print "reset stats", table_pattern_matcher_stats(pt);
print pt["x"], pt["bletch"], sort(pt["foo"]), "foo" in pt, "x" in pt;
print "after more lookup stats", table_pattern_matcher_stats(pt);
delete pt[/bar/];
print "reset stats after delete", table_pattern_matcher_stats(pt);
print pt["x"], pt["bletch"], sort(pt["foo"]);
print "after even more lookup stats", table_pattern_matcher_stats(pt);
pt = table();
print "reset after reassignment", table_pattern_matcher_stats(pt);
}
event zeek_init() &priority=-10
{
print "set initial stats", table_pattern_matcher_stats(ps);
add ps[/foo/];
print "set populated stats", table_pattern_matcher_stats(ps);
print "foo" in ps, "foox" in ps;
print "set after lookup stats", table_pattern_matcher_stats(ps);
add ps[/bar/];
add ps[/(foo|bletch)/];
print "set reset stats", table_pattern_matcher_stats(ps);
print "x" in ps, "bletch" in ps;
print "set after more lookup stats", table_pattern_matcher_stats(ps);
delete pt[/bar/];
print "set reset stats after delete", table_pattern_matcher_stats(ps);
ps = set();
print "set reset after reassignment", table_pattern_matcher_stats(pt);
}