%description:

Test node startup followed by ping stop.

%inifile: omnetpp.ini

[General]
network = Test
tkenv-plugin-path = ../../../etc/plugins
ned-path = .;../../../../src;../../lib
cmdenv-express-mode = false

#omnetpp 5.0 - 5.1 compatibility:
eventlog-file = "${resultdir}/${configname}-${runnumber}.elog"
output-scalar-file = "${resultdir}/${configname}-${runnumber}.sca"
output-vector-file = "${resultdir}/${configname}-${runnumber}.vec"
snapshot-file = "${resultdir}/${configname}-${runnumber}.sna"

*.host.numPingApps = 1
*.host.pingApp[0].destAddr = "192.168.0.42"
*.host.pingApp[0].startTime = 0s
*.host.pingApp[0].stopTime = 7s

*.host.networkLayer.configurator.networkConfiguratorModule = ""

**.hasStatus = true
**.initialStatus = "down"
**.scenarioManager.script = xmldoc("scenario.xml")

%file: test.ned

import inet.node.inet.StandardHost;
import inet.common.lifecycle.LifecycleController;
import inet.common.scenario.ScenarioManager;

network Test
{
    submodules:
        scenarioManager: ScenarioManager;
        lifecycleController: LifecycleController;
        host: StandardHost;
}

%#--------------------------------------------------------------------------------------------------------------
%file: scenario.xml

<scenario>
    <at t="3.0">
        <tell module="lifecycleController" target="host" operation="NodeStartOperation"/>
    </at>
</scenario>

%#--------------------------------------------------------------------------------------------------------------
%contains-regex: stdout
\*\* Event #\d+  t=3   Test\.scenarioManager \(ScenarioManager, id=\d+\)
processing <at> command\.\.\.
processing <tell> command\.\.\.
Doing stage 0/8 of operation inet::NodeStartOperation on Test\.host
Test\.host starting up
.*
Test\.host started
\*\* Event #\d+  t=3   Test\.host\.pingApp\[0\] \(PingApp, id=\d+\)
Starting up: dest=192\.168\.0\.42  src=<none>seqNo=0
Sending ping request #0 to lower layer\.
.*
\*\* Event #\d+  t=6   Test\.host\.pingApp\[0\] \(PingApp, id=\d+\)
Sending ping request #3 to lower layer\.
.*

<!> No more events
%#--------------------------------------------------------------------------------------------------------------
%not-contains: stdout
undisposed object:
%#--------------------------------------------------------------------------------------------------------------
%not-contains: stdout
-- check module destructor
%#--------------------------------------------------------------------------------------------------------------
