mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Improve btests with unstable table/set output ordering
Particularly, the final output order of a table/set is sensitive to order of input/insertions and some tests were converting std::unordered_{set,map} to Zeek table/set and iteration over those standard containers may not always loop through elements in the same order across all platforms.
This commit is contained in:
parent
89b08a3983
commit
af2262ddff
24 changed files with 200 additions and 300 deletions
|
@ -1,19 +1,10 @@
|
||||||
Peer added
|
Peer added
|
||||||
{
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 3,
|
[hi]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,38 +1,20 @@
|
||||||
Peer added
|
Peer added
|
||||||
Peer added
|
Peer added
|
||||||
{
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 3,
|
[hi]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
{
|
[hi]
|
||||||
[a] = 3,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[whatever] = 5,
|
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,20 +1,9 @@
|
||||||
{
|
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 5,
|
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
I am a set!,
|
|
||||||
I am really a set!,
|
|
||||||
Believe me - I am a set
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,20 +1,9 @@
|
||||||
{
|
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 5,
|
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
I am a set!,
|
|
||||||
Believe me - I am a set,
|
|
||||||
I am really a set!
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,20 +1,9 @@
|
||||||
{
|
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 5,
|
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
I am a set!,
|
|
||||||
I am really a set!,
|
|
||||||
Believe me - I am a set
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,20 +1,9 @@
|
||||||
{
|
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 5,
|
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
I am a set!,
|
|
||||||
I am really a set!,
|
|
||||||
Believe me - I am a set
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,20 +1,9 @@
|
||||||
{
|
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 5,
|
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
I am a set!,
|
|
||||||
Believe me - I am a set,
|
|
||||||
I am really a set!
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,19 +1,10 @@
|
||||||
Peer added
|
Peer added
|
||||||
{
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 3,
|
[hi]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,18 +1,9 @@
|
||||||
{
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 3,
|
[hi]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,18 +1,9 @@
|
||||||
{
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 3,
|
[hi]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,18 +1,9 @@
|
||||||
{
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[whatever] = 5,
|
[hi]
|
||||||
[a] = 3,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,18 +1,9 @@
|
||||||
{
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 3,
|
[hi]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,18 +1,9 @@
|
||||||
{
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 3,
|
[hi]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,18 +1,9 @@
|
||||||
{
|
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||||
[a] = 3,
|
[hi]
|
||||||
[whatever] = 5,
|
[[key=a, val=[a=1, b=c, c={
|
||||||
[b] = 3
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hi
|
|
||||||
}
|
|
||||||
{
|
|
||||||
[a] = [a=1, b=c, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}],
|
}]], [key=b, val=[a=2, b=d, c={
|
||||||
[b] = [a=2, b=d, c={
|
|
||||||
elem1,
|
elem1,
|
||||||
elem2
|
elem2
|
||||||
}]
|
}]]]
|
||||||
}
|
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
Config values set
|
Config values set
|
||||||
{
|
[whitelisted_conn_weird, whitelisted_flow_weird, whitelisted_net_weird]
|
||||||
whitelisted_net_weird,
|
|
||||||
whitelisted_flow_weird,
|
|
||||||
whitelisted_conn_weird
|
|
||||||
}
|
|
||||||
10
|
10
|
||||||
10
|
10
|
||||||
5.0 secs
|
5.0 secs
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
# @TEST-PORT: BROKER_PORT
|
# @TEST-PORT: BROKER_PORT
|
||||||
|
|
||||||
# @TEST-EXEC: btest-bg-run master "zeek -B broker -b ../master.zeek >../master.out"
|
# @TEST-EXEC: btest-bg-run master "zeek -B broker -b %DIR/sort-stuff.zeek ../master.zeek >../master.out"
|
||||||
# @TEST-EXEC: btest-bg-run cloneone "zeek -B broker -b ../cloneone.zeek >../cloneone.out"
|
# @TEST-EXEC: btest-bg-run cloneone "zeek -B broker -b %DIR/sort-stuff.zeek ../cloneone.zeek >../cloneone.out"
|
||||||
# @TEST-EXEC: btest-bg-run clonetwo "zeek -B broker -b ../clonetwo.zeek >../clonetwo.out"
|
# @TEST-EXEC: btest-bg-run clonetwo "zeek -B broker -b %DIR/sort-stuff.zeek ../clonetwo.zeek >../clonetwo.out"
|
||||||
# @TEST-EXEC: btest-bg-wait 15
|
# @TEST-EXEC: btest-bg-wait 15
|
||||||
#
|
#
|
||||||
# @TEST-EXEC: btest-diff master.out
|
# @TEST-EXEC: btest-diff master.out
|
||||||
|
@ -39,9 +39,9 @@ event zeek_init()
|
||||||
|
|
||||||
event dump_tables()
|
event dump_tables()
|
||||||
{
|
{
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
|
event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
|
||||||
|
@ -95,9 +95,9 @@ event send_stuff_over()
|
||||||
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
||||||
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
||||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
event killmeplease()
|
event killmeplease()
|
||||||
|
@ -142,9 +142,9 @@ event zeek_init()
|
||||||
|
|
||||||
event dump_tables()
|
event dump_tables()
|
||||||
{
|
{
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
terminate();
|
terminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
# @TEST-PORT: BROKER_PORT
|
# @TEST-PORT: BROKER_PORT
|
||||||
|
|
||||||
# @TEST-EXEC: zeek -B broker -b one.zeek > output1
|
# @TEST-EXEC: zeek -B broker -b %DIR/sort-stuff.zeek one.zeek > output1
|
||||||
# @TEST-EXEC: btest-bg-run master "cp ../*.sqlite . && zeek -B broker -b ../two.zeek >../output2"
|
# @TEST-EXEC: btest-bg-run master "cp ../*.sqlite . && zeek -B broker -b %DIR/sort-stuff.zeek ../two.zeek >../output2"
|
||||||
# @TEST-EXEC: btest-bg-run clone "zeek -B broker -b ../three.zeek >../output3"
|
# @TEST-EXEC: btest-bg-run clone "zeek -B broker -b %DIR/sort-stuff.zeek ../three.zeek >../output3"
|
||||||
# @TEST-EXEC: btest-bg-wait 15
|
# @TEST-EXEC: btest-bg-wait 15
|
||||||
|
|
||||||
# @TEST-EXEC: btest-diff output1
|
# @TEST-EXEC: btest-diff output1
|
||||||
# @TEST-EXEC: btest-diff output2
|
# @TEST-EXEC: btest-diff output2
|
||||||
# @TEST-EXEC: btest-diff output3
|
# @TEST-EXEC: btest-diff output3
|
||||||
|
# @TEST-EXEC: diff output1 output2
|
||||||
|
# @TEST-EXEC: diff output2 output3
|
||||||
|
|
||||||
# the first test writes out the sqlite files...
|
# the first test writes out the sqlite files...
|
||||||
|
|
||||||
|
@ -45,9 +47,9 @@ event zeek_init()
|
||||||
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
||||||
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
||||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TEST-END-FILE
|
@TEST-END-FILE
|
||||||
|
@ -79,9 +81,9 @@ event zeek_init()
|
||||||
tablestore = Broker::create_master("table", Broker::SQLITE);
|
tablestore = Broker::create_master("table", Broker::SQLITE);
|
||||||
setstore = Broker::create_master("set", Broker::SQLITE);
|
setstore = Broker::create_master("set", Broker::SQLITE);
|
||||||
recordstore = Broker::create_master("rec", Broker::SQLITE);
|
recordstore = Broker::create_master("rec", Broker::SQLITE);
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
||||||
|
@ -121,9 +123,9 @@ event zeek_init()
|
||||||
|
|
||||||
event print_me()
|
event print_me()
|
||||||
{
|
{
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
terminate();
|
terminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
# @TEST-EXEC: zeek -B broker -b one.zeek > output1
|
# @TEST-EXEC: zeek -B broker -b %DIR/sort-stuff.zeek one.zeek > output1
|
||||||
# @TEST-EXEC: zeek -B broker -b two.zeek > output2
|
# @TEST-EXEC: zeek -B broker -b %DIR/sort-stuff.zeek two.zeek > output2
|
||||||
# @TEST-EXEC: btest-diff output1
|
# @TEST-EXEC: btest-diff output1
|
||||||
# @TEST-EXEC: btest-diff output2
|
# @TEST-EXEC: btest-diff output2
|
||||||
|
# @TEST-EXEC: diff output1 output2
|
||||||
|
|
||||||
# the first test writes out the sqlite files...
|
# the first test writes out the sqlite files...
|
||||||
|
|
||||||
|
@ -39,9 +40,9 @@ event zeek_init()
|
||||||
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
||||||
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
||||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TEST-END-FILE
|
@TEST-END-FILE
|
||||||
|
@ -70,8 +71,8 @@ event zeek_init()
|
||||||
tablestore = Broker::create_master("table", Broker::SQLITE);
|
tablestore = Broker::create_master("table", Broker::SQLITE);
|
||||||
setstore = Broker::create_master("set", Broker::SQLITE);
|
setstore = Broker::create_master("set", Broker::SQLITE);
|
||||||
recordstore = Broker::create_master("rec", Broker::SQLITE);
|
recordstore = Broker::create_master("rec", Broker::SQLITE);
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
@TEST-END-FILE
|
@TEST-END-FILE
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# @TEST-PORT: BROKER_PORT
|
# @TEST-PORT: BROKER_PORT
|
||||||
|
|
||||||
# @TEST-EXEC: btest-bg-run master "zeek -B broker -b ../master.zeek >../master.out"
|
# @TEST-EXEC: btest-bg-run master "zeek -B broker -b %DIR/sort-stuff.zeek ../master.zeek >../master.out"
|
||||||
# @TEST-EXEC: btest-bg-run clone "zeek -B broker -b ../clone.zeek >../clone.out"
|
# @TEST-EXEC: btest-bg-run clone "zeek -B broker -b %DIR/sort-stuff.zeek ../clone.zeek >../clone.out"
|
||||||
# @TEST-EXEC: btest-bg-wait 15
|
# @TEST-EXEC: btest-bg-wait 15
|
||||||
#
|
#
|
||||||
# @TEST-EXEC: btest-diff clone.out
|
# @TEST-EXEC: btest-diff clone.out
|
||||||
|
@ -48,9 +48,9 @@ event insert_stuff()
|
||||||
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
||||||
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
||||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
|
event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
|
||||||
|
@ -92,9 +92,9 @@ event zeek_init()
|
||||||
|
|
||||||
event dump_tables()
|
event dump_tables()
|
||||||
{
|
{
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
terminate();
|
terminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
# @TEST-PORT: BROKER_PORT2
|
# @TEST-PORT: BROKER_PORT2
|
||||||
# @TEST-PORT: BROKER_PORT3
|
# @TEST-PORT: BROKER_PORT3
|
||||||
|
|
||||||
# @TEST-EXEC: btest-bg-run manager-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager-1 zeek -B broker ../master.zeek >../master.out"
|
# @TEST-EXEC: btest-bg-run manager-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager-1 zeek -B broker %DIR/sort-stuff.zeek ../master.zeek >../master.out"
|
||||||
# @TEST-EXEC: btest-bg-run worker-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -B broker ../clone.zeek >../clone.out"
|
# @TEST-EXEC: btest-bg-run worker-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -B broker %DIR/sort-stuff.zeek ../clone.zeek >../clone.out"
|
||||||
# @TEST-EXEC: btest-bg-run worker-2 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-2 zeek -B broker ../clone2.zeek >../clone2.out"
|
# @TEST-EXEC: btest-bg-run worker-2 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-2 zeek -B broker %DIR/sort-stuff.zeek ../clone2.zeek >../clone2.out"
|
||||||
# @TEST-EXEC: btest-bg-wait 40
|
# @TEST-EXEC: btest-bg-wait 40
|
||||||
#
|
#
|
||||||
# @TEST-EXEC: btest-diff master.out
|
# @TEST-EXEC: btest-diff master.out
|
||||||
# @TEST-EXEC: btest-diff clone.out
|
# @TEST-EXEC: btest-diff clone.out
|
||||||
|
# @TEST-EXEC: diff master.out clone.out
|
||||||
|
# @TEST-EXEC: diff master.out clone2.out
|
||||||
|
|
||||||
@TEST-START-FILE cluster-layout.zeek
|
@TEST-START-FILE cluster-layout.zeek
|
||||||
redef Cluster::nodes = {
|
redef Cluster::nodes = {
|
||||||
|
@ -54,9 +56,9 @@ event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
||||||
if ( terminate_count == 2)
|
if ( terminate_count == 2)
|
||||||
{
|
{
|
||||||
terminate();
|
terminate();
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,9 +100,9 @@ event dump_tables()
|
||||||
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
||||||
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
||||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
schedule 10sec { terminate_me() };
|
schedule 10sec { terminate_me() };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,9 +138,9 @@ global r: table[string] of testrec &broker_allow_complex_type &backend=Broker::M
|
||||||
|
|
||||||
event dump_tables()
|
event dump_tables()
|
||||||
{
|
{
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
terminate();
|
terminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,15 @@
|
||||||
# @TEST-PORT: BROKER_PORT2
|
# @TEST-PORT: BROKER_PORT2
|
||||||
# @TEST-PORT: BROKER_PORT3
|
# @TEST-PORT: BROKER_PORT3
|
||||||
|
|
||||||
# @TEST-EXEC: btest-bg-run manager-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager-1 zeek -B broker ../master.zeek >../master.out"
|
# @TEST-EXEC: btest-bg-run manager-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager-1 zeek -B broker %DIR/sort-stuff.zeek ../master.zeek >../master.out"
|
||||||
# @TEST-EXEC: btest-bg-run worker-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -B broker ../clone.zeek >../clone.out"
|
# @TEST-EXEC: btest-bg-run worker-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -B broker %DIR/sort-stuff.zeek ../clone.zeek >../clone.out"
|
||||||
# @TEST-EXEC: btest-bg-run worker-2 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-2 zeek -B broker ../clone.zeek >../clone2.out"
|
# @TEST-EXEC: btest-bg-run worker-2 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-2 zeek -B broker %DIR/sort-stuff.zeek ../clone.zeek >../clone2.out"
|
||||||
# @TEST-EXEC: btest-bg-wait 15
|
# @TEST-EXEC: btest-bg-wait 15
|
||||||
#
|
#
|
||||||
# @TEST-EXEC: btest-diff master.out
|
# @TEST-EXEC: btest-diff master.out
|
||||||
# @TEST-EXEC: btest-diff clone.out
|
# @TEST-EXEC: btest-diff clone.out
|
||||||
|
# @TEST-EXEC: diff master.out clone.out
|
||||||
|
# @TEST-EXEC: diff master.out clone2.out
|
||||||
|
|
||||||
@TEST-START-FILE cluster-layout.zeek
|
@TEST-START-FILE cluster-layout.zeek
|
||||||
redef Cluster::nodes = {
|
redef Cluster::nodes = {
|
||||||
|
@ -50,9 +52,9 @@ event zeek_init()
|
||||||
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
||||||
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
||||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
||||||
|
@ -82,9 +84,9 @@ global r: table[string] of testrec &broker_allow_complex_type &backend=Broker::M
|
||||||
|
|
||||||
event dump_tables()
|
event dump_tables()
|
||||||
{
|
{
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
terminate();
|
terminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,16 @@
|
||||||
# @TEST-PORT: BROKER_PORT2
|
# @TEST-PORT: BROKER_PORT2
|
||||||
# @TEST-PORT: BROKER_PORT3
|
# @TEST-PORT: BROKER_PORT3
|
||||||
|
|
||||||
# @TEST-EXEC: zeek preseed-sqlite.zeek;
|
# @TEST-EXEC: zeek %DIR/sort-stuff.zeek preseed-sqlite.zeek;
|
||||||
# @TEST-EXEC: btest-bg-run manager-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager-1 zeek -B broker ../master.zeek >../master.out"
|
# @TEST-EXEC: btest-bg-run manager-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=manager-1 zeek -B broker %DIR/sort-stuff.zeek ../master.zeek >../master.out"
|
||||||
# @TEST-EXEC: btest-bg-run worker-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -B broker ../clone.zeek >../clone.out"
|
# @TEST-EXEC: btest-bg-run worker-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -B broker %DIR/sort-stuff.zeek ../clone.zeek >../clone.out"
|
||||||
# @TEST-EXEC: btest-bg-run worker-2 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-2 zeek -B broker ../clone.zeek >../clone2.out"
|
# @TEST-EXEC: btest-bg-run worker-2 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-2 zeek -B broker %DIR/sort-stuff.zeek ../clone.zeek >../clone2.out"
|
||||||
# @TEST-EXEC: btest-bg-wait 40
|
# @TEST-EXEC: btest-bg-wait 40
|
||||||
#
|
#
|
||||||
# @TEST-EXEC: btest-diff master.out
|
# @TEST-EXEC: btest-diff master.out
|
||||||
# @TEST-EXEC: btest-diff clone.out
|
# @TEST-EXEC: btest-diff clone.out
|
||||||
|
# @TEST-EXEC: diff master.out clone.out
|
||||||
|
# @TEST-EXEC: diff master.out clone2.out
|
||||||
|
|
||||||
@TEST-START-FILE cluster-layout.zeek
|
@TEST-START-FILE cluster-layout.zeek
|
||||||
redef Cluster::nodes = {
|
redef Cluster::nodes = {
|
||||||
|
@ -47,9 +49,9 @@ event zeek_init()
|
||||||
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="b", $c=set("elem1", "elem2"));
|
||||||
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
r["a"] = testrec($a=1, $b="c", $c=set("elem1", "elem2"));
|
||||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TEST-END-FILE
|
@TEST-END-FILE
|
||||||
|
@ -81,9 +83,9 @@ redef Broker::table_store_db_directory = "..";
|
||||||
|
|
||||||
event zeek_init()
|
event zeek_init()
|
||||||
{
|
{
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
||||||
|
@ -113,9 +115,9 @@ global r: table[string] of testrec &broker_allow_complex_type &backend=Broker::M
|
||||||
|
|
||||||
event dump_tables()
|
event dump_tables()
|
||||||
{
|
{
|
||||||
print t;
|
print sort_table(t);
|
||||||
print s;
|
print sort_set(s);
|
||||||
print r;
|
print sort_table(r);
|
||||||
terminate();
|
terminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
33
testing/btest/broker/store/sort-stuff.zeek
Normal file
33
testing/btest/broker/store/sort-stuff.zeek
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
# @TEST-IGNORE
|
||||||
|
|
||||||
|
function sort_set(s: set[string]): vector of string
|
||||||
|
{
|
||||||
|
local v: vector of string = vector();
|
||||||
|
|
||||||
|
for ( e in s )
|
||||||
|
v += e;
|
||||||
|
|
||||||
|
sort(v, strcmp);
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
type TableEntry: record {
|
||||||
|
key: string;
|
||||||
|
val: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
function sort_table(t: table[string] of any): vector of TableEntry
|
||||||
|
{
|
||||||
|
local vs: vector of string = vector();
|
||||||
|
local rval: vector of TableEntry = vector();
|
||||||
|
|
||||||
|
for ( k, v in t )
|
||||||
|
vs += k;
|
||||||
|
|
||||||
|
sort(vs, strcmp);
|
||||||
|
|
||||||
|
for ( i in vs )
|
||||||
|
rval += TableEntry($key=vs[i], $val=t[vs[i]]);
|
||||||
|
|
||||||
|
return rval;
|
||||||
|
}
|
|
@ -13,7 +13,14 @@ event zeek_init()
|
||||||
|
|
||||||
event zeek_init() &priority = -10
|
event zeek_init() &priority = -10
|
||||||
{
|
{
|
||||||
print Reporter::get_weird_sampling_whitelist();
|
local v: vector of string = vector();
|
||||||
|
local wl = Reporter::get_weird_sampling_whitelist();
|
||||||
|
|
||||||
|
for ( e in wl )
|
||||||
|
v += e;
|
||||||
|
|
||||||
|
sort(v, strcmp);
|
||||||
|
print v;
|
||||||
print Reporter::get_weird_sampling_rate();
|
print Reporter::get_weird_sampling_rate();
|
||||||
print Reporter::get_weird_sampling_threshold();
|
print Reporter::get_weird_sampling_threshold();
|
||||||
print Reporter::get_weird_sampling_duration();
|
print Reporter::get_weird_sampling_duration();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue