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

  <taskdef name="cvspass" classname="org.apache.tools.ant.taskdefs.CVSPass"/>

  <target name="test1">
    <cvspass />
  </target>
 
  <target name="test2">
    <cvspass
      cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic"
      passfile="testpassfile.tmp"
    />
  </target>
 
  <!-- testPassFile -->
  <target name="test3">
    <cvspass
      cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic"
      password="anoncvs"
      passfile="testpassfile.tmp"
    />
  </target>

  <!-- testPassFileDuplicateEntry -->
  <target name="test4">
    <cvspass
      cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic"
      password="anoncvs"
      passfile="testpassfile.tmp"
    />
    <cvspass
      cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic"
      password="anoncvs"
      passfile="testpassfile.tmp"
    />
    <cvspass
      cvsroot=":pserver:guest@cvs.tigris.org:/cvs"
      password="guest"
      passfile="testpassfile.tmp"
    />
  </target>

  <!-- testPassFileMultipleEntry -->
  <target name="test5">
    <cvspass
      cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic"
      password="anoncvs"
      passfile="testpassfile.tmp"
    />
    <cvspass
      cvsroot=":pserver:anoncvs@xml.apache.org:/home/cvspublic"
      password="anoncvs"
      passfile="testpassfile.tmp"
    />
    <cvspass
      cvsroot=":pserver:guest@cvs.tigris.org:/cvs"
      password="guest"
      passfile="testpassfile.tmp"
    />
  </target>

  <target name="cleanup"> 
    <delete file="testpassfile.tmp"/>
  </target>

</project>
