mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Add missing tests for broker data BIFs
Added tests for the table_clear and vector_clear BIFs, and added more tests for container types (e.g. adding the same element twice to a set or table, or overwriting a record field value, etc.). Also reorganized several test cases.
This commit is contained in:
parent
b1876bf744
commit
fbab6490ec
2 changed files with 76 additions and 24 deletions
|
@ -30,12 +30,21 @@ hello
|
||||||
42.0
|
42.0
|
||||||
180.0
|
180.0
|
||||||
Broker::BOOL
|
Broker::BOOL
|
||||||
***************************
|
|
||||||
{
|
{
|
||||||
two,
|
two,
|
||||||
one,
|
one,
|
||||||
three
|
three
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
[two] = 2,
|
||||||
|
[one] = 1,
|
||||||
|
[three] = 3
|
||||||
|
}
|
||||||
|
[zero, one, two]
|
||||||
|
[a=<uninitialized>, b=bee, c=1]
|
||||||
|
[a=test, b=bee, c=1]
|
||||||
|
[a=test, b=testagain, c=1]
|
||||||
|
***************************
|
||||||
0
|
0
|
||||||
T
|
T
|
||||||
1
|
1
|
||||||
|
@ -43,19 +52,20 @@ T
|
||||||
F
|
F
|
||||||
T
|
T
|
||||||
2
|
2
|
||||||
|
F
|
||||||
|
2
|
||||||
T
|
T
|
||||||
1
|
1
|
||||||
F
|
F
|
||||||
{
|
{
|
||||||
bye
|
bye
|
||||||
}
|
}
|
||||||
|
T
|
||||||
0
|
0
|
||||||
***************************
|
|
||||||
{
|
{
|
||||||
[two] = 2,
|
|
||||||
[one] = 1,
|
|
||||||
[three] = 3
|
|
||||||
}
|
}
|
||||||
|
***************************
|
||||||
0
|
0
|
||||||
[d=<uninitialized>]
|
[d=<uninitialized>]
|
||||||
1
|
1
|
||||||
|
@ -69,8 +79,14 @@ F
|
||||||
37
|
37
|
||||||
[d=broker::data{42}]
|
[d=broker::data{42}]
|
||||||
1
|
1
|
||||||
|
[d=<uninitialized>]
|
||||||
|
1
|
||||||
|
T
|
||||||
|
0
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
***************************
|
***************************
|
||||||
[zero, one, two]
|
|
||||||
0
|
0
|
||||||
T
|
T
|
||||||
T
|
T
|
||||||
|
@ -85,10 +101,10 @@ T
|
||||||
[d=broker::data{bah}]
|
[d=broker::data{bah}]
|
||||||
[hi, salutations, greetings]
|
[hi, salutations, greetings]
|
||||||
3
|
3
|
||||||
|
T
|
||||||
|
0
|
||||||
|
[]
|
||||||
***************************
|
***************************
|
||||||
[a=<uninitialized>, b=bee, c=1]
|
|
||||||
[a=test, b=bee, c=1]
|
|
||||||
[a=test, b=testagain, c=1]
|
|
||||||
3
|
3
|
||||||
T
|
T
|
||||||
T
|
T
|
||||||
|
@ -97,3 +113,6 @@ T
|
||||||
[d=broker::data{hello}]
|
[d=broker::data{hello}]
|
||||||
[d=broker::data{37}]
|
[d=broker::data{37}]
|
||||||
3
|
3
|
||||||
|
T
|
||||||
|
3
|
||||||
|
[d=broker::data{goodbye}]
|
||||||
|
|
|
@ -103,6 +103,9 @@ function broker_to_bro_vector(d: Broker::Data): bro_vector
|
||||||
event bro_init()
|
event bro_init()
|
||||||
{
|
{
|
||||||
Broker::enable();
|
Broker::enable();
|
||||||
|
|
||||||
|
### Print every broker data type
|
||||||
|
|
||||||
print Broker::data_type(Broker::data(T));
|
print Broker::data_type(Broker::data(T));
|
||||||
print Broker::data_type(Broker::data(+1));
|
print Broker::data_type(Broker::data(+1));
|
||||||
print Broker::data_type(Broker::data(1));
|
print Broker::data_type(Broker::data(1));
|
||||||
|
@ -125,6 +128,8 @@ print Broker::data_type(Broker::data(r));
|
||||||
|
|
||||||
print "***************************";
|
print "***************************";
|
||||||
|
|
||||||
|
### Convert a Bro value to a broker value, then print the result
|
||||||
|
|
||||||
print Broker::refine_to_bool(Broker::data(T));
|
print Broker::refine_to_bool(Broker::data(T));
|
||||||
print Broker::refine_to_bool(Broker::data(F));
|
print Broker::refine_to_bool(Broker::data(F));
|
||||||
print Broker::refine_to_int(Broker::data(+1));
|
print Broker::refine_to_int(Broker::data(+1));
|
||||||
|
@ -142,10 +147,30 @@ print Broker::refine_to_time(Broker::data(double_to_time(42)));
|
||||||
print Broker::refine_to_interval(Broker::data(3min));
|
print Broker::refine_to_interval(Broker::data(3min));
|
||||||
print Broker::refine_to_enum_name(Broker::data(Broker::BOOL));
|
print Broker::refine_to_enum_name(Broker::data(Broker::BOOL));
|
||||||
|
|
||||||
print "***************************";
|
|
||||||
|
|
||||||
local cs = Broker::data(s);
|
local cs = Broker::data(s);
|
||||||
print broker_to_bro_set(cs);
|
print broker_to_bro_set(cs);
|
||||||
|
|
||||||
|
local ct = Broker::data(t);
|
||||||
|
print broker_to_bro_table(ct);
|
||||||
|
|
||||||
|
local cv = Broker::data(v);
|
||||||
|
print broker_to_bro_vector(cv);
|
||||||
|
|
||||||
|
local cr = Broker::data(r);
|
||||||
|
print broker_to_bro_record(cr);
|
||||||
|
|
||||||
|
r$a = "test";
|
||||||
|
cr = Broker::data(r);
|
||||||
|
print broker_to_bro_record(cr);
|
||||||
|
|
||||||
|
r$b = "testagain";
|
||||||
|
cr = Broker::data(r);
|
||||||
|
print broker_to_bro_record(cr);
|
||||||
|
|
||||||
|
print "***************************";
|
||||||
|
|
||||||
|
### Test the broker set BIFs
|
||||||
|
|
||||||
cs = Broker::set_create();
|
cs = Broker::set_create();
|
||||||
print Broker::set_size(cs);
|
print Broker::set_size(cs);
|
||||||
print Broker::set_insert(cs, Broker::data("hi"));
|
print Broker::set_insert(cs, Broker::data("hi"));
|
||||||
|
@ -154,17 +179,20 @@ print Broker::set_contains(cs, Broker::data("hi"));
|
||||||
print Broker::set_contains(cs, Broker::data("bye"));
|
print Broker::set_contains(cs, Broker::data("bye"));
|
||||||
print Broker::set_insert(cs, Broker::data("bye"));
|
print Broker::set_insert(cs, Broker::data("bye"));
|
||||||
print Broker::set_size(cs);
|
print Broker::set_size(cs);
|
||||||
|
print Broker::set_insert(cs, Broker::data("bye"));
|
||||||
|
print Broker::set_size(cs);
|
||||||
print Broker::set_remove(cs, Broker::data("hi"));
|
print Broker::set_remove(cs, Broker::data("hi"));
|
||||||
print Broker::set_size(cs);
|
print Broker::set_size(cs);
|
||||||
print Broker::set_remove(cs, Broker::data("hi"));
|
print Broker::set_remove(cs, Broker::data("hi"));
|
||||||
print broker_to_bro_set(cs);
|
print broker_to_bro_set(cs);
|
||||||
Broker::set_clear(cs);
|
print Broker::set_clear(cs);
|
||||||
print Broker::set_size(cs);
|
print Broker::set_size(cs);
|
||||||
|
print broker_to_bro_set(cs);
|
||||||
|
|
||||||
print "***************************";
|
print "***************************";
|
||||||
|
|
||||||
local ct = Broker::data(t);
|
### Test the broker table BIFs
|
||||||
print broker_to_bro_table(ct);
|
|
||||||
ct = Broker::table_create();
|
ct = Broker::table_create();
|
||||||
print Broker::table_size(ct);
|
print Broker::table_size(ct);
|
||||||
print Broker::table_insert(ct, Broker::data("hi"), Broker::data(42));
|
print Broker::table_insert(ct, Broker::data("hi"), Broker::data(42));
|
||||||
|
@ -179,11 +207,16 @@ print Broker::table_size(ct);
|
||||||
print Broker::refine_to_count(Broker::table_lookup(ct, Broker::data("bye")));
|
print Broker::refine_to_count(Broker::table_lookup(ct, Broker::data("bye")));
|
||||||
print Broker::table_remove(ct, Broker::data("hi"));
|
print Broker::table_remove(ct, Broker::data("hi"));
|
||||||
print Broker::table_size(ct);
|
print Broker::table_size(ct);
|
||||||
|
print Broker::table_remove(ct, Broker::data("hi"));
|
||||||
|
print Broker::table_size(ct);
|
||||||
|
print Broker::table_clear(ct);
|
||||||
|
print Broker::table_size(ct);
|
||||||
|
print broker_to_bro_table(ct);
|
||||||
|
|
||||||
print "***************************";
|
print "***************************";
|
||||||
|
|
||||||
local cv = Broker::data(v);
|
### Test the broker vector BIFs
|
||||||
print broker_to_bro_vector(cv);
|
|
||||||
cv = Broker::vector_create();
|
cv = Broker::vector_create();
|
||||||
print Broker::vector_size(cv);
|
print Broker::vector_size(cv);
|
||||||
print Broker::vector_insert(cv, Broker::data("hi"), 0);
|
print Broker::vector_insert(cv, Broker::data("hi"), 0);
|
||||||
|
@ -199,17 +232,14 @@ print broker_to_bro_vector(cv);
|
||||||
print Broker::vector_remove(cv, 2);
|
print Broker::vector_remove(cv, 2);
|
||||||
print broker_to_bro_vector(cv);
|
print broker_to_bro_vector(cv);
|
||||||
print Broker::vector_size(cv);
|
print Broker::vector_size(cv);
|
||||||
|
print Broker::vector_clear(cv);
|
||||||
|
print Broker::vector_size(cv);
|
||||||
|
print broker_to_bro_vector(cv);
|
||||||
|
|
||||||
print "***************************";
|
print "***************************";
|
||||||
|
|
||||||
local cr = Broker::data(r);
|
### Test the broker record BIFs
|
||||||
print broker_to_bro_record(cr);
|
|
||||||
r$a = "test";
|
|
||||||
cr = Broker::data(r);
|
|
||||||
print broker_to_bro_record(cr);
|
|
||||||
r$b = "testagain";
|
|
||||||
cr = Broker::data(r);
|
|
||||||
print broker_to_bro_record(cr);
|
|
||||||
cr = Broker::record_create(3);
|
cr = Broker::record_create(3);
|
||||||
print Broker::record_size(cr);
|
print Broker::record_size(cr);
|
||||||
print Broker::record_assign(cr, Broker::data("hi"), 0);
|
print Broker::record_assign(cr, Broker::data("hi"), 0);
|
||||||
|
@ -219,4 +249,7 @@ print Broker::record_lookup(cr, 0);
|
||||||
print Broker::record_lookup(cr, 1);
|
print Broker::record_lookup(cr, 1);
|
||||||
print Broker::record_lookup(cr, 2);
|
print Broker::record_lookup(cr, 2);
|
||||||
print Broker::record_size(cr);
|
print Broker::record_size(cr);
|
||||||
|
print Broker::record_assign(cr, Broker::data("goodbye"), 1);
|
||||||
|
print Broker::record_size(cr);
|
||||||
|
print Broker::record_lookup(cr, 1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue