<?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="exec-test" default="spawn" basedir=".">
  <import file="../../buildfiletest-base.xml"/>

  <target name="setUp">
    <mkdir dir="${output}"/>
     <!-- this property can be overriden programatically in the Java test case -->
    <property name="timeToWait" value="10"/>
    <!-- this property can be overriden programatically in the Java test case -->
    <property name="logFile" value="${output}/spawn.log"/>
    <property environment="env"/>
    <!-- UNIX -->
    <available file="sh" filepath="${env.PATH}" property="sh.executable"/>
    <!-- CYGWIN -->
    <available file="sh.exe" filepath="${env.PATH}" property="sh.exe.executable"/>
    <!-- WINDOWS + CYGWIN -->
    <available file="sh.exe" filepath="${env.Path}" property="sh.exe.executable"/>
    <condition property="test.can.run">
      <or>
        <isset property="sh.executable"/>
        <isset property="sh.exe.executable"/>
      </or>
    </condition>
  </target>

  <target name="spawn" depends="setUp" if="test.can.run">
    <exec executable="sh" spawn="true">
      <arg value="spawn.sh"/>
      <arg value="${timeToWait}"/>
      <arg value="${logFile}"/>
    </exec>
  </target>

  <target name="test-out-and-err" description="see https://issues.apache.org/bugzilla/show_bug.cgi?id=50507"
          depends="setUp" if="test.can.run">
    <mkdir dir="${output}"/>
    <ant antfile="blabla.xml" output="${output}/test-out-and-err.txt">
    </ant>
    <loadfile srcfile="${output}/test-out-and-err.txt" property="test-out-and-err">
      <filterchain>
        <replaceregex pattern="^\s*\[exec\] some blablablablablablablablablablablabla error message err$" flags="m"/>
        <replaceregex pattern="^\s*\[exec\] some blablablablablablablablablablablabla info message out$" flags="m"/>
      </filterchain>
    </loadfile>
    <fail message="output indicates a mixup of out and err: '${test-out-and-err}'">
      <condition>
        <contains string="${test-out-and-err}" substring="[exec]"/>
      </condition>
    </fail>

  </target>

</project>
