#!/bin/sh # BEGIN COPYRIGHT BLOCK # (C) 2010 Red Hat, Inc. # All rights reserved. # END COPYRIGHT BLOCK check_for_dependencies() { NOT_FOUND="FALSE" for i in "expect" "beakerlib" "beaker-client" "rhts-devel" do rpm -qa $i if [ $? -ne 0 ] ; then echo "$i package required." NOT_FOUND="TRUE" fi done if [ $NOT_FOUND = "TRUE" ] ; then echo "Cannot compose test rpm without installing the dependencies." exit -1 fi } check_for_dependencies if [ $# -lt 1 ]; then echo "Usage: $0 unique_identifier [--submit-tests]" exit -1 fi RUN_TESTS='N' if [ $# -gt 1 ]; then if [ $2 = "--submit-tests" ] then RUN_TESTS='Y' fi fi ### Directory with all the compose scripts COMPOSE_DIR=`dirname $0 | cd ; pwd` PKI_SOURCE_DIR=`cd $COMPOSE_DIR/..; pwd` ### Build the task rpm outside the PKI git source tree. ### The rhts-mk-build-package command checks if the code is is a git repository, ### if yes, it will compare tags of the current branch and the master branch. ### If they do not match then the rpm is not built. WORK_DIR=`cd $COMPOSE_DIR/../..;pwd` BUILD_DIR="$WORK_DIR/package.tests" if [ ! -d $BUILD_DIR ] ; then mkdir $BUILD_DIR fi cd $BUILD_DIR rm -rf *.rpm cp -r "$PKI_SOURCE_DIR/tests" . ### Compile the java test source ### cd tests/dogtag/dev_java_tests rm -rf bin mkdir bin CLASSPATH=$PKI_SOURCE_DIR/base/test/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/tests/dogtag/dev_java_tests/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/symkey/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/util/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/util/test CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/common/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/common/functional/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/java-tools/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/server/tomcat/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/server/cms/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/server/cmscore/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/server/test CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/ca/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/ca/functional/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/kra/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/kra/functional/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/ocsp/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/tks/src CLASSPATH=$CLASSPATH:$PKI_SOURCE_DIR/base/tps/src CLASSPATH=$CLASSPATH:/usr/share/java/junit.jar CLASSPATH=$CLASSPATH:`pwd`/src CLASSPATH=$CLASSPATH:/usr/lib64/jss/jss4.jar CLASSPATH=$CLASSPATH:/usr/share/java/httpcomponents/httpclient.jar CLASSPATH=$CLASSPATH:/usr/share/java/httpcomponents/httpcore.jar CLASSPATH=$CLASSPATH:/usr/share/java/jackson/jackson-core-asl.jar CLASSPATH=$CLASSPATH:/usr/share/java/jackson/jackson-jaxrs.jar CLASSPATH=$CLASSPATH:/usr/share/java/jackson/jackson-mapper-asl.jar CLASSPATH=$CLASSPATH:/usr/share/java/jackson/jackson-mrbean.jar CLASSPATH=$CLASSPATH:/usr/share/java/jackson/jackson-smile.jar CLASSPATH=$CLASSPATH:/usr/share/java/jackson/jackson-xc.jar CLASSPATH=$CLASSPATH:/usr/share/java/resteasy/jaxrs-api.jar CLASSPATH=$CLASSPATH:/usr/share/java/resteasy/resteasy-atom-provider.jar CLASSPATH=$CLASSPATH:/usr/share/java/resteasy/resteasy-client.jar CLASSPATH=$CLASSPATH:/usr/share/java/resteasy/resteasy-jaxb-provider.jar CLASSPATH=$CLASSPATH:/usr/share/java/resteasy/resteasy-jaxrs.jar CLASSPATH=$CLASSPATH:/usr/share/java/resteasy/resteasy-jaxrs-jandex.jar CLASSPATH=$CLASSPATH:/usr/share/java/resteasy/resteasy-jackson-provider.jar CLASSPATH=$CLASSPATH:/usr/share/java/apache-commons-cli.jar CLASSPATH=$CLASSPATH:/usr/share/java/apache-commons-codec.jar CLASSPATH=$CLASSPATH:/usr/share/java/apache-commons-logging.jar CLASSPATH=$CLASSPATH:/usr/share/java/commons-codec.jar CLASSPATH=$CLASSPATH:/usr/share/java/commons-httpclient.jar CLASSPATH=$CLASSPATH:/usr/share/java/idm-console-base-1.1.7.jar CLASSPATH=$CLASSPATH:/usr/share/java/idm-console-mcc.jar CLASSPATH=$CLASSPATH:/usr/share/java/idm-console-nmclf.jar CLASSPATH=$CLASSPATH:/usr/share/java/jakarta-commons-httpclient.jar CLASSPATH=$CLASSPATH:/usr/share/java/jaxb-api.jar CLASSPATH=$CLASSPATH:/usr/share/java/ldapjdk.jar CLASSPATH=$CLASSPATH:/usr/share/java/apache-commons-lang.jar CLASSPATH=$CLASSPATH:/usr/share/java/istack-commons-runtime.jar CLASSPATH=$CLASSPATH:/usr/share/java/scannotation.jar CLASSPATH=$CLASSPATH:/usr/share/java/servlet.jar CLASSPATH=$CLASSPATH:/usr/share/java/velocity.jar CLASSPATH=$CLASSPATH:/usr/share/java/xerces-j2.jar CLASSPATH=$CLASSPATH:/usr/share/java/xml-commons-apis.jar CLASSPATH=$CLASSPATH:/usr/share/java/tomcat/catalina.jar CLASSPATH=$CLASSPATH:/usr/share/java/tomcat/tomcat-util.jar CLASSPATH=$CLASSPATH:/usr/share/java/commons-io.jar CLASSPATH=$CLASSPATH:/usr/lib/java/nuxwdog.jar javac -classpath $CLASSPATH -d bin src/*java ### Building the test rm cd .. ### Passing the keyword for personalizing and an option ### to maintain a seperate folder for each beaker job (Optional) ./make-package.sh $1 mv *.rpm ../../ cd ../.. ### Running the tasks if [ $RUN_TESTS = "Y" ] ; then bkr task-add *.rpm fi