zeek/testing/btest/istate/persistence.bro
Jon Siwek 1730496d12 Remove the 'net' type from Bro (addresses #535).
Incremented the serialization data format version in the process.
2011-08-17 19:03:34 -05:00

110 lines
3 KiB
Text

#
# @TEST-EXEC: bro -r $TRACES/empty.trace write.bro %INPUT
# @TEST-EXEC: cp vars.log vars.write.log
# @TEST-EXEC: bro read.bro %INPUT
# @TEST-EXEC: cp vars.log vars.read.log
# @TEST-EXEC: btest-diff vars.read.log
# @TEST-EXEC: btest-diff vars.write.log
# @TEST-EXEC: cmp vars.read.log vars.write.log
### Common code for reader and writer.
event bro_done()
{
local out = open("vars.log");
print out, foo1;
print out, foo2;
print out, foo3;
print out, foo4;
print out, foo5;
print out, foo6;
print out, foo8;
print out, foo9;
print out, foo10;
print out, foo11;
print out, foo12;
print out, foo13;
print out, foo14;
print out, foo15;
print out, foo16;
print out, foo17;
}
@TEST-START-FILE read.bro
global foo1: count &persistent &synchronized;
global foo2: int &persistent &synchronized;
global foo3: string &persistent &synchronized;
global foo4: addr &persistent &synchronized;
global foo5: subnet &persistent &synchronized;
global foo6: double &persistent &synchronized;
global foo8: interval &persistent &synchronized;
global foo9: table[count] of string &persistent &synchronized;
global foo10: file &persistent &synchronized;
global foo11: pattern &persistent &synchronized;
global foo12: set[count] &persistent &synchronized;
global foo13: table[count, string] of count &persistent &synchronized;
global foo14: table[count] of pattern &persistent &synchronized;
global foo15: port &persistent &synchronized;
global foo16: vector of count &persistent &synchronized;
type type1: record {
a: string;
b: count &default=42;
c: double &optional;
};
type type2: record {
a: string;
b: type1;
c: type1;
d: double;
};
global foo17: type2 &persistent &synchronized;
@TEST-END-FILE
@TEST-START-FILE write.bro
global foo1 = 42 &persistent &synchronized;
global foo2 = -42 &persistent &synchronized;
global foo3 = "Hallihallo" &persistent &synchronized;
global foo4 = 1.2.3.4 &persistent &synchronized;
global foo5 = 1.2.0.0/16 &persistent &synchronized;
global foo6 = 3.14 &persistent &synchronized;
global foo8 = 42 secs &persistent &synchronized;
global foo9 = { [1] = "qwerty", [2] = "uiop" } &persistent &synchronized;
global foo10 = open("test") &persistent &synchronized;
global foo11 = /12345/ &persistent &synchronized;
global foo12 = { 1,2,3,4,5 } &persistent &synchronized;
global foo13 = { [1,"ABC"] = 101, [2,"DEF"] = 102, [3,"GHI"] = 103 } &persistent &synchronized;
global foo14 = { [12345] = foo11, [12346] = foo11 } &persistent &synchronized;
global foo15 = 42/udp &persistent &synchronized;
global foo16: vector of count = [1,2,3] &persistent &synchronized;
type type1: record {
a: string;
b: count &default=42;
c: double &optional;
};
type type2: record {
a: string;
b: type1;
c: type1;
d: double;
};
global foo17: type2 = [
$a = "yuyuyu",
$b = [$a="rec1", $b=100, $c=1.24],
$c = [$a="rec2", $b=200, $c=2.24],
$d = 7.77
] &persistent &synchronized;
@TEST-END-FILE