zeek/testing/btest/language/expire_func-copy.zeek
Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

28 lines
747 B
Plaintext

# @TEST-DOC: Test that expire_func is copied (the expiration behavior of existing elements
#
# @TEST-EXEC: zeek -b -C -r $TRACES/var-services-std-ports.trace %INPUT >output
# @TEST-EXEC: btest-diff output
function inform_me(s: table[string] of count, idx: string): interval
{
print fmt("@%.2f expired %s", time_to_double(network_time()), idx);
return 0secs;
}
global s: table[string] of count &create_expire=1secs &expire_func=inform_me;
global scopy: table[string] of count;
event new_connection(c: connection)
{
s[fmt("%s", c$id)] = 1;
scopy[fmt("copy %s", c$id)] = 1;
}
event zeek_init()
{
# This copies &expire_func and &create_expire from the value s;
s["a"] = 5;
scopy = copy(s);
scopy["b"] = 5;
}