mirror of
https://github.com/zeek/zeek.git
synced 2025-10-03 23:28:20 +00:00

- policy/ renamed to scripts/ - By default BROPATH now contains: - scripts/ - scripts/policy - scripts/site - *Nearly* all tests pass. - All of scripts/base/ is loaded by main.cc - Can be disabled by setting $BRO_NO_BASE_SCRIPTS - Scripts in scripts/base/ don't use relative path loading to ease use of BRO_NO_BASE_SCRIPTS (to copy and paste that script). - The scripts in scripts/base/protocols/ only (or soon will only) do logging and state building. - The scripts in scripts/base/frameworks/ add functionality without causing any additional overhead. - All "detection" activity happens through scripts in scripts/policy/. - Communications framework modified temporarily to need an environment variable to actually enable (ENABLE_COMMUNICATION=1) - This is so the communications framework can be loaded as part of the base without causing trouble when it's not needed. - This will be removed once a resolution to ticket #540 is reached.
58 lines
2.1 KiB
Text
58 lines
2.1 KiB
Text
# @TEST-EXEC: bro %INPUT >output
|
|
# @TEST-EXEC: btest-diff output
|
|
|
|
# This is loaded by default.
|
|
#@load base/utils/paths
|
|
|
|
function test_extract(str: string, expect: string)
|
|
{
|
|
local result = extract_path(str);
|
|
print fmt("Given : %s", str);
|
|
print fmt("Expect: %s", expect);
|
|
print fmt("Result: %s", result);
|
|
print fmt("Result: %s", result == expect ? "SUCCESS" : "FAIL");
|
|
print "===============================";
|
|
}
|
|
|
|
function test_compress(str: string, expect: string)
|
|
{
|
|
local result = compress_path(str);
|
|
print fmt("Given : %s", str);
|
|
print fmt("Expect: %s", expect);
|
|
print fmt("Result: %s", result);
|
|
print fmt("Result: %s", result == expect ? "SUCCESS" : "FAIL");
|
|
print "===============================";
|
|
}
|
|
|
|
print "test compress_path()";
|
|
print "===============================";
|
|
test_compress("foo//bar", "foo/bar");
|
|
test_compress("foo//bar/..", "foo");
|
|
test_compress("foo/bar/../..", "");
|
|
test_compress("foo//bar/../..", "");
|
|
test_compress("/foo/../bar", "/bar");
|
|
test_compress("/foo/../bar/..", "/");
|
|
test_compress("/foo/baz/../..", "/");
|
|
test_compress("../..", "../..");
|
|
test_compress("foo/../../..", "../..");
|
|
|
|
print "test extract_path()";
|
|
print "===============================";
|
|
test_extract("\"/this/is/a/dir\" is current directory", "/this/is/a/dir");
|
|
test_extract("/this/is/a/dir is current directory", "/this/is/a/dir");
|
|
test_extract("/this/is/a/dir\\ is\\ current\\ directory", "/this/is/a/dir\\ is\\ current\\ directory");
|
|
test_extract("hey, /foo/bar/baz.bro is a cool script", "/foo/bar/baz.bro");
|
|
test_extract("here's two dirs: /foo/bar and /foo/baz", "/foo/bar");
|
|
|
|
print "test build_path_compressed()";
|
|
print "===============================";
|
|
print build_path_compressed("/home/bro/", "policy/somefile.bro");
|
|
print build_path_compressed("/home/bro/", "/usr/local/bro/share/bro/somefile.bro");
|
|
print build_path_compressed("/home/bro/", "/usr/local/bro/share/../../bro/somefile.bro");
|
|
|
|
print "===============================";
|
|
print "test build_full_path()";
|
|
print "===============================";
|
|
print build_path("/home/bro/", "policy/somefile.bro");
|
|
print build_path("/home/bro/", "/usr/local/bro/share/bro/somefile.bro");
|
|
|