<?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="fail-test" basedir="." default="test1">

  <target name="test1">
    <fail/>
  </target>

  <target name="test2">
    <fail message="test2"/>
  </target>

  <target name="testText">
    <fail>testText</fail>
  </target>
  
  <target name="testIf">
    <fail if="foo" />
  </target>

  <target name="testUnless">
    <fail unless="foo" />
  </target>

  <target name="testIfAndUnless">
    <fail unless="unless" if="if"/>
  </target>
  
  <target name="testNested1" description="should fail with default message">
    <fail>
      <condition>
          <and />
      </condition>
    </fail>
  </target>

  <target name="testNested2" description="should pass">
    <fail>
      <condition>
          <or />
      </condition>
    </fail>
  </target>

  <target name="testNested3" description="should fail">
    <fail message="testNested3">
      <condition>
          <and />
      </condition>
    </fail>
  </target>

  <target name="testNested4a" description="should error">
    <fail if="if">
      <condition>
          <and />
      </condition>
    </fail>
  </target>

  <target name="testNested4b" description="should error">
    <fail unless="unless">
      <condition>
          <and />
      </condition>
    </fail>
  </target>

  <target name="testNested4c" description="should error">
    <fail if="if" unless="unless">
      <condition>
          <and />
      </condition>
    </fail>
  </target>

  <target name="testNested5" description="should error">
    <fail>
      <condition>
          <or />
      </condition>
      <condition>
          <and />
      </condition>
    </fail>
  </target>

  <target name="testNested6" description="should fail with message">
    <fail>
      <condition>
          <and />
      </condition>
testNested6
testNested6
testNested6
    </fail>
  </target>

  <target name="testNested7a" description="should error">
    <fail>
      <condition />
    </fail>
  </target>

  <target name="testNested7b" description="should error">
    <fail>
      <condition>
          <and />
          <and />
      </condition>
    </fail>
  </target>

</project>
