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:
Jon Siwek 2020-08-07 15:31:19 -07:00 committed by Tim Wojtulewicz
parent 89b08a3983
commit af2262ddff
24 changed files with 200 additions and 300 deletions

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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
}] }]]]
}

View file

@ -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

View file

@ -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();
} }

View file

@ -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();
} }

View file

@ -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

View 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();
} }

View file

@ -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();
} }

View file

@ -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();
} }

View file

@ -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();
} }

View 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;
}

View file

@ -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();