<!--
|
! CDDL HEADER START
|
!
|
! The contents of this file are subject to the terms of the
|
! Common Development and Distribution License, Version 1.0 only
|
! (the "License"). You may not use this file except in compliance
|
! with the License.
|
!
|
! You can obtain a copy of the license at
|
! trunk/opends/resource/legal-notices/OpenDS.LICENSE
|
! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
|
! See the License for the specific language governing permissions
|
! and limitations under the License.
|
!
|
! When distributing Covered Code, include this CDDL HEADER in each
|
! file and include the License file at
|
! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
|
! add the following below this CDDL HEADER, with the fields enclosed
|
! by brackets "[]" replaced with your own identifying information:
|
! Portions Copyright [yyyy] [name of copyright owner]
|
!
|
! CDDL HEADER END
|
!
|
!
|
! Portions Copyright 2006-2007 Sun Microsystems, Inc.
|
! -->
|
|
<project name="opends-tests-oulu" basedir="." default="usage">
|
<description>
|
the purpose of this ant file is to facilitate and automate the protocol
|
testing of the project.
|
Due to legal issues, we cannot provide the package
|
</description>
|
|
<property name="project.home.dir" value="${basedir}/../.." />
|
<property file="../../PRODUCT" />
|
<property name="product.name" value="${SHORT_NAME}" />
|
<property name="product.version"
|
value="${MAJOR_VERSION}.${MINOR_VERSION}.${POINT_VERSION}" />
|
<property name="product.package"
|
value="${product.name}-${product.version}.zip" />
|
<!-- in case there's a custom installer properties file -->
|
<property file="../installer.properties" />
|
<!-- in case there isn't - load default values -->
|
<property file="../default.installer.properties" />
|
<!-- oulu tests specific properties -->
|
<property file="oulu.properties" />
|
<tstamp>
|
<format property="run.time" pattern="yyyy.MM.dd-HH.mm.ss" />
|
</tstamp>
|
|
<target name="usage">
|
<echo>Usage for oulu test suite:
|
[all]
|
bootstrap a fresh instance of ${product.name}
|
run the oulu tests
|
wipeout the ${product.name} instance
|
|
[get-bits]
|
Download the bits from oulu university server
|
NOTE: if you are behind a proxy, you need to edit oulu.properties
|
and set proxy.host and proxy.port to relfect that.
|
|
[pdu-tests]
|
run the application exceptions robustness test suite
|
|
[ber-tests]
|
run the encryption exceptions robustness test suite
|
|
[bootstrap]
|
install, configure and start an ${product.name} instance
|
|
[wipeout]
|
stop and uninstall a previously bootstraped ${product.name} instance
|
</echo>
|
</target>
|
|
<target name="check-opends-build">
|
<condition property="opends.notbuilt">
|
<not>
|
<available file="${project.home.dir}/build/package/${product.package}"/>
|
</not>
|
</condition>
|
</target>
|
|
<target name="build-opends"
|
if="opends.notbuilt"
|
depends="check-opends-build">
|
<ant dir="${project.home.dir}"
|
antfile="${project.home.dir}/build.xml"
|
target="package"/>
|
</target>
|
|
<target name="set-proxy" if="proxy.http.port">
|
<setproxy proxyhost="${proxy..http.host}"
|
proxyport="${proxy.http.port}"
|
proxyuser="${proxy.http.user}"
|
proxypassword="${proxy.http.pwd}"
|
socksproxyhost="${proxy.socks.host}"
|
socksproxyport="${proxy.socks.port}"/>
|
</target>
|
|
<!-- download the bits from oulu university -->
|
<target name="get-bits.do" depends="set-proxy" unless="oulu.uptodate">
|
<delete dir="${oulu.build.dir}" />
|
<mkdir dir="${oulu.build.dir}" />
|
<echo message="Downloading oulu bits ..." />
|
<get
|
src="${oulu.home.url}/${oulu.ber.jar}"
|
dest="${oulu.build.dir}/${oulu.ber.jar}"
|
verbose="true" />
|
<get
|
src="${oulu.home.url}/${oulu.ber.pgp}"
|
dest="${oulu.build.dir}/${oulu.ber.pgp}" />
|
<get
|
src="${oulu.home.url}/${oulu.pdu.jar}"
|
dest="${oulu.build.dir}/${oulu.pdu.jar}"
|
verbose="true" />
|
<get
|
src="${oulu.home.url}/${oulu.pdu.pgp}"
|
dest="${oulu.build.dir}/${oulu.pdu.pgp}" />
|
</target>
|
<target name="get-bits.no-need" if="oulu.uptodate">
|
<echo message="Oulu bits are already there." />
|
</target>
|
<target name="get-bits">
|
<condition property="oulu.uptodate">
|
<and>
|
<available file="${oulu.build.dir}/${oulu.ber.jar}"/>
|
<available file="${oulu.build.dir}/${oulu.ber.pgp}"/>
|
<available file="${oulu.build.dir}/${oulu.pdu.jar}"/>
|
<available file="${oulu.build.dir}/${oulu.pdu.pgp}"/>
|
</and>
|
</condition>
|
<antcall target="get-bits.do" />
|
<antcall target="get-bits.no-need" />
|
</target>
|
<!-- end of of download related targets -->
|
|
<!-- installer related targets -->
|
<target name="bootstrap" depends="build-opends">
|
<ant
|
antfile="installer.xml"
|
dir=".."
|
target="bootstrap"
|
inheritAll="false" />
|
</target>
|
<target name="wipeout">
|
<ant
|
antfile="installer.xml"
|
dir=".."
|
target="wipeout"
|
inheritAll="false" />
|
</target>
|
<!-- end of installer related targets -->
|
|
<!-- test related targets -->
|
<target name="pdu-tests">
|
<java
|
jar="${oulu.build.dir}/${oulu.pdu.jar}"
|
fork="true"
|
output="${oulu.build.dir}/pdu-${run.time}.txt">
|
<arg value="-port" />
|
<arg value="${port.ldap}" />
|
<arg value="-host" />
|
<arg value="${host.name}" />
|
<arg value="-delay" />
|
<arg value="15" />
|
<!-- <arg value="-showreply" /> -->
|
</java>
|
<mkdir dir="${oulu.build.dir}/server-logs/pdu-tests" />
|
<copy todir="${oulu.build.dir}/server-logs/pdu-tests">
|
<fileset dir="${project.home.dir}/build/install/${product.name}-${product.version}/logs"/>
|
</copy>
|
</target>
|
<target name="ber-tests">
|
<java
|
jar="${oulu.build.dir}/${oulu.pdu.jar}"
|
fork="true"
|
output="${oulu.build.dir}/ber-${run.time}.txt">
|
<arg value="-port" />
|
<arg value="${port.ldap}" />
|
<arg value="-host" />
|
<arg value="${host.name}" />
|
<arg value="-delay" />
|
<arg value="15" />
|
</java>
|
<mkdir dir="${oulu.build.dir}/server-logs/ber-tests" />
|
<copy todir="${oulu.build.dir}/server-logs/ber-tests">
|
<fileset dir="${project.home.dir}/build/install/${product.name}-${product.version}/logs"/>
|
</copy>
|
</target>
|
<!-- end of test related targets -->
|
|
<!-- macros - chained targets -->
|
<target name="all" >
|
<antcall target="bootstrap" />
|
<antcall target="get-bits" />
|
<antcall target="pdu-tests" />
|
<antcall target="ber-tests" />
|
<antcall target="wipeout" />
|
</target>
|
</project>
|