Skip to content

Commit

Permalink
Fixed issue with JUnit reports on rerun and added preliminary script …
Browse files Browse the repository at this point in the history
…for supporting other DBs

Signed-off-by: anajosep <anand.francis.joseph.augustin@oracle.com>
  • Loading branch information
anajosep committed Dec 12, 2018
1 parent ef8201e commit dba74be
Show file tree
Hide file tree
Showing 8 changed files with 127 additions and 36 deletions.
6 changes: 4 additions & 2 deletions Jenkinsfile
Expand Up @@ -16,7 +16,7 @@

env.label = "jakartaee-tck-pod-${UUID.randomUUID().toString()}"

default_suites=[ "compat12", "compat13", "concurrency", "connector", "ejb", "ejb30/bb", "ejb30/lite/appexception", "ejb30/lite/async", "ejb30/lite/basic", "ejb30/lite/ejbcontext", "ejb30/lite/enventry", "ejb30/lite/interceptor", "ejb30/lite/lookup", "ejb30/lite/naming", "ejb30/lite/nointerface", "", "ejb30/lite/packaging", "ejb30/lite/singleton", "ejb30/lite/stateful", "ejb30/lite/tx", "ejb30/lite/view", "ejb30/lite/xmloverride", "ejb30/assembly", "ejb30/timer", "ejb30/webservice", "ejb30/zombie", "ejb30/misc", "ejb30/sec", "ejb32", "el", "integration", "interop", "j2eetools", "jacc", "jaspic", "javaee", "javamail", "jaxr", "jaxrpc", "jaxrs", "jdbc", "jms", "jpa_appmanaged", "jpa_appmanagedNoTx", "jpa_pmservlet", "jpa_puservlet", "jpa_stateful3", "jpa_stateless3", "jsf", "jsonb", "jsonp", "jsp", "jstl", "jta", "jws", "rmiiiop", "samples", "securityapi", "servlet", "signaturetest/javaee", "webservices", "webservices12", "webservices13", "websocket", "xa"]
default_suites=[ "compat12", "compat13", "concurrency", "connector", "ejb", "ejb30/bb", "ejb30/lite/appexception", "ejb30/lite/async", "ejb30/lite/basic", "ejb30/lite/ejbcontext", "ejb30/lite/enventry", "ejb30/lite/interceptor", "ejb30/lite/lookup", "ejb30/lite/naming", "ejb30/lite/nointerface", "", "ejb30/lite/packaging", "ejb30/lite/singleton", "ejb30/lite/stateful", "ejb30/lite/tx", "ejb30/lite/view", "ejb30/lite/xmloverride", "ejb30/assembly", "ejb30/timer", "ejb30/webservice", "ejb30/zombie", "ejb30/misc", "ejb30/sec", "ejb32", "el", "integration", "interop", "j2eetools", "jacc", "jaspic", "javaee", "javamail", "jaxr", "jaxrpc", "jaxrs", "jdbc_appclient", "jdbc_ejb", "jdbc_jsp", "jdbc_servlet", "jms_appclient", "jms_ejb", "jms_jsp", "jms_servlet", "jpa_appmanaged", "jpa_appmanagedNoTx", "jpa_pmservlet", "jpa_puservlet", "jpa_stateful3", "jpa_stateless3", "jsf", "jsonb", "jsonp", "jsp", "jstl", "jta", "jws", "rmiiiop", "samples", "securityapi", "servlet", "signaturetest/javaee", "webservices", "webservices12", "webservices13", "websocket", "xa"]
default_tcks=["caj", "concurrency", "connector", "el", "jacc", "jaspic", "jaxr", "jaxrpc", "jaxrs", "jaxws", "jms", "jpa", "jsf", "jsp", "jsonb", "jsonp", "jstl", "jta", "saaj", "securityapi", "servlet", "websocket"]

def cts_suites = params.test_suites != null ? params.test_suites.split() : default_suites
Expand Down Expand Up @@ -134,9 +134,11 @@ spec:
description: 'Base URL required for downloading prebuilt binary TCK Bundle from a hosted location' )
choice(name: 'PROFILE', choices: 'FULL\nWEB',
description: 'Profile to be used for running CTS either web/full' )
choice(name: 'DATABASE', choices: 'JavaDB\nOracle\nMySQL',
description: 'Database to be used for running CTS. Currently only JavaDB is supported.' )
choice(name: 'BUILD_TYPE', choices: 'CTS\nSTANDALONE-TCK',
description: 'Run the full EE compliance testsuite or a standalone tck' )
string(name: 'test_suites', defaultValue: 'compat12 compat13 concurrency connector ejb ejb30/bb ejb30/lite/appexception ejb30/lite/async ejb30/lite/basic ejb30/lite/ejbcontext ejb30/lite/enventry ejb30/lite/interceptor ejb30/lite/lookup ejb30/lite/naming ejb30/lite/nointerface ejb30/lite/packaging ejb30/lite/singleton ejb30/lite/stateful ejb30/lite/tx ejb30/lite/view ejb30/lite/xmloverride ejb30/assembly ejb30/timer ejb30/webservice ejb30/zombie ejb30/misc ejb30/sec ejb32 el integration interop j2eetools jacc jaspic javaee javamail jaxr jaxrpc jaxrs jdbc jms jpa_appmanaged jpa_appmanagedNoTx jpa_pmservlet jpa_puservlet jpa_stateful3 jpa_stateless3 jsf jsonb jsonp jsp jstl jta jws rmiiiop samples securityapi servlet signaturetest/javaee webservices webservices12 webservices13 websocket xa',
string(name: 'test_suites', defaultValue: 'compat12 compat13 concurrency connector ejb ejb30/bb ejb30/lite/appexception ejb30/lite/async ejb30/lite/basic ejb30/lite/ejbcontext ejb30/lite/enventry ejb30/lite/interceptor ejb30/lite/lookup ejb30/lite/naming ejb30/lite/nointerface ejb30/lite/packaging ejb30/lite/singleton ejb30/lite/stateful ejb30/lite/tx ejb30/lite/view ejb30/lite/xmloverride ejb30/assembly ejb30/timer ejb30/webservice ejb30/zombie ejb30/misc ejb30/sec ejb32 el integration interop j2eetools jacc jaspic javaee javamail jaxr jaxrpc jaxrs jdbc_appclient jdbc_ejb jdbc_jsp jdbc_servlet jms_appclient jms_ejb jms_jsp jms_servlet jpa_appmanaged jpa_appmanagedNoTx jpa_pmservlet jpa_puservlet jpa_stateful3 jpa_stateless3 jsf jsonb jsonp jsp jstl jta jws rmiiiop samples securityapi servlet signaturetest/javaee webservices webservices12 webservices13 websocket xa',
description: 'Space separated list of Test suites to run')
string(name: 'standalone_tcks', defaultValue: 'caj concurrency connector el jacc jaspic jaxr jaxrpc jaxrs jaxws jms jpa jsf jsp jsonb jsonp jstl jta saaj securityapi servlet websocket',
description: 'Space separated list of standalone TCKs to build and run')
Expand Down
Binary file modified docker/JTReportParser/JTReportParser.jar
Binary file not shown.
29 changes: 0 additions & 29 deletions docker/adjust_classpath.sh

This file was deleted.

36 changes: 36 additions & 0 deletions docker/conf/MySQL.cfg
@@ -0,0 +1,36 @@
mysql.dbName=cts
mysql.port=3306
mysql.user=cts1
mysql.passwd=cts1
mysql.properties=user\=${mysql.user}:password\=${mysql.passwd}:DatabaseName\=${mysql.dbName}\:ServerName\=${mysql.server}\:port\=${mysql.port}\:jdbcCompliantTruncation\=false

jdbc.poolName=${mysql.poolName}
jdbc.db=mysql
jdbc.maxpoolsize=64
jdbc.steadypoolsize=32
db.dml.file=${mysql.dml.file}
db.dml.file.ri=${mysql.dml.file}

batch.db.dataSource=${mysql.dataSource}
batch.db.properties=${mysql.properties}

jdbc.db.classes=${mysql.classes}

jstl.db.driver=${mysql.driver}
jstl.db.url=${mysql.url}
jstl.db.user=${mysql.user}
jstl.db.password=${mysql.passwd}

user1=${mysql.user}
password1=${mysql.passwd}
user2=${mysql.user}
password2=${mysql.passwd}
user3=${mysql.user}
password3=${mysql.passwd}

db.supports.sequence=false

javax.persistence.jdbc.driver=${mysql.driver}
javax.persistence.jdbc.url=${mysql.url}
javax.persistence.jdbc.user=${mysql.user}
javax.persistence.jdbc.password=${mysql.passwd}
38 changes: 38 additions & 0 deletions docker/conf/Oracle.cfg
@@ -0,0 +1,38 @@
oracle.dbName=orcl
oracle.port=1521
oracle.user=cts1
oracle.passwd=cts1
oracle.classes=${jdbc.lib.class.path}/ojdbc8.jar${pathsep}${jdbc.lib.class.path}/oracle.jar
oracle.properties=user\=${oracle.user}:password\=${oracle.passwd}:DatabaseName\=${oracle.dbName}:ServerName\=${oracle.server}:PortNumber\=${oracle.port}:driverType\=thin

jdbc.poolName=${oracle.poolName}
jdbc.db=oracle
jdbc.maxpoolsize=64
jdbc.steadypoolsize=32
jdbc.db.classes=${oracle.classes}
jdbc.datasource.props=\"driverType=thin\"

db.dml.file=${oracle.dml.file}
db.dml.file.ri=${oracle.dml.file}

batch.db.dataSource=${oracle.dataSource}
batch.db.properties=${oracle.properties}

jstl.db.driver=${oracle.driver}
jstl.db.url=${oracle.url}
jstl.db.user=${oracle.user}
jstl.db.password=${oracle.passwd}

user1=${oracle.user}
password1=${oracle.passwd}
user2=${oracle.user}
password2=${oracle.passwd}
user3=${oracle.user}
password3=${oracle.passwd}
oracleOCI.classes=${jdbc.lib.class.path}/ojdbc8.jar

javax.persistence.jdbc.driver=${oracle.driver}
javax.persistence.jdbc.url=${oracle.url}
javax.persistence.jdbc.user=${oracle.user}
javax.persistence.jdbc.password=${oracle.passwd}

33 changes: 33 additions & 0 deletions docker/process_db_config.sh
@@ -0,0 +1,33 @@
#!/bin/bash -x

if [ $# -lt 2 ];then
echo "Did not receive the required arguments for running this script."
echo "Please specify the Database type and TCK home directory."
echo "eg: ./process_db_config.sh Oracle "
exit 1
fi

DB_TYPE=$2
TS_HOME=$3
DB_CFG_FILE="conf/${DB_TYPE}.cfg"

if [ ! -f "${DB_CFG_FILE}" ];then
echo "The specified Database type $DB_TYPE is not yet supported for running the TCK."
exit 1
fi

while IFS="" read -r keyvalue_pair || [ -n "$keyvalue_pair" ]
do
if [[ \#* == $keyvalue_pair || -z $keyvalue_pair ]]; then
echo "Ignoring comment"
else
printf '%s\n' "$keyvalue_pair"
key=`echo $keyvalue_pair | cut -f1 -d=`
value=`echo $keyvalue_pair | cut -f2 -d=`
echo "Key: $key"
echo "Value: $value"
if [[ ! -z "$key" && ! -z "$value" ]]; then
sed -i "s#$key#$value#g" $TS_HOME/bin/ts.jte
fi
fi
done <${DB_CFG_FILE}
15 changes: 11 additions & 4 deletions docker/run_jakartaeetck.sh
Expand Up @@ -97,10 +97,6 @@ mkdir -p ${CTS_HOME}/ri
unzip ${CTS_HOME}/latest-glassfish.zip -d ${CTS_HOME}/ri
chmod -R 777 ${CTS_HOME}/ri

# Temporary hack to replace javax prefixed jar names to jakarta prefixed jar names
# based on if those are available in the RI GlassFish Bundle.
. ${CTS_HOME}/javaeetck/docker/adjust_classpath.sh

export ADMIN_PASSWORD_FILE="${CTS_HOME}/admin-password.txt"
echo "AS_ADMIN_PASSWORD=adminadmin" > ${ADMIN_PASSWORD_FILE}

Expand Down Expand Up @@ -270,6 +266,15 @@ if [[ $test_suite == ejb30/lite* ]] || [[ "ejb30" == $test_suite ]] ; then
sed -i 's/-Xmx1024m/-Xmx2048m/g' ${CTS_HOME}/ri/glassfish5/glassfish/domains/domain1/config/domain.xml
fi

if [ ! -z "${DATABASE}" ];then
if [ "JavaDB" == "${DATABASE}" ]; then
echo "Using the bundled JavaDB in GlassFish. No change in ts.jte required."
else
echo "Modifying DB related properties in ts.jte"
${TS_HOME}/docker/process_db_config.sh ${DATABASE} ${TS_HOME}
fi
fi

VI_SERVER_POLICY_FILE=${CTS_HOME}/vi/glassfish5/glassfish/domains/domain1/config/server.policy
echo 'grant {' >> ${VI_SERVER_POLICY_FILE}
echo 'permission java.io.FilePermission "${com.sun.aas.instanceRoot}${/}generated${/}policy${/}-", "read,write,execute,delete";' >> ${VI_SERVER_POLICY_FILE}
Expand Down Expand Up @@ -348,6 +353,8 @@ if [[ $FAILED_COUNT -gt 0 ]]; then
echo "One or more tests failed. Failure count: $FAILED_COUNT"
echo "Re-running only the failed, error tests"
ant -f xml/impl/glassfish/s1as.xml run.cts -Dant.opts="${CTS_ANT_OPTS} ${ANT_OPTS}" -Drun.client.args="-DpriorStatus=fail,error" -DbuildJwsJaxws=false -Dtest.areas="${test_suite}"
# Generate combined report for both the runs.
ant -Dreport.for=com/sun/ts/tests/$test_suite -Dreport.dir=${JT_REPORT_DIR}/${TEST_SUITE} -Dwork.dir=${JT_WORK_DIR}/${TEST_SUITE} report
fi

export HOST=`hostname -f`
Expand Down
6 changes: 5 additions & 1 deletion release/tools/j2ee.xml
Expand Up @@ -226,12 +226,16 @@
</copy>

<copy todir="${deliverable.bundle.dir}/docker" includeEmptyDirs="no">
<fileset dir="${ts.home}/docker" includes="*jakartaeetck*.sh, adjust_classpath.sh"/>
<fileset dir="${ts.home}/docker" includes="*jakartaeetck*.sh, process_db_config.sh"/>
</copy>

<copy todir="${deliverable.bundle.dir}/docker" includeEmptyDirs="no">
<fileset dir="${ts.home}/docker" includes="JTReportParser/"/>
</copy>

<copy todir="${deliverable.bundle.dir}/docker" includeEmptyDirs="no">
<fileset dir="${ts.home}/docker" includes="conf/"/>
</copy>

</target>
</project>

0 comments on commit dba74be

Please sign in to comment.