<?xml version="1.0"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you 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

https://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.
-->

<project name="suitesetup-and-suiteteardown"
    default="all"
         xmlns:au="antlib:org.apache.ant.antunit">

  <target name="all">
    <fail message="These are not standalone tests." />
  </target>
  
  <target name="suiteSetUp">
    <echo file="${outputfile}" append="true" message="A" />
  </target>
  
  <target name="suiteTearDown">
    <echo file="${outputfile}" append="true" message="B" />
  </target>
  
  <target name="setUp">
    <fail message="outputfile property is not set." unless="outputfile" />
    <echo file="${outputfile}" append="true" message="S" />
  </target>

  <target name="test1">
    <echo file="${outputfile}" append="true" message="E" />
  </target>

  <target name="test2">
    <echo file="${outputfile}" append="true" message="E" />
  </target>

  <target name="test3">
    <echo file="${outputfile}" append="true" message="E" />
  </target>

  <target name="test4">
    <echo file="${outputfile}" append="true" message="E" />
  </target>

  <target name="tearDown">
    <echo file="${outputfile}" append="true" message="T" />
  </target>

</project>
