Skip to content

Commit

Permalink
[JBTM-2334] Narayana Tomcat module
Browse files Browse the repository at this point in the history
  • Loading branch information
Gytis Trikleris committed Oct 10, 2016
1 parent 5fa9760 commit f06075c
Show file tree
Hide file tree
Showing 18 changed files with 1,166 additions and 9 deletions.
2 changes: 1 addition & 1 deletion ArjunaCore/arjuna/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>catalina</artifactId>
<artifactId>tomcat-catalina</artifactId>
<version>${version.org.apache.tomcat}</version>
<scope>test</scope>
</dependency>
Expand Down
5 changes: 4 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@
<version.dom4j>1.6.1</version.dom4j>
<version.jfree>1.0.9</version.jfree>
<version.com.h2database>1.4.182</version.com.h2database>
<version.org.apache.tomcat>6.0.37</version.org.apache.tomcat>
<version.org.apache.tomcat>7.0.70</version.org.apache.tomcat>
<version.org.apache.ant>1.8.2</version.org.apache.ant>
<version.org.apache.httpcomponents>4.2.1</version.org.apache.httpcomponents>
<version.com.sybase.jConnect>6.0</version.com.sybase.jConnect>
Expand All @@ -450,6 +450,8 @@
<version.org.jboss.byteman>2.1.3</version.org.jboss.byteman>
<version.org.jboss.arquillian.core>1.1.7.Final</version.org.jboss.arquillian.core>
<version.org.jboss.arquillian.container.weld>1.0.0.CR8</version.org.jboss.arquillian.container.weld>
<version.org.jboss.arquillian.container.tomcat>1.0.0.CR7</version.org.jboss.arquillian.container.tomcat>
<version.org.jboss.shrinkwrap.resolver>2.2.2</version.org.jboss.shrinkwrap.resolver>
<version.org.jboss.jboss-transaction-spi>7.5.0.Final</version.org.jboss.jboss-transaction-spi>
<version.javax.javaee-api>7.0</version.javax.javaee-api>
<version.javax.ws.rs-api>2.0.1</version.javax.ws.rs-api>
Expand Down Expand Up @@ -486,6 +488,7 @@
<module>osgi</module>
<module>narayana-full</module>
<module>code-coverage</module>
<module>tomcat</module>
</modules>
<profiles>
<profile>
Expand Down
46 changes: 39 additions & 7 deletions scripts/hudson/narayana.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,48 +71,55 @@ function init_test_options {
echo "SKIPPING PROFILE=$PROFILE"
export COMMENT_ON_PULL=""
export AS_BUILD=0 NARAYANA_BUILD=0 NARAYANA_TESTS=0 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 OPENJDK_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0 PERF_TESTS=0 OSGI_TESTS=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 OPENJDK_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0
export PERF_TESTS=0 OSGI_TESTS=0 TOMCAT_TESTS=0
elif [[ $PROFILE == "NO_TEST" ]] || [[ $PULL_DESCRIPTION == *NO_TEST* ]]; then
export COMMENT_ON_PULL=""
export AS_BUILD=0 NARAYANA_BUILD=0 NARAYANA_TESTS=0 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0 TOMCAT_TESTS=0
elif [[ $PROFILE == "MAIN" ]] && [[ ! $PULL_DESCRIPTION == *!MAIN* ]]; then
comment_on_pull "Started testing this pull request with MAIN profile: $BUILD_URL"
export AS_BUILD=1 NARAYANA_BUILD=1 NARAYANA_TESTS=1 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=1 RTS_TESTS=1 JTA_CDI_TESTS=1 QA_TESTS=0 SUN_ORB=0 JAC_ORB=0 JTA_AS_TESTS=1 OSGI_TESTS=1
export TOMCAT_TESTS=1
elif [[ $PROFILE == "JACOCO" ]]; then
export COMMENT_ON_PULL=""
export AS_BUILD=1 NARAYANA_BUILD=1 NARAYANA_TESTS=1 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=1 TXF_TESTS=1 txbridge=1
export RTS_AS_TESTS=0 RTS_TESTS=1 JTA_CDI_TESTS=1 QA_TESTS=1 SUN_ORB=1 JAC_ORB=0 JTA_AS_TESTS=1 OSGI_TESTS=0
export CODE_COVERAGE=1 CODE_COVERAGE_ARGS="-PcodeCoverage -Pfindbugs"
export TOMCAT_TESTS=1 CODE_COVERAGE=1 CODE_COVERAGE_ARGS="-PcodeCoverage -Pfindbugs"
elif [[ $PROFILE == "XTS" ]] && [[ ! $PULL_DESCRIPTION == *!XTS* ]]; then
comment_on_pull "Started testing this pull request with XTS profile: $BUILD_URL"
export AS_BUILD=1 NARAYANA_BUILD=1 NARAYANA_TESTS=0 BLACKTIE=0 XTS_AS_TESTS=1 XTS_TESTS=1 TXF_TESTS=1 txbridge=1
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0 TOMCAT_TESTS=0
elif [[ $PROFILE == "QA_JTA" ]] && [[ ! $PULL_DESCRIPTION == *!QA_JTA* ]]; then
comment_on_pull "Started testing this pull request with QA_JTA profile: $BUILD_URL"
export AS_BUILD=0 NARAYANA_BUILD=1 NARAYANA_TESTS=0 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=1 SUN_ORB=0 JAC_ORB=1 QA_TARGET=ci-tests-nojts JTA_AS_TESTS=0
export TOMCAT_TESTS=0
elif [[ $PROFILE == "QA_JTS_JACORB" ]] && [[ ! $PULL_DESCRIPTION == *!QA_JTS_JACORB* ]]; then
comment_on_pull "Started testing this pull request with QA_JTS_JACORB profile: $BUILD_URL"
export AS_BUILD=0 NARAYANA_BUILD=1 NARAYANA_TESTS=0 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=1 SUN_ORB=0 JAC_ORB=1 QA_TARGET=ci-jts-tests JTA_AS_TESTS=0
export TOMCAT_TESTS=0
elif [[ $PROFILE == "QA_JTS_JDKORB" ]] && [[ ! $PULL_DESCRIPTION == *!QA_JTS_JDKORB* ]]; then
comment_on_pull "Started testing this pull request with QA_JTS_JDKORB profile: $BUILD_URL"
export AS_BUILD=0 NARAYANA_BUILD=1 NARAYANA_TESTS=0 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=1 SUN_ORB=1 JAC_ORB=0 QA_TARGET=ci-jts-tests JTA_AS_TESTS=0
export TOMCAT_TESTS=0
elif [[ $PROFILE == "QA_JTS_OPENJDKORB" ]] && [[ ! $PULL_DESCRIPTION == *!QA_JTS_OPENJDKORB* ]]; then
comment_on_pull "Started testing this pull request with QA_JTS_OPENJDKORB profile: $BUILD_URL"
export AS_BUILD=0 NARAYANA_BUILD=1 NARAYANA_TESTS=0 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=1 OPENJDK_ORB=1 SUN_ORB=0 JAC_ORB=0 QA_TARGET=ci-jts-tests JTA_AS_TESTS=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=1 OPENJDK_ORB=1 SUN_ORB=0 JAC_ORB=0 QA_TARGET=ci-jts-tests
export JTA_AS_TESTS=0 TOMCAT_TESTS=0
elif [[ $PROFILE == "BLACKTIE" ]] && [[ ! $PULL_DESCRIPTION == *!BLACKTIE* ]]; then
comment_on_pull "Started testing this pull request with BLACKTIE profile on Linux: $BUILD_URL"
export AS_BUILD=1 NARAYANA_BUILD=1 NARAYANA_TESTS=0 BLACKTIE=1 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0 TOMCAT_TESTS=0
elif [[ $PROFILE == "PERF" ]] && [[ ! $PULL_DESCRIPTION == *!PERF* ]]; then
comment_on_pull "Started testing this pull request with PERF profile: $BUILD_URL"
export AS_BUILD=0 NARAYANA_BUILD=1 NARAYANA_TESTS=0 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0 OSGI_TESTS=0 PERF_TESTS=1
export TOMCAT_TESTS=0
elif [[ $PROFILE == "NONE" ]]; then
echo "Not using any PROFILE (will use the environment for config variables)."
elif [[ -z $PROFILE ]]; then
Expand All @@ -128,6 +135,7 @@ function init_test_options {
[ $XTS_AS_TESTS ] || XTS_AS_TESTS=1 # XTS tests
[ $RTS_AS_TESTS ] || RTS_AS_TESTS=1 # RTS tests
[ $RTS_TESTS ] || RTS_TESTS=1 # REST-AT Test
[ $TOMCAT_TESTS ] || TOMCAT_TESTS=1 # Narayana Tomcat tests
[ $JTA_CDI_TESTS ] || JTA_CDI_TESTS=1 # JTA CDI Tests
[ $JTA_AS_TESTS ] || JTA_AS_TESTS=1 # JTA AS tests
[ $QA_TESTS ] || QA_TESTS=1 # QA test suite
Expand All @@ -139,7 +147,8 @@ function init_test_options {
else
export COMMENT_ON_PULL=""
export AS_BUILD=0 NARAYANA_BUILD=0 NARAYANA_TESTS=0 BLACKTIE=0 XTS_AS_TESTS=0 XTS_TESTS=0 TXF_TESTS=0 txbridge=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 OPENJDK_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0 PERF_TESTS=0 OSGI_TESTS=0
export RTS_AS_TESTS=0 RTS_TESTS=0 JTA_CDI_TESTS=0 QA_TESTS=0 SUN_ORB=0 OPENJDK_ORB=0 JAC_ORB=0 JTA_AS_TESTS=0
export PERF_TESTS=0 OSGI_TESTS=0 TOMCAT_TESTS=0
fi

get_pull_xargs "$PULL_DESCRIPTION" $PROFILE # see if the PR description overrides any of the defaults
Expand Down Expand Up @@ -478,6 +487,28 @@ function tx_bridge_tests {
[ $? = 0 ] || fatal "#3.TXBRIDGE TESTS failed"
}

function tomcat_tests {
echo "Initializing Narayana Tomcat tests"
cd ${WORKSPACE}
TOMCAT_NAME=apache-tomcat-7.0.70
curl -LOk http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.70/bin/${TOMCAT_NAME}.zip
unzip ${TOMCAT_NAME}.zip
rm ${TOMCAT_NAME}.zip
export CATALINA_HOME=$PWD/${TOMCAT_NAME}
chmod u+x ${CATALINA_HOME}/bin/*.sh
cat << 'EOF' > ${CATALINA_HOME}/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<user username="test" password="test" roles="manager-script"/>
</tomcat-users>
EOF
echo "Executing Narayana Tomcat tests"
./build.sh -f tomcat/tomcat-jta/pom.xml -P${ARQ_PROF}-tomcat ${CODE_COVERAGE_ARGS} "$@" ${IPV6_OPTS} install "$@"
RESULT=$?
rm -r ${TOMCAT_NAME}
[ $RESULT = 0 ] || fatal "Narayana Tomcat tests failed"
}

function enable_qa_trace {
echo "creating file $WORKSPACE/qa/dist/narayana-full-${NARAYANA_CURRENT_VERSION}/etc/log4j.xml"
cat << 'EOF' > $WORKSPACE/qa/dist/narayana-full-${NARAYANA_CURRENT_VERSION}/etc/log4j.xml
Expand Down Expand Up @@ -795,6 +826,7 @@ export ANT_OPTS="$ANT_OPTS $IPV6_OPTS"
[ $XTS_TESTS = 1 ] && xts_tests "$@"
[ $txbridge = 1 ] && tx_bridge_tests "$@"
[ $RTS_TESTS = 1 ] && rts_tests "$@"
[ $TOMCAT_TESTS = 1 ] && tomcat_tests "$@"
[ $QA_TESTS = 1 ] && qa_tests "$@"
[ $PERF_TESTS = 1 ] && perf_tests "$@"
[ $CODE_COVERAGE = 1 ] && generate_code_coverage_report "$@"
Expand Down
39 changes: 39 additions & 0 deletions tomcat/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ JBoss, Home of Professional Open Source.
~ Copyright 2016, Red Hat, Inc., and individual contributors
~ as indicated by the @author tags. See the copyright.txt file in the
~ distribution for a full listing of individual contributors.
~
~ This is free software; you can redistribute it and/or modify it
~ under the terms of the GNU Lesser General Public License as
~ published by the Free Software Foundation; either version 2.1 of
~ the License, or (at your option) any later version.
~
~ This software is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
~ Lesser General Public License for more details.
~
~ You should have received a copy of the GNU Lesser General Public
~ License along with this software; if not, write to the Free
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.jboss.narayana</groupId>
<artifactId>narayana-all</artifactId>
<version>5.3.6.Final-SNAPSHOT</version>
</parent>
<groupId>org.jboss.narayana.tomcat</groupId>
<artifactId>tomcat-all</artifactId>
<packaging>pom</packaging>
<name>Narayana: Tomcat integration</name>
<modules>
<module>tomcat-jta</module>
</modules>
</project>
Loading

0 comments on commit f06075c

Please sign in to comment.