mirror of
https://github.com/zeek/zeek.git
synced 2025-10-03 15:18:20 +00:00
Unit test tweaks/fixes.
- Some baselines for tests in "leaks" group were outdated. - Changed a few of the cluster/communication tests to terminate more explicitly instead of relying on btest-bg-wait to kill processes. This makes the tests finish faster in the success case and makes the reason for failing clearer in the that case.
This commit is contained in:
parent
a6f7fd9c87
commit
508ac1c7ba
9 changed files with 122 additions and 29 deletions
|
@ -3,8 +3,10 @@
|
||||||
#empty_field (empty)
|
#empty_field (empty)
|
||||||
#unset_field -
|
#unset_field -
|
||||||
#path metrics
|
#path metrics
|
||||||
|
#open 2012-07-20-01-50-41
|
||||||
#fields ts metric_id filter_name index.host index.str index.network value
|
#fields ts metric_id filter_name index.host index.str index.network value
|
||||||
#types time enum string addr string subnet count
|
#types time enum string addr string subnet count
|
||||||
1331256494.591966 TEST_METRIC foo-bar 6.5.4.3 - - 4
|
1342749041.601712 TEST_METRIC foo-bar 6.5.4.3 - - 4
|
||||||
1331256494.591966 TEST_METRIC foo-bar 7.2.1.5 - - 2
|
1342749041.601712 TEST_METRIC foo-bar 7.2.1.5 - - 2
|
||||||
1331256494.591966 TEST_METRIC foo-bar 1.2.3.4 - - 6
|
1342749041.601712 TEST_METRIC foo-bar 1.2.3.4 - - 6
|
||||||
|
#close 2012-07-20-01-50-49
|
||||||
|
|
|
@ -3,8 +3,10 @@
|
||||||
#empty_field (empty)
|
#empty_field (empty)
|
||||||
#unset_field -
|
#unset_field -
|
||||||
#path test.failure
|
#path test.failure
|
||||||
|
#open 2012-07-20-01-50-18
|
||||||
#fields t id.orig_h id.orig_p id.resp_h id.resp_p status country
|
#fields t id.orig_h id.orig_p id.resp_h id.resp_p status country
|
||||||
#types time addr port addr port string string
|
#types time addr port addr port string string
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 failure US
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 failure US
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 failure UK
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 failure UK
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 failure MX
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 failure MX
|
||||||
|
#close 2012-07-20-01-50-18
|
||||||
|
|
|
@ -3,10 +3,12 @@
|
||||||
#empty_field (empty)
|
#empty_field (empty)
|
||||||
#unset_field -
|
#unset_field -
|
||||||
#path test
|
#path test
|
||||||
|
#open 2012-07-20-01-50-18
|
||||||
#fields t id.orig_h id.orig_p id.resp_h id.resp_p status country
|
#fields t id.orig_h id.orig_p id.resp_h id.resp_p status country
|
||||||
#types time addr port addr port string string
|
#types time addr port addr port string string
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 success unknown
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 success unknown
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 failure US
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 failure US
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 failure UK
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 failure UK
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 success BR
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 success BR
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 failure MX
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 failure MX
|
||||||
|
#close 2012-07-20-01-50-18
|
||||||
|
|
|
@ -3,7 +3,9 @@
|
||||||
#empty_field (empty)
|
#empty_field (empty)
|
||||||
#unset_field -
|
#unset_field -
|
||||||
#path test.success
|
#path test.success
|
||||||
|
#open 2012-07-20-01-50-18
|
||||||
#fields t id.orig_h id.orig_p id.resp_h id.resp_p status country
|
#fields t id.orig_h id.orig_p id.resp_h id.resp_p status country
|
||||||
#types time addr port addr port string string
|
#types time addr port addr port string string
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 success unknown
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 success unknown
|
||||||
1331256472.375609 1.2.3.4 1234 2.3.4.5 80 success BR
|
1342749018.970682 1.2.3.4 1234 2.3.4.5 80 success BR
|
||||||
|
#close 2012-07-20-01-50-18
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
# @TEST-EXEC: sleep 1
|
# @TEST-EXEC: sleep 1
|
||||||
# @TEST-EXEC: btest-bg-run worker-1 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local BROPATH=$BROPATH:.. CLUSTER_NODE=worker-1 bro -m -r $TRACES/web.trace --pseudo-realtime %INPUT
|
# @TEST-EXEC: btest-bg-run worker-1 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local BROPATH=$BROPATH:.. CLUSTER_NODE=worker-1 bro -m -r $TRACES/web.trace --pseudo-realtime %INPUT
|
||||||
# @TEST-EXEC: btest-bg-run worker-2 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local BROPATH=$BROPATH:.. CLUSTER_NODE=worker-2 bro -m -r $TRACES/web.trace --pseudo-realtime %INPUT
|
# @TEST-EXEC: btest-bg-run worker-2 HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local BROPATH=$BROPATH:.. CLUSTER_NODE=worker-2 bro -m -r $TRACES/web.trace --pseudo-realtime %INPUT
|
||||||
# @TEST-EXEC: btest-bg-wait -k 30
|
# @TEST-EXEC: btest-bg-wait 40
|
||||||
# @TEST-EXEC: btest-diff manager-1/metrics.log
|
# @TEST-EXEC: btest-diff manager-1/metrics.log
|
||||||
|
|
||||||
@TEST-START-FILE cluster-layout.bro
|
@TEST-START-FILE cluster-layout.bro
|
||||||
|
@ -40,3 +40,24 @@ event bro_init() &priority=5
|
||||||
Metrics::add_data(TEST_METRIC, [$host=7.2.1.5], 1);
|
Metrics::add_data(TEST_METRIC, [$host=7.2.1.5], 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
event remote_connection_closed(p: event_peer)
|
||||||
|
{
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@if ( Cluster::local_node_type() == Cluster::MANAGER )
|
||||||
|
|
||||||
|
global n = 0;
|
||||||
|
|
||||||
|
event Metrics::log_metrics(rec: Metrics::Info)
|
||||||
|
{
|
||||||
|
n = n + 1;
|
||||||
|
if ( n == 3 )
|
||||||
|
{
|
||||||
|
terminate_communication();
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
|
@ -4,17 +4,19 @@
|
||||||
#
|
#
|
||||||
# @TEST-REQUIRES: bro --help 2>&1 | grep -q mem-leaks
|
# @TEST-REQUIRES: bro --help 2>&1 | grep -q mem-leaks
|
||||||
#
|
#
|
||||||
# @TEST-EXEC: btest-bg-run sender HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local bro -m --pseudo-realtime %INPUT ../sender.bro
|
# @TEST-EXEC: btest-bg-run sender HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local bro -b -m --pseudo-realtime %INPUT ../sender.bro
|
||||||
# @TEST-EXEC: sleep 1
|
# @TEST-EXEC: sleep 1
|
||||||
# @TEST-EXEC: btest-bg-run receiver HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local bro -m --pseudo-realtime %INPUT ../receiver.bro
|
# @TEST-EXEC: btest-bg-run receiver HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local bro -b -m --pseudo-realtime %INPUT ../receiver.bro
|
||||||
# @TEST-EXEC: sleep 1
|
# @TEST-EXEC: sleep 1
|
||||||
# @TEST-EXEC: btest-bg-wait -k 10
|
# @TEST-EXEC: btest-bg-wait 30
|
||||||
# @TEST-EXEC: btest-diff sender/test.log
|
# @TEST-EXEC: btest-diff sender/test.log
|
||||||
# @TEST-EXEC: btest-diff sender/test.failure.log
|
# @TEST-EXEC: btest-diff sender/test.failure.log
|
||||||
# @TEST-EXEC: btest-diff sender/test.success.log
|
# @TEST-EXEC: btest-diff sender/test.success.log
|
||||||
# @TEST-EXEC: cmp receiver/test.log sender/test.log
|
# @TEST-EXEC: ( cd sender && for i in *.log; do cat $i | $SCRIPTS/diff-remove-timestamps >c.$i; done )
|
||||||
# @TEST-EXEC: cmp receiver/test.failure.log sender/test.failure.log
|
# @TEST-EXEC: ( cd receiver && for i in *.log; do cat $i | $SCRIPTS/diff-remove-timestamps >c.$i; done )
|
||||||
# @TEST-EXEC: cmp receiver/test.success.log sender/test.success.log
|
# @TEST-EXEC: cmp receiver/c.test.log sender/c.test.log
|
||||||
|
# @TEST-EXEC: cmp receiver/c.test.failure.log sender/c.test.failure.log
|
||||||
|
# @TEST-EXEC: cmp receiver/c.test.success.log sender/c.test.success.log
|
||||||
|
|
||||||
# This is the common part loaded by both sender and receiver.
|
# This is the common part loaded by both sender and receiver.
|
||||||
module Test;
|
module Test;
|
||||||
|
@ -43,10 +45,10 @@ event bro_init()
|
||||||
|
|
||||||
@TEST-START-FILE sender.bro
|
@TEST-START-FILE sender.bro
|
||||||
|
|
||||||
module Test;
|
|
||||||
|
|
||||||
@load frameworks/communication/listen
|
@load frameworks/communication/listen
|
||||||
|
|
||||||
|
module Test;
|
||||||
|
|
||||||
function fail(rec: Log): bool
|
function fail(rec: Log): bool
|
||||||
{
|
{
|
||||||
return rec$status != "success";
|
return rec$status != "success";
|
||||||
|
@ -68,14 +70,27 @@ event remote_connection_handshake_done(p: event_peer)
|
||||||
Log::write(Test::LOG, [$t=network_time(), $id=cid, $status="failure", $country="MX"]);
|
Log::write(Test::LOG, [$t=network_time(), $id=cid, $status="failure", $country="MX"]);
|
||||||
disconnect(p);
|
disconnect(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
event remote_connection_closed(p: event_peer)
|
||||||
|
{
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
@TEST-END-FILE
|
@TEST-END-FILE
|
||||||
|
|
||||||
@TEST-START-FILE receiver.bro
|
@TEST-START-FILE receiver.bro
|
||||||
|
|
||||||
#####
|
#####
|
||||||
|
|
||||||
|
@load base/frameworks/communication
|
||||||
|
|
||||||
redef Communication::nodes += {
|
redef Communication::nodes += {
|
||||||
["foo"] = [$host = 127.0.0.1, $connect=T, $request_logs=T]
|
["foo"] = [$host = 127.0.0.1, $connect=T, $request_logs=T]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
event remote_connection_closed(p: event_peer)
|
||||||
|
{
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
@TEST-END-FILE
|
@TEST-END-FILE
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# @TEST-SERIALIZE: comm
|
# @TEST-SERIALIZE: comm
|
||||||
#
|
#
|
||||||
# @TEST-EXEC: btest-bg-run sender bro --pseudo-realtime %INPUT ../sender.bro
|
# @TEST-EXEC: btest-bg-run sender bro -b --pseudo-realtime %INPUT ../sender.bro
|
||||||
# @TEST-EXEC: sleep 1
|
# @TEST-EXEC: sleep 1
|
||||||
# @TEST-EXEC: btest-bg-run receiver bro --pseudo-realtime %INPUT ../receiver.bro
|
# @TEST-EXEC: btest-bg-run receiver bro -b --pseudo-realtime %INPUT ../receiver.bro
|
||||||
# @TEST-EXEC: sleep 1
|
# @TEST-EXEC: sleep 1
|
||||||
# @TEST-EXEC: btest-bg-wait -k 10
|
# @TEST-EXEC: btest-bg-wait 15
|
||||||
# @TEST-EXEC: btest-diff sender/test.log
|
# @TEST-EXEC: btest-diff sender/test.log
|
||||||
# @TEST-EXEC: btest-diff sender/test.failure.log
|
# @TEST-EXEC: btest-diff sender/test.failure.log
|
||||||
# @TEST-EXEC: btest-diff sender/test.success.log
|
# @TEST-EXEC: btest-diff sender/test.success.log
|
||||||
|
@ -41,10 +41,10 @@ event bro_init()
|
||||||
|
|
||||||
@TEST-START-FILE sender.bro
|
@TEST-START-FILE sender.bro
|
||||||
|
|
||||||
module Test;
|
|
||||||
|
|
||||||
@load frameworks/communication/listen
|
@load frameworks/communication/listen
|
||||||
|
|
||||||
|
module Test;
|
||||||
|
|
||||||
function fail(rec: Log): bool
|
function fail(rec: Log): bool
|
||||||
{
|
{
|
||||||
return rec$status != "success";
|
return rec$status != "success";
|
||||||
|
@ -66,14 +66,27 @@ event remote_connection_handshake_done(p: event_peer)
|
||||||
Log::write(Test::LOG, [$t=network_time(), $id=cid, $status="failure", $country="MX"]);
|
Log::write(Test::LOG, [$t=network_time(), $id=cid, $status="failure", $country="MX"]);
|
||||||
disconnect(p);
|
disconnect(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
event remote_connection_closed(p: event_peer)
|
||||||
|
{
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
@TEST-END-FILE
|
@TEST-END-FILE
|
||||||
|
|
||||||
@TEST-START-FILE receiver.bro
|
@TEST-START-FILE receiver.bro
|
||||||
|
|
||||||
#####
|
#####
|
||||||
|
|
||||||
|
@load base/frameworks/communication
|
||||||
|
|
||||||
redef Communication::nodes += {
|
redef Communication::nodes += {
|
||||||
["foo"] = [$host = 127.0.0.1, $connect=T, $request_logs=T]
|
["foo"] = [$host = 127.0.0.1, $connect=T, $request_logs=T]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
event remote_connection_closed(p: event_peer)
|
||||||
|
{
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
@TEST-END-FILE
|
@TEST-END-FILE
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# @TEST-EXEC: sleep 1
|
# @TEST-EXEC: sleep 1
|
||||||
# @TEST-EXEC: btest-bg-run worker-1 BROPATH=$BROPATH:.. CLUSTER_NODE=worker-1 bro %INPUT
|
# @TEST-EXEC: btest-bg-run worker-1 BROPATH=$BROPATH:.. CLUSTER_NODE=worker-1 bro %INPUT
|
||||||
# @TEST-EXEC: btest-bg-run worker-2 BROPATH=$BROPATH:.. CLUSTER_NODE=worker-2 bro %INPUT
|
# @TEST-EXEC: btest-bg-run worker-2 BROPATH=$BROPATH:.. CLUSTER_NODE=worker-2 bro %INPUT
|
||||||
# @TEST-EXEC: btest-bg-wait -k 10
|
# @TEST-EXEC: btest-bg-wait 20
|
||||||
# @TEST-EXEC: btest-diff manager-1/metrics.log
|
# @TEST-EXEC: btest-diff manager-1/metrics.log
|
||||||
|
|
||||||
@TEST-START-FILE cluster-layout.bro
|
@TEST-START-FILE cluster-layout.bro
|
||||||
|
@ -36,3 +36,24 @@ event bro_init() &priority=5
|
||||||
Metrics::add_data(TEST_METRIC, [$host=7.2.1.5], 1);
|
Metrics::add_data(TEST_METRIC, [$host=7.2.1.5], 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
event remote_connection_closed(p: event_peer)
|
||||||
|
{
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@if ( Cluster::local_node_type() == Cluster::MANAGER )
|
||||||
|
|
||||||
|
global n = 0;
|
||||||
|
|
||||||
|
event Metrics::log_metrics(rec: Metrics::Info)
|
||||||
|
{
|
||||||
|
n = n + 1;
|
||||||
|
if ( n == 3 )
|
||||||
|
{
|
||||||
|
terminate_communication();
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# @TEST-EXEC: sleep 1
|
# @TEST-EXEC: sleep 1
|
||||||
# @TEST-EXEC: btest-bg-run worker-1 BROPATH=$BROPATH:.. CLUSTER_NODE=worker-1 bro %INPUT
|
# @TEST-EXEC: btest-bg-run worker-1 BROPATH=$BROPATH:.. CLUSTER_NODE=worker-1 bro %INPUT
|
||||||
# @TEST-EXEC: btest-bg-run worker-2 BROPATH=$BROPATH:.. CLUSTER_NODE=worker-2 bro %INPUT
|
# @TEST-EXEC: btest-bg-run worker-2 BROPATH=$BROPATH:.. CLUSTER_NODE=worker-2 bro %INPUT
|
||||||
# @TEST-EXEC: btest-bg-wait -k 10
|
# @TEST-EXEC: btest-bg-wait 20
|
||||||
# @TEST-EXEC: btest-diff manager-1/notice.log
|
# @TEST-EXEC: btest-diff manager-1/notice.log
|
||||||
|
|
||||||
@TEST-START-FILE cluster-layout.bro
|
@TEST-START-FILE cluster-layout.bro
|
||||||
|
@ -37,6 +37,21 @@ event bro_init() &priority=5
|
||||||
$log=T]);
|
$log=T]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
event remote_connection_closed(p: event_peer)
|
||||||
|
{
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@if ( Cluster::local_node_type() == Cluster::MANAGER )
|
||||||
|
|
||||||
|
event Notice::log_notice(rec: Notice::Info)
|
||||||
|
{
|
||||||
|
terminate_communication();
|
||||||
|
terminate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@endif
|
||||||
|
|
||||||
@if ( Cluster::local_node_type() == Cluster::WORKER )
|
@if ( Cluster::local_node_type() == Cluster::WORKER )
|
||||||
|
|
||||||
event do_metrics(i: count)
|
event do_metrics(i: count)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue