mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00

This also installs symlinks from "zeek" and "bro-config" to a wrapper script that prints a deprecation warning. The btests pass, but this is still WIP. broctl renaming is still missing. #239
73 lines
1.5 KiB
Text
73 lines
1.5 KiB
Text
# @TEST-EXEC: zeek -b %INPUT >out
|
|
# @TEST-EXEC: btest-diff out
|
|
|
|
function test_case(msg: string, expect: bool)
|
|
{
|
|
print fmt("%s (%s)", msg, expect ? "PASS" : "FAIL");
|
|
}
|
|
|
|
|
|
function f1()
|
|
{
|
|
test_case("no args without return value", T );
|
|
}
|
|
|
|
function f2()
|
|
{
|
|
test_case("no args no return value, empty return", T );
|
|
return;
|
|
}
|
|
|
|
function f3(): bool
|
|
{
|
|
return T;
|
|
}
|
|
|
|
function f4(test: string)
|
|
{
|
|
test_case("args without return value", T );
|
|
}
|
|
|
|
function f5(test: string): bool
|
|
{
|
|
return T;
|
|
}
|
|
|
|
function f6(test: string, num: count): bool
|
|
{
|
|
local val: int = -num;
|
|
if ( test == "bar" && num == 3 && val < 0 ) return T;
|
|
return F;
|
|
}
|
|
|
|
function f7(test: string): bool
|
|
{
|
|
return F;
|
|
}
|
|
|
|
event zeek_init()
|
|
{
|
|
f1();
|
|
f2();
|
|
test_case("no args with return value", f3() );
|
|
f4("foo");
|
|
test_case("args with return value", f5("foo") );
|
|
test_case("multiple args with return value", f6("bar", 3) );
|
|
|
|
local f10 = function() { test_case("anonymous function without args or return value", T ); };
|
|
f10();
|
|
|
|
local f11 = function(): bool { return T; };
|
|
test_case("anonymous function with return value", f11() );
|
|
|
|
local f12 = function(val: int): bool { if (val > 0) return T; else return F; };
|
|
test_case("anonymous function with args and return value", f12(2) );
|
|
|
|
# Test that a function variable can later be assigned to a function
|
|
local f13: function(test: string): bool;
|
|
f13 = f5;
|
|
test_case("assign function variable", f13("foo") );
|
|
f13 = f7;
|
|
test_case("reassign function variable", !f13("bar") );
|
|
}
|
|
|