#!/bin/sh # 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 # information: # Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Portions Copyright 2006 Sun Microsystems, Inc. OLD_DIR=`pwd` [ -z "${DEBUG}" ] || set -x die() { rc=$1 shift echo $@ exit $rc } # Change to the location of this build script. cd `dirname $0` # save the path to the functional tests in a variable ft_home=`pwd` # save the path to directory server in a variable cd ../.. ds_home=`pwd` # change to the functional test directory cd ${ft_home} # check for java if [ -z "${JAVA_HOME}" ]; then JAVA_HOME=`java -cp ${ds_home}/resource FindJavaHome` if [ -z "${JAVA_HOME}" ]; then die 10 "Please set JAVA_HOME to the root of a Java 5.0 installation." else export JAVA_HOME fi else export JAVA_HOME fi # Make sure that the TestNG JAR file is in the CLASSPATH so that ant will be # able to find it. testng_jar=${ds_home}/ext/testng/lib/testng-4.7-jdk15.jar if [ -f "${testng_jar}" ]; then CLASSPATH="${ds_home}/ext/testng/lib/testng-4.7-jdk15.jar" export CLASSPATH else die 11 "Could not find junit library in ${ds_home}/ext/testng/lib" fi ANT_HOME=${ds_home}/ext/ant if [ -d "${ANT_HOME}" ]; then export ANT_HOME else die 12 "Could not find ant in ${ANT_HOME}" fi # check if the product is built # Let's wait on this for now. if [ ! -d "${ds_home}/build" ]; then # Do you want to build directory server ? # maybe the question should be asked interactively, I don't know echo "Could not find the bits, starting a build now" cd ${ds_home} ./build.sh package fi # generate the testcase from the template hostname=`uname -n` template_home="${ft_home}/src/server/org/opends/server/" integration_home="${template_home}/integration" testcase_file="DirectoryServerAcceptanceTestCase.java" template_file="${testcase_file}.template" #cat ${template_home}/${template_file}|sed "s||${hostname}|"|sed "s||$integration_home|" > ${template_home}/${testcase_file} # Execute the ant script and pass it any additional command-line arguments. ${ANT_HOME}/bin/ant --noconfig ${*} if [ $? -eq 0 ]; then echo "Successfully built the integration test suite" echo "To run the integration test suite, please install OpenDS." echo "To start the integration test suite, execute " echo "${ft_home}/test.sh [OpenDS home directory]" cat > ${ft_home}/test.sh <