diff --git a/CHANGES b/CHANGES index 0f05f4fb59..dd723f7fa7 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,8 @@ +2.5-747 | 2018-07-18 09:51:13 -0500 + + * Improve some netcontrol unit tests (Jon Siwek, Corelight) + 2.5-746 | 2018-07-17 17:51:13 -0500 * Improve an input framework unit test (Jon Siwek, Corelight) diff --git a/VERSION b/VERSION index fcd1315f19..c0d70f840f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.5-746 +2.5-747 diff --git a/testing/btest/scripts/base/frameworks/netcontrol/acld-hook.bro b/testing/btest/scripts/base/frameworks/netcontrol/acld-hook.bro index 2928e3d9a0..a0ce9c44d6 100644 --- a/testing/btest/scripts/base/frameworks/netcontrol/acld-hook.bro +++ b/testing/btest/scripts/base/frameworks/netcontrol/acld-hook.bro @@ -11,22 +11,35 @@ @load base/frameworks/netcontrol redef exit_only_after_terminate = T; +global have_peer = F; +global did_init = F; + +event bro_init() + { + suspend_processing(); + } event NetControl::init() { - suspend_processing(); local netcontrol_acld = NetControl::create_acld(NetControl::AcldConfig($acld_host=127.0.0.1, $acld_port=Broker::default_port, $acld_topic="bro/event/netcontroltest")); NetControl::activate(netcontrol_acld, 0); } event NetControl::init_done() { - continue_processing(); + did_init = T; + + if ( did_init && have_peer ) + continue_processing(); } event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string) { print "Broker peer added", endpoint$network; + have_peer = T; + + if ( did_init && have_peer ) + continue_processing(); } event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string) diff --git a/testing/btest/scripts/base/frameworks/netcontrol/acld.bro b/testing/btest/scripts/base/frameworks/netcontrol/acld.bro index b802536eec..7593790013 100644 --- a/testing/btest/scripts/base/frameworks/netcontrol/acld.bro +++ b/testing/btest/scripts/base/frameworks/netcontrol/acld.bro @@ -12,10 +12,16 @@ @load base/frameworks/netcontrol redef exit_only_after_terminate = T; +global have_peer = F; +global did_init = F; + +event bro_init() + { + suspend_processing(); + } event NetControl::init() { - suspend_processing(); local netcontrol_acld = NetControl::create_acld(NetControl::AcldConfig($acld_host=127.0.0.1, $acld_port=Broker::default_port, $acld_topic="bro/event/netcontroltest")); NetControl::activate(netcontrol_acld, 0); } @@ -23,11 +29,18 @@ event NetControl::init() event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string) { print "Broker peer added", endpoint$network; + have_peer = T; + + if ( did_init && have_peer ) + continue_processing(); } event NetControl::init_done() { - continue_processing(); + did_init = T; + + if ( did_init && have_peer ) + continue_processing(); } event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string) diff --git a/testing/btest/scripts/base/frameworks/netcontrol/broker.bro b/testing/btest/scripts/base/frameworks/netcontrol/broker.bro index 75ad035f69..9e8bb65476 100644 --- a/testing/btest/scripts/base/frameworks/netcontrol/broker.bro +++ b/testing/btest/scripts/base/frameworks/netcontrol/broker.bro @@ -12,22 +12,35 @@ @load base/frameworks/netcontrol redef exit_only_after_terminate = T; +global have_peer = F; +global did_init = F; + +event bro_init() + { + suspend_processing(); + } event NetControl::init() { - suspend_processing(); local netcontrol_broker = NetControl::create_broker(NetControl::BrokerConfig($host=127.0.0.1, $bport=Broker::default_port, $topic="bro/event/netcontroltest"), T); NetControl::activate(netcontrol_broker, 0); } event NetControl::init_done() { - continue_processing(); + did_init = T; + + if ( did_init && have_peer ) + continue_processing(); } event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string) { print "Broker peer added", endpoint$network; + have_peer = T; + + if ( did_init && have_peer ) + continue_processing(); } event Broker::peer_lost(endpoint: Broker::EndpointInfo, msg: string)