Skip to content

Using ETCE

Eric Schreiber edited this page Oct 24, 2019 · 5 revisions

ETCE organizes EMANE scenarios into ETCE Test Directories. An ETCE Test Directory:

  • Requires a test.xml file with a name and description of the scenario.
<?xml version="1.0" encoding="UTF-8"?>
<test>
  <name>rfpipe.basic</name>

  <description>
    A 4-node all-informed test run with default configuration. Each
    node sends two 512 byte packets/second for 60 seconds. Tests basic
    functionality.
  </description>
</test>
  • Requires a steps.xml file that organizes the test's sequence of [Wrapper](Extending ETCE) invocations into a sequence of user defined steps.
<?xml version="1.0" encoding="UTF-8"?>
<steps>
  <step name="emane.start">
    <run wrapper="emane.emane"/>
  </step>
  <step name="routing.start">
    <run wrapper="utils.olsrd"/>
  </step>
  <step name="otestpoint.start">
    <run wrapper="otestpoint.otestpointrecorder"/>
    <run wrapper="otestpoint.otestpointd"/>
    <run wrapper="otestpoint.otestpointbroker"/>
  </step>
  <step name="run">
    <run wrapper="emane.emaneeventd"/>
    <run wrapper="emane.emaneeventservice"/>
    <run wrapper="utils.gpsd"/>
    <run wrapper="utils.mgen"/>
  </step>
  <step name="emane.snapshot">
    <run wrapper="emane.emaneshsnapshot"/>
  </step>
</steps>
  • Organizes scenario configuration files into subdirectories named for the host on which they run. Where host directories largely contain slight variations of duplicate configuration, provides a templating mechanism for generating configuration from a template directory (marked by .tpl suffix). Files in the host directories conform to input file names recognized by the test Wrappers and trigger Wrapper execution when present.
[you@host]$ tree emane-tests/regression/internal/rfpipe/basic
tree emane-tests/regression/internal/rfpipe/basic
emane-tests/regression/internal/rfpipe/basic
|__ doc
|   |__ pastresults.xml
|__ helper
|   |__ emanephyinit.eel
|__ node.tpl
|   |__ emaneshsnapshot.flag
|   |__ mgen.script
|   |__ otestpointd.xml
|   |__ otestpoint-recorder.xml
|   |__ platform.xml
|   |__ probe-emane-physicallayer.xml
|   |__ probe-emane-rfpipe.xml
|   |__ probe-emane-virtualtransport.xml
|   |__ rfpipemac.xml
|   |__ rfpipenem.xml
|   |__ rfpipepcr.xml
|   |__ transvirtual.xml
|__ steps.xml
|__ test.xml

Use the etce-test list command to query Test Directory details. etce-test walks the provided path to discover all Test Directories contained in the directory tree.

[you@host]$ etce-test list emane-tests/regression/internal
80211abg.basic
80211abg.flowcontrol
80211abg.ipv6_p2p_uni
80211abg.mesh_sa_voice_video.11mbps
 ...
noisetest.test6
otafrag.latency
rfpipe.basic
rfpipe.flowcontrol
rfpipe.latency
rfpipe.mesh_sa_voice_video.10mbps
rfpipe.mesh_sa_voice_video.1mbps
rfpipe.mobility_rssi
rfpipe.p2p_uni
rfpipe.runtimeconfig

[you@host]$ etce-test list -v emane-tests/regression/internal rfpipe.basic
------------
rfpipe.basic
------------
location:
  emane-tests/regression/internal/rfpipe/basic
description:

    A 4-node all-informed test run with default configuration. Each node sends
    two 512 byte packets/second for 60 seconds. Tests
    basic functionality.

overlays:
        dtdpath
        emane_eventservice_device
        emane_ota_device
        etce_hostname
        etce_index
        etce_log_path
        subid
        tun_device
Clone this wiki locally