zeek/testing/btest/language/usage-analyzer-table-attributes.zeek
Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

45 lines
1.1 KiB
Plaintext

# @TEST-DOC: Usage analyzer marked lambdas and functions in attribute expressions of unused tables or record types as unused. That is a bit confusing. Regression test for #3122.
# @TEST-EXEC: zeek -b %INPUT
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff .stderr
module MyModule;
## Lambda on table.
const ids1: table[count] of string = {
[1] = "One",
} &default=function(c: count): string {
return fmt("unknown-%d", c);
};
## External default function
function default_id(c: count): string {
return fmt("unknown-%d", c);
}
const ids2: table[count] of string = {
[1] = "One",
} &default=default_id;
## &default expression using function
function default_id2(): string {
return "";
}
const ids3: table[count] of string = {
[1] = "One",
} &default=default_id2() + "";
## &expire_func lambda using another function
function expire_f(t: table[count] of string, c: count): interval {
return 0.0sec;
}
const ids4: table[count] of string = {
[1] = "One",
} &expire_func=function(t: table[count] of string, c: count): interval {
return expire_f(t, c);
};