<!--
  ~ 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="smoke" description="ONOS smoke test">
    <import file="${ONOS_SCENARIOS}/prerequisites.xml"/>
    <import file="${ONOS_SCENARIOS}/net-prerequisites.xml"/>

    <import file="${ONOS_SCENARIOS}/setup.xml"/>
    <dependency name="Setup" requires="Prerequisites,Net-Prerequisites"/>

    <import file="${ONOS_SCENARIOS}/net-smoke.xml"/>
    <dependency name="Net-Smoke" requires="Setup"/>

    <import file="${ONOS_SCENARIOS}/meta-apps-test.xml"/>
    <dependency name="Meta-App" requires="Setup,~Net-Smoke"/>

    <import file="${ONOS_SCENARIOS}/archetypes.xml"/>
    <dependency name="Archetypes" requires="Setup,~Net-Smoke"/>

    <import file="${ONOS_SCENARIOS}/netcfg.xml"/>
    <dependency name="Netcfg" requires="Setup,~Meta-App"/>

    <import file="${ONOS_SCENARIOS}/drivers-test.xml"/>
    <dependency name="Drivers-Test" requires="Setup,~Net-Smoke,~Archetypes"/>

    <import file="${ONOS_SCENARIOS}/wrapup.xml"/>
    <dependency name="Wrapup" requires="~Archetypes,~Setup,~Net-Smoke,~Drivers-Test,~Meta-App,~Netcfg"/>
</scenario>
