mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +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
|
||||
{
|
||||
[a] = 3,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,38 +1,20 @@
|
|||
Peer added
|
||||
Peer added
|
||||
{
|
||||
[a] = 3,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
{
|
||||
[a] = 3,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
}]]]
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,20 +1,9 @@
|
|||
{
|
||||
[a] = 5,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
I am a set!,
|
||||
I am really a set!,
|
||||
Believe me - I am a set
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,20 +1,9 @@
|
|||
{
|
||||
[a] = 5,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
I am a set!,
|
||||
Believe me - I am a set,
|
||||
I am really a set!
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,20 +1,9 @@
|
|||
{
|
||||
[a] = 5,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
I am a set!,
|
||||
I am really a set!,
|
||||
Believe me - I am a set
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,20 +1,9 @@
|
|||
{
|
||||
[a] = 5,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
I am a set!,
|
||||
I am really a set!,
|
||||
Believe me - I am a set
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,20 +1,9 @@
|
|||
{
|
||||
[a] = 5,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
I am a set!,
|
||||
Believe me - I am a set,
|
||||
I am really a set!
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=5], [key=b, val=3], [key=whatever, val=5]]
|
||||
[Believe me - I am a set, I am a set!, I am really a set!]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,19 +1,10 @@
|
|||
Peer added
|
||||
{
|
||||
[a] = 3,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,18 +1,9 @@
|
|||
{
|
||||
[a] = 3,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,18 +1,9 @@
|
|||
{
|
||||
[a] = 3,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,18 +1,9 @@
|
|||
{
|
||||
[whatever] = 5,
|
||||
[a] = 3,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,18 +1,9 @@
|
|||
{
|
||||
[a] = 3,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,18 +1,9 @@
|
|||
{
|
||||
[a] = 3,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,18 +1,9 @@
|
|||
{
|
||||
[a] = 3,
|
||||
[whatever] = 5,
|
||||
[b] = 3
|
||||
}
|
||||
{
|
||||
hi
|
||||
}
|
||||
{
|
||||
[a] = [a=1, b=c, c={
|
||||
[[key=a, val=3], [key=b, val=3], [key=whatever, val=5]]
|
||||
[hi]
|
||||
[[key=a, val=[a=1, b=c, c={
|
||||
elem1,
|
||||
elem2
|
||||
}],
|
||||
[b] = [a=2, b=d, c={
|
||||
}]], [key=b, val=[a=2, b=d, c={
|
||||
elem1,
|
||||
elem2
|
||||
}]
|
||||
}
|
||||
}]]]
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
Config values set
|
||||
{
|
||||
whitelisted_net_weird,
|
||||
whitelisted_flow_weird,
|
||||
whitelisted_conn_weird
|
||||
}
|
||||
[whitelisted_conn_weird, whitelisted_flow_weird, whitelisted_net_weird]
|
||||
10
|
||||
10
|
||||
5.0 secs
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
# @TEST-PORT: BROKER_PORT
|
||||
|
||||
# @TEST-EXEC: btest-bg-run master "zeek -B broker -b ../master.zeek >../master.out"
|
||||
# @TEST-EXEC: btest-bg-run cloneone "zeek -B broker -b ../cloneone.zeek >../cloneone.out"
|
||||
# @TEST-EXEC: btest-bg-run clonetwo "zeek -B broker -b ../clonetwo.zeek >../clonetwo.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 %DIR/sort-stuff.zeek ../cloneone.zeek >../cloneone.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-diff master.out
|
||||
|
@ -39,9 +39,9 @@ event zeek_init()
|
|||
|
||||
event dump_tables()
|
||||
{
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
|
||||
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="c", $c=set("elem1", "elem2"));
|
||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
|
||||
event killmeplease()
|
||||
|
@ -142,9 +142,9 @@ event zeek_init()
|
|||
|
||||
event dump_tables()
|
||||
{
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
terminate();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
# @TEST-PORT: BROKER_PORT
|
||||
|
||||
# @TEST-EXEC: zeek -B broker -b one.zeek > output1
|
||||
# @TEST-EXEC: btest-bg-run master "cp ../*.sqlite . && zeek -B broker -b ../two.zeek >../output2"
|
||||
# @TEST-EXEC: btest-bg-run clone "zeek -B broker -b ../three.zeek >../output3"
|
||||
# @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 %DIR/sort-stuff.zeek ../two.zeek >../output2"
|
||||
# @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-diff output1
|
||||
# @TEST-EXEC: btest-diff output2
|
||||
# @TEST-EXEC: btest-diff output3
|
||||
# @TEST-EXEC: diff output1 output2
|
||||
# @TEST-EXEC: diff output2 output3
|
||||
|
||||
# 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="c", $c=set("elem1", "elem2"));
|
||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
|
||||
@TEST-END-FILE
|
||||
|
@ -79,9 +81,9 @@ event zeek_init()
|
|||
tablestore = Broker::create_master("table", Broker::SQLITE);
|
||||
setstore = Broker::create_master("set", Broker::SQLITE);
|
||||
recordstore = Broker::create_master("rec", Broker::SQLITE);
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
|
||||
event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
||||
|
@ -121,9 +123,9 @@ event zeek_init()
|
|||
|
||||
event print_me()
|
||||
{
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
terminate();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# @TEST-EXEC: zeek -B broker -b one.zeek > output1
|
||||
# @TEST-EXEC: zeek -B broker -b two.zeek > output2
|
||||
# @TEST-EXEC: zeek -B broker -b %DIR/sort-stuff.zeek one.zeek > output1
|
||||
# @TEST-EXEC: zeek -B broker -b %DIR/sort-stuff.zeek two.zeek > output2
|
||||
# @TEST-EXEC: btest-diff output1
|
||||
# @TEST-EXEC: btest-diff output2
|
||||
# @TEST-EXEC: diff output1 output2
|
||||
|
||||
# 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="c", $c=set("elem1", "elem2"));
|
||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
|
||||
@TEST-END-FILE
|
||||
|
@ -70,8 +71,8 @@ event zeek_init()
|
|||
tablestore = Broker::create_master("table", Broker::SQLITE);
|
||||
setstore = Broker::create_master("set", Broker::SQLITE);
|
||||
recordstore = Broker::create_master("rec", Broker::SQLITE);
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
@TEST-END-FILE
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# @TEST-PORT: BROKER_PORT
|
||||
|
||||
# @TEST-EXEC: btest-bg-run master "zeek -B broker -b ../master.zeek >../master.out"
|
||||
# @TEST-EXEC: btest-bg-run clone "zeek -B broker -b ../clone.zeek >../clone.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 %DIR/sort-stuff.zeek ../clone.zeek >../clone.out"
|
||||
# @TEST-EXEC: btest-bg-wait 15
|
||||
#
|
||||
# @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="c", $c=set("elem1", "elem2"));
|
||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
|
||||
event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
|
||||
|
@ -92,9 +92,9 @@ event zeek_init()
|
|||
|
||||
event dump_tables()
|
||||
{
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
terminate();
|
||||
}
|
||||
|
||||
|
|
|
@ -2,13 +2,15 @@
|
|||
# @TEST-PORT: BROKER_PORT2
|
||||
# @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 worker-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -B broker ../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 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 %DIR/sort-stuff.zeek ../clone.zeek >../clone.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-diff master.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
|
||||
redef Cluster::nodes = {
|
||||
|
@ -54,9 +56,9 @@ event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)
|
|||
if ( terminate_count == 2)
|
||||
{
|
||||
terminate();
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
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="c", $c=set("elem1", "elem2"));
|
||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
schedule 10sec { terminate_me() };
|
||||
}
|
||||
|
||||
|
@ -136,9 +138,9 @@ global r: table[string] of testrec &broker_allow_complex_type &backend=Broker::M
|
|||
|
||||
event dump_tables()
|
||||
{
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
terminate();
|
||||
}
|
||||
|
||||
|
|
|
@ -2,13 +2,15 @@
|
|||
# @TEST-PORT: BROKER_PORT2
|
||||
# @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 worker-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -B broker ../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 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 %DIR/sort-stuff.zeek ../clone.zeek >../clone.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-diff master.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
|
||||
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="c", $c=set("elem1", "elem2"));
|
||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
terminate();
|
||||
}
|
||||
|
||||
|
|
|
@ -2,14 +2,16 @@
|
|||
# @TEST-PORT: BROKER_PORT2
|
||||
# @TEST-PORT: BROKER_PORT3
|
||||
|
||||
# @TEST-EXEC: 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 worker-1 "ZEEKPATH=$ZEEKPATH:.. CLUSTER_NODE=worker-1 zeek -B broker ../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: zeek %DIR/sort-stuff.zeek preseed-sqlite.zeek;
|
||||
# @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 %DIR/sort-stuff.zeek ../clone.zeek >../clone.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-diff master.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
|
||||
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="c", $c=set("elem1", "elem2"));
|
||||
r["b"] = testrec($a=2, $b="d", $c=set("elem1", "elem2"));
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
|
||||
@TEST-END-FILE
|
||||
|
@ -81,9 +83,9 @@ redef Broker::table_store_db_directory = "..";
|
|||
|
||||
event zeek_init()
|
||||
{
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
print t;
|
||||
print s;
|
||||
print r;
|
||||
print sort_table(t);
|
||||
print sort_set(s);
|
||||
print sort_table(r);
|
||||
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
|
||||
{
|
||||
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_threshold();
|
||||
print Reporter::get_weird_sampling_duration();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue