scenario.xml 2.23 KB
<!--
  ~ Copyright 2015-present Open Networking Laboratory
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<scenario name="foo" description="Test Scenario" logDir="${test.dir}/foo">
    <import file="${test.dir}/one-scenario.xml" namespace="foo"/>

    <import file="${test.dir}/two-scenario.xml"/>

    <dependency name="dude" requires="~yolo"/>

    <step name="yo" exec="some-command ${HOME} and ${prop.foo} args" if="${prop.foo}"/>
    <step name="hi" exec="some-command ${prop.bar} or ${HOME} other args"/>
    <step name="there" exec="another-command" requires="yo,hi"/>

    <step name="maybe" exec="another-command" requires="~hi" unless="${prop.foo}"/>

    <group name="alpha" exec="same-command args" requires="yo">
        <step name="one" exec="asdads"/>
        <step name="two" exec="asdads"/>
        <group name="three" exec="asdads" requires="one,two">
            <step name="three.a"/>
            <step name="three.b" requires="three.a"/>
            <step name="three.c" requires="three.b"/>
        </group>
    </group>

    <dependency name="maybe" requires="yo"/>

    <parallel var="${TOC#}" requires="alpha">
        <step name="ping-${#}" exec="asdads ${TOC#}"/>
        <step name="pong-${#}" exec="asdads"/>
        <step name="ding-${#}" exec="asdads" requires="ping-${#},pong-${#}"/>
        <dependency name="maybe" requires="ding-${#}"/>
    </parallel>

    <sequential var="${TOC#}" requires="alpha" starts="fifi-${#},gigi-${#}" ends="gaga-${#-1}">
        <step name="fifi-${#}" exec="asdads ${TOC#}"/>
        <step name="gigi-${#}" exec="asdads"/>
        <step name="gaga-${#}" exec="asdads" requires="fifi-${#},gigi-${#}"/>
        <dependency name="maybe" requires="gaga-${#}"/>
    </sequential>
</scenario>