summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAbhishek Koneru <akoneru@redhat.com>2013-11-08 11:41:42 -0500
committerAbhishek Koneru <akoneru@redhat.com>2013-11-10 15:15:56 -0500
commitabd6142c740225d0e7632111fdc19317710a5701 (patch)
tree0bf231a08ba3fc158eac85414b4929c3a31aa778
parent8025dfe3b644f9897ca9ecd8f7596513d9b356cf (diff)
downloadpki-abd6142c740225d0e7632111fdc19317710a5701.tar.gz
pki-abd6142c740225d0e7632111fdc19317710a5701.tar.xz
pki-abd6142c740225d0e7632111fdc19317710a5701.zip
Provide build scripts for the Java test classes.
Added the scripts to compile the java test sources when trying to build a beaker test rpm. This is required in a CI setup as the source is freshly checked out and the build is automated. Tickets 725, 785
-rw-r--r--README_FOR_TESTS42
-rwxr-xr-xscripts/compose_pki_test_package26
2 files changed, 67 insertions, 1 deletions
diff --git a/README_FOR_TESTS b/README_FOR_TESTS
index f690fcbb4..a8a7784f3 100644
--- a/README_FOR_TESTS
+++ b/README_FOR_TESTS
@@ -178,3 +178,45 @@
**Note- In the case of creating a repository on a remote machine, the remote
machine must be a known_host to the local machine.
+
+2. Setting up a Jenkins server for continuous integration testing
+
+ -- Install Jenkins. (It is better to configure the Jenkins server to use a
+ port other than 8080)
+
+ -- Create a New Project - ex: Dogtag-pki
+
+ -- Configuring the project (Click on "Configure" in the left panel):
+
+ * Setting up the workspace:
+
+ i. For continuous integration, the project can be configured to clone
+ the source from the repository (git://git.fedorahosted.org/git/pki.git).
+ To use the Git SCM, install the Jenkins-Git plugin.
+ Goto Jenkins -> Manage Jenkins -> Manage Plugins to find and install
+ the plugin. The Git option can be found in the SCM section.
+
+ ii. For using the working project directory as the source to build the
+ rpms - Select None in the SCM section and set the path to the
+ project root (pki) as custom workspace in the Advanced Project Options section.
+ Click on Advanced -> Select Use custom workspace -> Enter the path.
+
+ -- Building the rpms and running the tests.
+
+ In the "Build" section, select "Add build step" -> "Execute Shell"
+ Paste the following code in the Command text box.
+
+ cd $WORKSPACE/scripts; ./compose_pki_core_packages [--createrepo=<repository_file_absolute_path>] hybrid_rpms
+ echo "Compose the test package and submit the beaker task and job"
+ cd $WORKSPACE/scripts; ./compose_pki_test_package <UserID> <Job_XML_config_file_absolute_path> --runtests
+
+ This will build the rpms, create the repo(if specified), compose
+ the test rpm and submit the tests to the beaker.
+ (The description to the commands used and setting up the beaker-client
+ are specified in the previous sections of this document)
+
+ -- The Build Triggers section provides options for specifying the time at
+ which a new build can be triggered - periodically or on a git commit.
+
+ -- If no Build triggers are configured in the project, the build process can be initiated by clicking on "Build Now" link in the left panel.
+ The console output can be viewed by clicking the "Console Output" link.
diff --git a/scripts/compose_pki_test_package b/scripts/compose_pki_test_package
index 075495489..eca169f6b 100755
--- a/scripts/compose_pki_test_package
+++ b/scripts/compose_pki_test_package
@@ -61,7 +61,31 @@ cd $BUILD_DIR
cp -r "$PKI_SOURCE_DIR/tests" .
-cd tests/dogtag
+### Compile the java test source ###
+
+if [ ! -d "$PKI_SOURCE_DIR/build/classes" ] ; then
+
+ echo "\nThe java tests cannot be compiled since the pki source is not compiled/built.\n"
+ echo "The core sources can be compiled either by eclipse or using the compose scripts.\n"
+ echo "Cannot build the test RPM."
+
+ exit -1
+
+fi
+
+cd tests/dogtag/dev_java_tests
+
+rm -rf bin
+
+mkdir bin
+
+CLASSPATH=$PKI_SOURCE_DIR/build/classes:/usr/share/java/junit4.jar:`pwd`/src:/usr/lib64/jss/jss4.jar:/usr/share/java/httpcomponents/httpclient.jar:/usr/share/java/httpcomponents/httpcore.jar:/usr/share/java/resteasy/jaxrs-api.jar:/usr/share/java/resteasy/resteasy-atom-provider.jar:/usr/share/java/resteasy/resteasy-jaxb-provider.jar:/usr/share/java/resteasy/resteasy-jaxrs.jar:/usr/share/java/resteasy/resteasy-jaxrs-jandex.jar:/usr/share/java/resteasy/resteasy-jettison-provider.jar:/usr/share/java/apache-commons-cli.jar:/usr/share/java/apache-commons-codec.jar:/usr/share/java/apache-commons-logging.jar:/usr/share/java/commons-codec.jar:/usr/share/java/commons-httpclient.jar:/usr/share/java/idm-console-base-1.1.7.jar:/usr/share/java/idm-console-mcc.jar:/usr/share/java/idm-console-nmclf.jar:/usr/share/java/jakarta-commons-httpclient.jar:/usr/share/java/jaxb-api.jar:/usr/share/java/ldapjdk.jar:/usr/share/java/apache-commons-lang.jar:/usr/share/java/istack-commons-runtime.jar:/usr/share/java/scannotation.jar:/usr/share/java/servlet.jar:/usr/share/java/velocity.jar:/usr/share/java/xerces-j2.jar:/usr/share/java/xml-commons-apis.jar:/usr/share/java/tomcat/catalina.jar:/usr/share/java/tomcat/tomcat-util.jar:/usr/share/java/commons-io.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)