mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +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
|
||||
180.0
|
||||
Broker::BOOL
|
||||
***************************
|
||||
{
|
||||
two,
|
||||
one,
|
||||
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
|
||||
T
|
||||
1
|
||||
|
@ -43,19 +52,20 @@ T
|
|||
F
|
||||
T
|
||||
2
|
||||
F
|
||||
2
|
||||
T
|
||||
1
|
||||
F
|
||||
{
|
||||
bye
|
||||
}
|
||||
T
|
||||
0
|
||||
***************************
|
||||
{
|
||||
[two] = 2,
|
||||
[one] = 1,
|
||||
[three] = 3
|
||||
|
||||
}
|
||||
***************************
|
||||
0
|
||||
[d=<uninitialized>]
|
||||
1
|
||||
|
@ -69,8 +79,14 @@ F
|
|||
37
|
||||
[d=broker::data{42}]
|
||||
1
|
||||
[d=<uninitialized>]
|
||||
1
|
||||
T
|
||||
0
|
||||
{
|
||||
|
||||
}
|
||||
***************************
|
||||
[zero, one, two]
|
||||
0
|
||||
T
|
||||
T
|
||||
|
@ -85,10 +101,10 @@ T
|
|||
[d=broker::data{bah}]
|
||||
[hi, salutations, greetings]
|
||||
3
|
||||
T
|
||||
0
|
||||
[]
|
||||
***************************
|
||||
[a=<uninitialized>, b=bee, c=1]
|
||||
[a=test, b=bee, c=1]
|
||||
[a=test, b=testagain, c=1]
|
||||
3
|
||||
T
|
||||
T
|
||||
|
@ -97,3 +113,6 @@ T
|
|||
[d=broker::data{hello}]
|
||||
[d=broker::data{37}]
|
||||
3
|
||||
T
|
||||
3
|
||||
[d=broker::data{goodbye}]
|
||||
|
|
|
@ -103,6 +103,9 @@ function broker_to_bro_vector(d: Broker::Data): bro_vector
|
|||
event bro_init()
|
||||
{
|
||||
Broker::enable();
|
||||
|
||||
### Print every broker data type
|
||||
|
||||
print Broker::data_type(Broker::data(T));
|
||||
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 "***************************";
|
||||
|
||||
### 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(F));
|
||||
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_enum_name(Broker::data(Broker::BOOL));
|
||||
|
||||
print "***************************";
|
||||
|
||||
local cs = Broker::data(s);
|
||||
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();
|
||||
print Broker::set_size(cs);
|
||||
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_insert(cs, Broker::data("bye"));
|
||||
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_size(cs);
|
||||
print Broker::set_remove(cs, Broker::data("hi"));
|
||||
print broker_to_bro_set(cs);
|
||||
Broker::set_clear(cs);
|
||||
print Broker::set_clear(cs);
|
||||
print Broker::set_size(cs);
|
||||
print broker_to_bro_set(cs);
|
||||
|
||||
print "***************************";
|
||||
|
||||
local ct = Broker::data(t);
|
||||
print broker_to_bro_table(ct);
|
||||
### Test the broker table BIFs
|
||||
|
||||
ct = Broker::table_create();
|
||||
print Broker::table_size(ct);
|
||||
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::table_remove(ct, Broker::data("hi"));
|
||||
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 "***************************";
|
||||
|
||||
local cv = Broker::data(v);
|
||||
print broker_to_bro_vector(cv);
|
||||
### Test the broker vector BIFs
|
||||
|
||||
cv = Broker::vector_create();
|
||||
print Broker::vector_size(cv);
|
||||
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_to_bro_vector(cv);
|
||||
print Broker::vector_size(cv);
|
||||
print Broker::vector_clear(cv);
|
||||
print Broker::vector_size(cv);
|
||||
print broker_to_bro_vector(cv);
|
||||
|
||||
print "***************************";
|
||||
|
||||
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);
|
||||
### Test the broker record BIFs
|
||||
|
||||
cr = Broker::record_create(3);
|
||||
print Broker::record_size(cr);
|
||||
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, 2);
|
||||
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