tests.xml revision 98de9af32a09c74f74a861cbd85ccb715dc2290a
2cacab200fb387e290386593d9b2fca2e7beef33csovant<!--
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! CDDL HEADER START
2cacab200fb387e290386593d9b2fca2e7beef33csovant !
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! The contents of this file are subject to the terms of the
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! Common Development and Distribution License, Version 1.0 only
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! (the "License"). You may not use this file except in compliance
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! with the License.
2cacab200fb387e290386593d9b2fca2e7beef33csovant !
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! You can obtain a copy of the license at
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! See the License for the specific language governing permissions
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! and limitations under the License.
2cacab200fb387e290386593d9b2fca2e7beef33csovant !
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! When distributing Covered Code, include this CDDL HEADER in each
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! file and include the License file at
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! add the following below this CDDL HEADER, with the fields enclosed
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! by brackets "[]" replaced with your own identifying information:
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! Portions Copyright [yyyy] [name of copyright owner]
2cacab200fb387e290386593d9b2fca2e7beef33csovant !
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! CDDL HEADER END
2cacab200fb387e290386593d9b2fca2e7beef33csovant !
2cacab200fb387e290386593d9b2fca2e7beef33csovant !
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant ! Copyright 2008-2009 Sun Microsystems, Inc.
2cacab200fb387e290386593d9b2fca2e7beef33csovant ! -->
2cacab200fb387e290386593d9b2fca2e7beef33csovant<project name="tests">
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <description>
2cacab200fb387e290386593d9b2fca2e7beef33csovant Execute the tests.
2cacab200fb387e290386593d9b2fca2e7beef33csovant </description>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
a36d934612ff23d33c1ff20f05d59db05abeca26madiot <target name="specs">
a36d934612ff23d33c1ff20f05d59db05abeca26madiot <javac srcdir="${shared.dir}/java/parsingtool"
98de9af32a09c74f74a861cbd85ccb715dc2290amadiot destdir="${shared.dir}/java/parsingtool"
98de9af32a09c74f74a861cbd85ccb715dc2290amadiot debug="true"
98de9af32a09c74f74a861cbd85ccb715dc2290amadiot debuglevel="lines,vars,source"
98de9af32a09c74f74a861cbd85ccb715dc2290amadiot verbose="yes"
98de9af32a09c74f74a861cbd85ccb715dc2290amadiot />
a36d934612ff23d33c1ff20f05d59db05abeca26madiot <delete dir="${logs.dir}/specs" failonerror="false"/>
a36d934612ff23d33c1ff20f05d59db05abeca26madiot <mkdir dir="${logs.dir}/specs"/>
a36d934612ff23d33c1ff20f05d59db05abeca26madiot <java classpath="${shared.dir}/java/parsingtool"
a36d934612ff23d33c1ff20f05d59db05abeca26madiot classname="GenerateOpenDSTestSpecs" fork="true">
98de9af32a09c74f74a861cbd85ccb715dc2290amadiot <!-- uncomment "agentlib" if need debugger waiting for you
98de9af32a09c74f74a861cbd85ccb715dc2290amadiot <jvmarg value="-agentlib:jdwp=transport=dt_socket,suspend=y,server=y,address=7778"/>
98de9af32a09c74f74a861cbd85ccb715dc2290amadiot -->
a36d934612ff23d33c1ff20f05d59db05abeca26madiot <arg value="${tests.dir}"/>
a36d934612ff23d33c1ff20f05d59db05abeca26madiot <arg value="${logs.dir}/specs"/>
a36d934612ff23d33c1ff20f05d59db05abeca26madiot <arg value="xml" />
a36d934612ff23d33c1ff20f05d59db05abeca26madiot </java>
a36d934612ff23d33c1ff20f05d59db05abeca26madiot </target>
a36d934612ff23d33c1ff20f05d59db05abeca26madiot
2cacab200fb387e290386593d9b2fca2e7beef33csovant <target name="run">
2cacab200fb387e290386593d9b2fca2e7beef33csovant <tstamp>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <format property="tests.run.time" pattern="yyyy.MM.dd-HH.mm.ss"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </tstamp>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <!-- clean up tmp dir -->
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${tests.mode}" arg2="local"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <delete dir="${tests.tmp.dir}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <mkdir dir="${tests.tmp.dir}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <!-- make all the necessary directories for this test run -->
2cacab200fb387e290386593d9b2fca2e7beef33csovant <mkdir dir="${tests.run.dir}/${tests.run.time}"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <mkdir dir="${tests.run.dir}/${tests.run.time}/config"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <!-- these will serve for after-the-fact archiving the logs -->
2cacab200fb387e290386593d9b2fca2e7beef33csovant <mkdir dir="${tests.run.dir}/${tests.run.time}/staf-logs"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${test.plan.custom}" arg2=""/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <var name="test.plan.custom" value="${test.plan.default}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <!-- generate the config file that will be used for this run -->
2cacab200fb387e290386593d9b2fca2e7beef33csovant <copy file="${tests.config.stubs}"
2cacab200fb387e290386593d9b2fca2e7beef33csovant tofile="${tests.run.dir}/${tests.run.time}/config/${tests.config.file}">
2cacab200fb387e290386593d9b2fca2e7beef33csovant <filterchain>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <expandproperties/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </filterchain>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </copy>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <!-- generate the topology files that will be used for this run -->
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <copy todir="${tests.run.dir}/${tests.run.time}/config">
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <fileset dir="${tests.topology.dir}">
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <include name="**/*.txt"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </fileset>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <filterchain>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <expandproperties/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </filterchain>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </copy>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <!-- this is a windows-specific measure to replace the windows file
2cacab200fb387e290386593d9b2fca2e7beef33csovant separator by a forward slash. Staf otherwise fails to find the files. -->
2cacab200fb387e290386593d9b2fca2e7beef33csovant <replace file="${tests.run.dir}/${tests.run.time}/config/${tests.config.file}" token="\" value="/"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
f297f739a5d87cf4c8cbb21bed39a54e7c5804f5csovant <property name="tests.request" value="EXECUTE FILE ${tests.xml} JOBNAME OpenDS_${tests.type} SCRIPTFILE ${tests.run.dir}/${tests.run.time}/config/${tests.config.file} WAIT CLEARLOGS"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <echo>While the tests are running you may tail the job logs at</echo>
f5aaa49dba43db0e99f06476534a8749820515dbcsovant <echo>${staf.install.dir}/${staf.name}/logs/MACHINE/${host.name}</echo>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <echo>Running tests. This will take more than a while.</echo>
f5aaa49dba43db0e99f06476534a8749820515dbcsovant <property name="CLASSPATH" value="${staf.lib.dir}/JSTAF.jar:."/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <exec
2cacab200fb387e290386593d9b2fca2e7beef33csovant dir="${staf.bin.dir}"
2cacab200fb387e290386593d9b2fca2e7beef33csovant executable="${staf.executable}"
2cacab200fb387e290386593d9b2fca2e7beef33csovant >
2cacab200fb387e290386593d9b2fca2e7beef33csovant <arg line="LOCAL STAX ${tests.request}"/>
f5aaa49dba43db0e99f06476534a8749820515dbcsovant <env key="CLASSPATH" path="${staf.lib.dir}/JSTAF.jar:."/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <env key="LD_LIBRARY_PATH" value="${staf.lib.dir}"/>
f5aaa49dba43db0e99f06476534a8749820515dbcsovant <env key="STAFCONVDIR" value="${staf.install.dir}/${staf.name}/codepage"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <env key="STAFCODEPAGE" value="LATIN_1"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </exec>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <symlink link="${tests.run.dir}/latest" resource="${tests.run.time}" overwrite="true"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo>Report is available at</echo>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo>${tests.run.dir}/latest</echo>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </target>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <target name="configure">
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo>* Tests configuration</echo>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Run the tests on the local machine or on a remote machine?"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="local"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant validargs="local,remote"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="tests.mode.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter local hostname:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${local.hostname}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="local.hostname.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${tests.mode.input}" arg2="remote"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter remote hostname:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue=""
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="remote.hostname.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <!-- Tests-defined values -->
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <available file="${basedir}/${tests.type}-${local.hostname.input}-${remote.hostname.input}.properties"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <var file="${basedir}/${tests.type}-${local.hostname.input}-${remote.hostname.input}.properties"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <property name="remote.hostname.input" value="${local.hostname.input}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <!-- Tests-defined values -->
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <available file="${basedir}/${tests.type}-${local.hostname.input}.properties"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <var file="${basedir}/${tests.type}-${local.hostname.input}.properties"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </else>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </if>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <if>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <equals arg1="${tests.type}" arg2="stress-tests"/>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <then>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <input message=" Enter client hostname:"
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift defaultvalue="${client.hostname}"
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift addproperty="client.hostname.input"/>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <input message=" Enter ldclt path (on client machine):"
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift defaultvalue="${ldclt.dir}"
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift addproperty="ldclt.dir.input"/>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift </then>
f5aaa49dba43db0e99f06476534a8749820515dbcsovant <else>
f5aaa49dba43db0e99f06476534a8749820515dbcsovant <property name="client.hostname.input" value="${client.hostname}"/>
f5aaa49dba43db0e99f06476534a8749820515dbcsovant <property name="ldclt.dir.input" value="${ldclt.dir}"/>
f5aaa49dba43db0e99f06476534a8749820515dbcsovant </else>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift </if>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter path to logs directory:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${logs.dir}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="logs.dir.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter path to OpenDS archive:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${opends.dir}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="opends.dir.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter OpenDS name:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${opends.name}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="opends.name.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <input message=" Enter java home:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${local.javahome}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="local.javahome.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${tests.mode.input}" arg2="remote" />
2cacab200fb387e290386593d9b2fca2e7beef33csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter java home (on remote machine):"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${remote.javahome}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="remote.javahome.input"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </then>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <property name="remote.javahome.input" value="${local.javahome.input}"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </else>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${tests.mode.input}" arg2="remote" />
2cacab200fb387e290386593d9b2fca2e7beef33csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter directory instance directory (on remote machine):"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${tests.tmp.dir}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="tests.tmp.dir.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <else>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <input message=" Enter directory instance directory:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${tests.tmp.dir}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="tests.tmp.dir.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <input message=" Enter OpenDMK lib directory:"
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift defaultvalue="${snmp.opendmk.lib.dir}"
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift addproperty="snmp.opendmk.lib.dir.input"/>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Use default directory instance?"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${tests.default}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant validargs="true,false"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="tests.default.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${tests.default.input}" arg2="false"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter OpenDS ldap port:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${opends.port.ldap}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="opends.port.ldap.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter OpenDS admin port:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${opends.port.admin}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="opends.port.admin.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter OpenDS secure ldap port:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${opends.port.ldaps}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="opends.port.ldaps.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter OpenDS admin DN (also called root DN):"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${opends.admin.dn}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="opends.admin.dn.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Enter OpenDS admin password:"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${opends.admin.pwd}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="opends.admin.pwd.input"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <property name="opends.port.ldap.input" value="${opends.port.ldap}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <property name="opends.port.admin.input" value="${opends.port.admin}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <property name="opends.port.ldaps.input" value="${opends.port.ldaps}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <property name="opends.admin.dn.input" value="${opends.admin.dn}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <property name="opends.admin.pwd.input" value="${opends.admin.pwd}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </else>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </if>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Run tests using verbose mode?"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="${verbose.mode}"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant validargs="true,false"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="verbose.mode.input"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo>* Test plan configuration</echo>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${test.plan.custom}" arg2=""/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo> No previous customized test plan found.</echo>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <property name="prompt" value="y"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo> A previously customized test plan was detected:</echo>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo> ${test.plan.custom}</echo>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo></echo>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Do you want to change the list of suites to run?"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant validargs="y,n"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="n"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="prompt"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${prompt}" arg2="y" />
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <var name="test.plan.custom" value=""/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Do you want to execute all the tests?"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant validargs="y,n"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="y"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="answer"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${answer}" arg2="y" />
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <if>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <equals arg1="${tests.type}" arg2="functional-tests"/>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <then>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <var name="test.plan.custom" value="${test.plan.functional.default}"/>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift </then>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <else>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <var name="test.plan.custom" value="${test.plan.stress.default}"/>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift </else>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift </if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <for param="item">
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <dirset dir="${tests.dir}/testcases"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant includes="*"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant excludes="quickstart,sample">
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <type type="dir"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </dirset>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <sequential>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <var name="test" unset="true"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <var name="answer" unset="true"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <basename property="test" file="@{item}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <input message=" Do you want to execute ${test}?"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant validargs="y,n"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant defaultvalue="y"
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant addproperty="answer"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${answer}" arg2="y" />
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${test.plan.custom}" arg2=""/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <var name="test.plan.custom" value="${test}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <var name="test.plan.custom" value="${test.plan.custom},${test}"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </sequential>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </for>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo>Saving ...</echo>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <equals arg1="${tests.mode.input}" arg2="remote"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <then>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <property name="property.file" value="${tests.type}-${local.hostname.input}-${remote.hostname.input}.properties"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </then>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <else>
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swift <property name="property.file" value="${tests.type}-${local.hostname.input}.properties"/>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </else>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant </if>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant <echo file="${basedir}/${property.file}"># Tests-defined values
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant# This file is generated by "build tests-configure" command
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovanttests.mode=${tests.mode.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantlocal.hostname=${local.hostname.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantlocal.javahome=${local.javahome.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantremote.hostname=${remote.hostname.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantremote.javahome=${remote.javahome.input}
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swiftclient.hostname=${client.hostname.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantlogs.dir=${logs.dir.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantopends.dir=${opends.dir.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantopends.name=${opends.name.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovanttests.tmp.dir=${tests.tmp.dir.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovanttests.default=${tests.default.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantopends.port.ldap=${opends.port.ldap.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantopends.port.admin=${opends.port.admin.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantopends.port.ldaps=${opends.port.ldaps.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantopends.admin.dn=${opends.admin.dn.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantopends.admin.pwd=${opends.admin.pwd.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantsnmp.opendmk.lib.dir=${snmp.opendmk.lib.dir.input}
62ecec3a82a8b838ee76c1f6610902d8fd7015cbmatthew_swiftldclt.dir=${ldclt.dir.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovantverbose.mode=${verbose.mode.input}
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovanttest.plan.custom=${test.plan.custom}</echo>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </target>
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
23f633e1b8cc53fdac740eca4ab7e0341890bba2csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <target name="coverage-init">
2cacab200fb387e290386593d9b2fca2e7beef33csovant <path id="emma.lib">
2cacab200fb387e290386593d9b2fca2e7beef33csovant <pathelement location="${project.home}/ext/emma/lib/emma.jar" />
2cacab200fb387e290386593d9b2fca2e7beef33csovant <pathelement location="${project.home}/ext/emma/lib/emma_ant.jar" />
2cacab200fb387e290386593d9b2fca2e7beef33csovant </path>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <taskdef resource="emma_ant.properties" classpathref="emma.lib" />
2cacab200fb387e290386593d9b2fca2e7beef33csovant </target>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <target name="coverage-on" depends="coverage-init">
2cacab200fb387e290386593d9b2fca2e7beef33csovant <property name="coverage.on" value="true"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </target>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <target name="coverage-instrument" if="coverage.on">
2cacab200fb387e290386593d9b2fca2e7beef33csovant <delete dir="${tests.tmp.dir}/coverage-instr" />
2cacab200fb387e290386593d9b2fca2e7beef33csovant <mkdir dir="${tests.tmp.dir}/coverage-instr" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <mkdir dir="${tests.run.dir}/${tests.run.time}/coverage" />
2cacab200fb387e290386593d9b2fca2e7beef33csovant <!-- unzip the original package in a temporary location to make the
2cacab200fb387e290386593d9b2fca2e7beef33csovant changes necessary so that the coverage tool is called
2cacab200fb387e290386593d9b2fca2e7beef33csovant -->
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <unzip src="${opends.dir}/${opends.name}.zip"
2cacab200fb387e290386593d9b2fca2e7beef33csovant dest="${tests.tmp.dir}/coverage-instr"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <!-- Add emma in the package along with the other librairies
2cacab200fb387e290386593d9b2fca2e7beef33csovant this has the advantage of being automatically picked up by the scripts
2cacab200fb387e290386593d9b2fca2e7beef33csovant -->
2cacab200fb387e290386593d9b2fca2e7beef33csovant <copy file="${project.home}/ext/emma/lib/emma.jar"
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot tofile="${tests.tmp.dir}/coverage-instr/${opends.name}/lib/emma.jar"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <!-- move the original product package to make room for the coverage
2cacab200fb387e290386593d9b2fca2e7beef33csovant enabled package
2cacab200fb387e290386593d9b2fca2e7beef33csovant -->
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <move file="${opends.dir}/${opends.name}.zip" tofile="${opends.dir}/${opends.name}.zip.nocov"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant <!-- intrument the OpenDS java archive to gather coverage -->
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <java classpath="${tests.tmp.dir}/coverage-instr/${opends.name}/lib/emma.jar"
2cacab200fb387e290386593d9b2fca2e7beef33csovant classname="emma" fork="true">
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <jvmarg value="-Demma.metadata.out.file=${tests.tmp.dir}/coverage-instr/${opends.name}/coverage.em" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="instr" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="-m" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="overwrite" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="-ix" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="-org.opends.guitools.*" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="-ix" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="-org.opends.quicksetup.*" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="-ix" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="org.*" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="-ix" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="com.*" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="-ip" />
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <arg value="${tests.tmp.dir}/coverage-instr/${opends.name}/lib/OpenDS.jar:${tests.tmp.dir}/coverage-instr/${opends.name}/lib/extensions/snmp-mib2605.jar" />
2cacab200fb387e290386593d9b2fca2e7beef33csovant </java>
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <copy file="${tests.tmp.dir}/coverage-instr/${opends.name}/coverage.em"
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot tofile="${tests.run.dir}/${tests.run.time}/coverage/coverage.em"/>
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot
2cacab200fb387e290386593d9b2fca2e7beef33csovant <!-- Repackage the product with coverage enabled scripts -->
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <zip basedir="${tests.tmp.dir}/coverage-instr" destfile="${opends.dir}/${opends.name}.zip">
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <zipfileset dir="${tests.tmp.dir}/coverage-instr"
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot includes="${opends.name}/setup,${opends.name}/uninstall,${opends.name}/upgrade,${opends.name}/bin/*,${opends.name}/lib/*.sh"
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot filemode="755" dirmode="755" />
2cacab200fb387e290386593d9b2fca2e7beef33csovant </zip>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <!-- <delete dir="${tests.tmp.dir}/coverage-instr"/> -->
2cacab200fb387e290386593d9b2fca2e7beef33csovant </target>
2cacab200fb387e290386593d9b2fca2e7beef33csovant <target name="restore-pkg" if="coverage.on">
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <delete file="${opends.dir}/${opends.name}.zip"/>
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <move file="${opends.dir}/${opends.name}.zip.nocov" tofile="${opends.dir}/${opends.name}.zip"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant </target>
fbf33f9f6dbeb2d7d7c9a7c750eacba87b3ae34dmadiot <target name="testwithcoverage" depends="coverage-on,coverage-instrument,run,restore-pkg"/>
2cacab200fb387e290386593d9b2fca2e7beef33csovant
2cacab200fb387e290386593d9b2fca2e7beef33csovant</project>