<PARAMS>
    # CASE - Description
    # 1 - Variable initialization and optional pull and build ONOS package
    # 2 - Install ONOS
    # 10 - Start Mininet opticalTest Topology
    # 14 - Stop Mininet
    # 16 - Balance Mastership of switches
    # 17 - Activate Flow Objectives
    # 19 - Copy karaf logs from ONOS nodes to TestON log directory
    # 21 - Run pingall to discover all hosts
    # 22 - Send arpings to discover all hosts
    # 23 - Compare ONOS Topology to Mininet Topology
    # 31 - Add and test bidirectional point intents
    # 32 - Add and test bidirectional host intents

    <testcases>1,[2,10,22,23,31,32,14,19,2,10,16,22,23,31,32,14,19]*1,[2,10,17,22,23,31,32,14,19,2,10,16,17,22,23,31,32,14,19]*1</testcases>
    <SCALE>
        <size>1,3,1,3</size>
    </SCALE>

    <DEPENDENCY>
        <path>/tests/FUNC/FUNCoptical/dependencies/</path>
        <wrapper1>topo</wrapper1>
    </DEPENDENCY>

    <ENV>
        <cellApps>drivers,openflow,proxyarp,mobility,optical,fwd,drivers.optical</cellApps>
    </ENV>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>

    <SLEEP>
        <startup>15</startup>
        <checkintent>5</checkintent>
        <topoAttempts>3</topoAttempts>
    </SLEEP>

    # make sure that these numbers reflect the number of switches, links, and
    # hosts in the optical topology specified below
    <MININET>
        <switch>7</switch>
        <links>14</links>
        <hosts>2</hosts>
        <toponame>ectest</toponame>
    </MININET>

</PARAMS>
