<?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

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.
-->

<project name="failed-test"
    default="all"
         xmlns:au="antlib:org.apache.ant.antunit">

  <target name="all">
    <fail message="These are not standalone tests." />
  </target>

  <target name="setUp">
    <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="tearDown">
    <echo file="${outputfile}" append="true" message="T" />
    <fail message="Expected error" />
  </target>

</project>
