From 1ad802a7d7e8bf940b732b25479cc6dfeb05c58c Mon Sep 17 00:00:00 2001 From: Ondrej Zizka Date: Thu, 20 Oct 2011 09:47:28 +0200 Subject: [PATCH] In the middle of moving --- build.bat | 7 +- build.sh | 18 +- integration-tests.bat | 164 +++++++ integration-tests.sh | 241 ++++++++++ testsuite/README.txt | 141 ++++++ testsuite/groupDefs.sh | 13 + testsuite/integration/pom.xml | 837 +++++++++++++++++++++++++++++----- testsuite/pom.xml | 466 ++++++++++++++++--- 8 files changed, 1712 insertions(+), 175 deletions(-) create mode 100644 integration-tests.bat create mode 100755 integration-tests.sh create mode 100644 testsuite/README.txt create mode 100644 testsuite/groupDefs.sh diff --git a/build.bat b/build.bat index 22cab53ba44..f3866f82e00 100644 --- a/build.bat +++ b/build.bat @@ -84,8 +84,13 @@ REM ****************************************************** echo Calling %1 %2 %3 %4 %5 %6 %7 %8 set GOAL=%2 if "%GOAL%"=="" set GOAL=install -call %1 %GOAL% %3 %4 %5 %6 %7 %8 + +REM run smoke tests by default +set SMOKE_TESTS=-Dintegration.module -Dsmoke.integration.tests + +call %1 %GOAL% %SMOKE_TESTS% %3 %4 %5 %6 %7 %8 :end if "%NOPAUSE%" == "" pause + diff --git a/build.sh b/build.sh index a1781c543de..c5007f07b26 100755 --- a/build.sh +++ b/build.sh @@ -159,12 +159,26 @@ main() { if [ -z "$MVN_GOAL" ]; then MVN_GOAL="install" fi - + + . testsuite/groupDefs.sh + + # add smoke integration test directives before calling maven + TESTS=$SMOKE_TESTS + # for each parameter, check for testsuite directives + for param in $@ ; do + case $param in + -DallTests) + TESTS=$ALL_TESTS ;; + esac + done + + MVN_GOAL="$MVN_GOAL $TESTS" + # export some stuff for maven export MVN MAVEN_HOME MVN_OPTS MVN_GOAL echo "$MVN $MVN_OPTIONS $MVN_GOAL" - + # execute in debug mode, or simply execute if [ "x$MVN_DEBUG" != "x" ]; then /bin/sh -x $MVN $MVN_OPTIONS $MVN_GOAL diff --git a/integration-tests.bat b/integration-tests.bat new file mode 100644 index 00000000000..462135b9cc0 --- /dev/null +++ b/integration-tests.bat @@ -0,0 +1,164 @@ +@echo off +REM ====================================================================== +REM +REM This is the main entry point for the build system. +REM +REM Users should be sure to execute this file rather than 'mvn' to ensure +REM the correct version is being used with the correct configuration. +REM +REM ====================================================================== +REM +REM $Id: build.bat 105735 2010-06-04 19:45:13Z pgier $ +REM +REM Authors: +REM Jason Dillon +REM Sacha Labourey +REM + +REM ****************************************************** +REM Ignore the MAVEN_HOME variable: we want to use *our* +REM Maven version and associated JARs. +REM ****************************************************** +REM Ignore the users classpath, cause it might mess +REM things up +REM ****************************************************** + +SETLOCAL + +set PROGNAME=%0 +set DIRNAME=%~p0 + +set CLASSPATH= +set M2_HOME= +set MAVEN_HOME= + +REM ****************************************************** +REM - "for" loops have been unrolled for compatibility +REM with some WIN32 systems. +REM ****************************************************** + +set NAMES=tools;tools\maven;tools\apache\maven +set SUBFOLDERS=.;..;..\..;..\..\..;..\..\..\.. + +REM ****************************************************** +REM ****************************************************** + +SET EXECUTED=FALSE +for %%i in (%NAMES%) do call :subLoop %%i %1 %2 %3 %4 %5 %6 + +goto :EOF + + +REM ****************************************************** +REM ********* Search for names in the subfolders ********* +REM ****************************************************** + +:subLoop +for %%j in (%SUBFOLDERS%) do call :testIfExists %%j\%1\bin\mvn.bat %2 %3 %4 %5 %6 %7 + +goto :EOF + + +REM ****************************************************** +REM ************ Test if Maven Batch file exists *********** +REM ****************************************************** + +:testIfExists +if exist %1 call :BatchFound %1 %2 %3 %4 %5 %6 %7 %8 + +goto :EOF + + +REM ****************************************************** +REM ************** Batch file has been found ************* +REM ****************************************************** + +:BatchFound +if (%EXECUTED%)==(FALSE) call :ExecuteBatch %1 %2 %3 %4 %5 %6 %7 %8 +set EXECUTED=TRUE + +goto :EOF + +REM ****************************************************** +REM ************* Execute Batch file only once *********** +REM ****************************************************** + +:ExecuteBatch + +REM Support for testsuite profile processing +set CMD_LINE_PARAMS= +set TESTS_SPECIFIED=N + +REM each test module executes a different type of test +set API_TESTS=-Dapi.module +set BENCHMARK_TESTS=-Dbenchmark.module +set INTEGRATION_TESTS=-Dintegration.module -Dbasic.integration.tests -Dcompat.integration.tests -Dclustering.integration.tests -Dtimerservice.integration.tests +set SMOKE_TESTS=-Dintegration.module -Dsmoke.integration.tests +set SPEC_TESTS=-Dspec.module +set STRESS_TESTS=-Dstress.module +set DOMAIN_TESTS=-Ddomain.module + +set MVN=%1% +set GOAL=%2 +if "%GOAL%"=="" set GOAL=install + +REM process test directives before calling maven +call :processTestDirectives %GOAL% %3 %4 %5 %6 %7 %8 + +REM change to testsuite directory before executing mvn +cd %DIRNAME%\testsuite + +echo Calling ..\%MVN% %CMD_LINE_PARAMS% +call ..\%MVN% %CMD_LINE_PARAMS% + +cd %DIRNAME% + +REM Pause the batch script when maven terminates +if "%NOPAUSE%" == "" pause + +goto :EOF + +REM ****************************************************** +REM **** Function to process testsuite directives ******** +REM ****************************************************** +:processTestDirectives + +REM echo "Calling processTestDirectives %*" +:loop + +REM check if we have no more parameters to process +if "%1" == "" ( + if "%TESTS_SPECIFIED%" == "N" set "CMD_LINE_PARAMS=%CMD_LINE_PARAMS% %SMOKE_TESTS%" + goto :eof +) +REM Replace occurrences of directives with corresponding maven profiles +REM -DallTests +if "%1" == "-DallTests" ( + set "CMD_LINE_PARAMS=%CMD_LINE_PARAMS% %INTEGRATION_TESTS% %SPEC_TESTS% %API_TESTS% %DOMAIN_TESTS%" + set "TESTS_SPECIFIED=Y" + goto processed +) +REM -Dbenchmark-tests +if "%1" == "-Dbenchmark-tests" ( + set "CMD_LINE_PARAMS=%CMD_LINE_PARAMS% %BENCHMARK_TESTS%" + set "TESTS_SPECIFIED=Y" + goto processed +) +REM -Dsmoke-tests +if "%1" == "-Dsmoke-tests" ( + set "CMD_LINE_PARAMS=%CMD_LINE_PARAMS% %SMOKE_TESTS%" + set "TESTS_SPECIFIED=Y" + goto processed +) +REM -Dstress-tests +if "%1" == "-Dstress-tests" ( + set "CMD_LINE_PARAMS=%CMD_LINE_PARAMS% %STRESS_TESTS%" + set "TESTS_SPECIFIED=Y" + goto processed +) +REM pass through other params +set "CMD_LINE_PARAMS=%CMD_LINE_PARAMS% %1" + +:processed +shift +goto loop diff --git a/integration-tests.sh b/integration-tests.sh new file mode 100755 index 00000000000..6fc2c9e9798 --- /dev/null +++ b/integration-tests.sh @@ -0,0 +1,241 @@ +#!/bin/bash +### ====================================================================== ### +## ## +## This is the main entry point for the build system. ## +## ## +## Users should execute this file rather than 'mvn' to ensure ## +## the correct version is being used with the correct configuration. ## +## ## +### ====================================================================== ### + +# $Id: build.sh 105735 2010-06-04 19:45:13Z pgier $ + +PROGNAME=`basename $0` +DIRNAME=`dirname $0` +GREP="grep" +ROOT="/" + +# Ignore user's MAVEN_HOME if it is set +M2_HOME="" +MAVEN_HOME="" + +MAVEN_OPTS="$MAVEN_OPTS -Xmx512M" +export MAVEN_OPTS + +# the default search path for maven +MAVEN_SEARCH_PATH="\ + tools + tools/maven \ + tools/apache/maven \ + maven" + +# the default arguments +MVN_OPTIONS="-s ../tools/maven/conf/settings.xml" + +# Use the maximum available, or set MAX_FD != -1 to use that +MAX_FD="maximum" + +# OS specific support (must be 'true' or 'false'). +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) + cygwin=true + ;; + + Darwin*) + darwin=true + ;; +esac + +# +# integration testsuite support +# + +# +CMD_LINE_PARAMS= +TESTS_SPECIFIED="N" +# each test module executes a different type of test +. testsuite/groupDefs.sh + +# +# Helper to process command line for test directives +# - user-specified parameters (allTests, stress-tests, benchmark-tests) are translated into the appropriate +# maven build profiles and removed from the command line +# - smoke tests run with build +# +process_test_directives() { + + # for each parameter, check for testsuite directives + for param in $@ + do + case $param in + # if someone specified -DallTests, run all tests except benchmark and + -DallTests) + CMD_LINE_PARAMS="$CMD_LINE_PARAMS $INTEGRATION_TESTS $API_TESTS $SPEC_TESTS $DOMAIN_TESTS" + TESTS_SPECIFIED="Y" + ;; + # if someone specified -Dbenchmark-tests, run stress tests only + -Dbenchmark-tests) + CMD_LINE_PARAMS="$CMD_LINE_PARAMS $BENCHMARK_TESTS" + TESTS_SPECIFIED="Y" + ;; + # if someone specified -Dsmoke-tests, run stress tests only + -Dsmoke-tests) + CMD_LINE_PARAMS="$CMD_LINE_PARAMS $SMOKE_TESTS" + TESTS_SPECIFIED="Y" + ;; + # if someone specified -Dstress-tests, run stress tests only + -Dstress-tests) + CMD_LINE_PARAMS="$CMD_LINE_PARAMS $STRESS_TESTS" + TESTS_SPECIFIED="Y" + ;; + # pass through all other params + *) + CMD_LINE_PARAMS="$CMD_LINE_PARAMS $param" + ;; + esac + done + + # if no tests specified, run smoke tests + if [[ $TESTS_SPECIFIED == "N" ]]; then + CMD_LINE_PARAMS="$CMD_LINE_PARAMS $SMOKE_TESTS" + fi +} + +# +# Helper to complain. +# +die() { + echo "${PROGNAME}: $*" + exit 1 +} + +# +# Helper to complain. +# +warn() { + echo "${PROGNAME}: $*" +} + +# +# Helper to source a file if it exists. +# +maybe_source() { + for file in $*; do + if [ -f "$file" ]; then + . $file + fi + done +} + +search() { + search="$*" + for d in $search; do + MAVEN_HOME="`pwd`/$d" + MVN="$MAVEN_HOME/bin/mvn" + if [ -x "$MVN" ]; then + # found one + echo $MAVEN_HOME + break + fi + done +} + +# +# Main function. +# +main() { + # if there is a build config file. then source it + maybe_source "$DIRNAME/build.conf" "$HOME/.build.conf" + + # Increase the maximum file descriptors if we can + if [ $cygwin = "false" ]; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ]; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then + # use the system max + MAX_FD="$MAX_FD_LIMIT" + fi + + ulimit -n $MAX_FD + if [ $? -ne 0 ]; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query system maximum file descriptor limit: $MAX_FD_LIMIT" + fi + fi + + # try the search path + MAVEN_HOME=`search $MAVEN_SEARCH_PATH` + + # try looking up to root + if [ "x$MAVEN_HOME" = "x" ]; then + target="build" + _cwd=`pwd` + + while [ "x$MAVEN_HOME" = "x" ] && [ "$cwd" != "$ROOT" ]; do + cd .. + cwd=`pwd` + MAVEN_HOME=`search $MAVEN_SEARCH_PATH` + done + + # make sure we get back + cd $_cwd + + if [ "$cwd" != "$ROOT" ]; then + found="true" + fi + + # complain if we did not find anything + if [ "$found" != "true" ]; then + die "Could not locate Maven; check \$MVN or \$MAVEN_HOME." + fi + fi + + # make sure we have one + MVN=$MAVEN_HOME/bin/mvn + if [ ! -x "$MVN" ]; then + die "Maven file is not executable: $MVN" + fi + + # need to specify planet57/buildmagic protocol handler package + MVN_OPTS="-Djava.protocol.handler.pkgs=org.jboss.net.protocol" + + # setup some build properties + MVN_OPTS="$MVN_OPTS -Dbuild.script=$0" + + # change to the directory where the script lives so users are not forced + # to be in the same directory as build.xml + cd $DIRNAME/testsuite + + MVN_GOAL=$@ + if [ -z "$MVN_GOAL" ]; then + MVN_GOAL="install" + fi + + # process test directives before calling maven + process_test_directives $MVN_GOAL + MVN_GOAL=$CMD_LINE_PARAMS + + # export some stuff for maven + export MVN MAVEN_HOME MVN_OPTS MVN_GOAL + + echo "$MVN $MVN_OPTIONS $MVN_GOAL" + + # execute in debug mode, or simply execute + if [ "x$MVN_DEBUG" != "x" ]; then + /bin/sh -x $MVN $MVN_OPTIONS $MVN_GOAL + else + exec $MVN $MVN_OPTIONS $MVN_GOAL + fi + + cd $DIRNAME +} + +## +## Bootstrap +## + +main "$@" diff --git a/testsuite/README.txt b/testsuite/README.txt new file mode 100644 index 00000000000..6139e8ba353 --- /dev/null +++ b/testsuite/README.txt @@ -0,0 +1,141 @@ +AS7 testsuite +-------------- + +This directory contains the AS7 testsuite in its new format, as described in https://docspace.corp.redhat.com/docs/DOC-74146 + +Some points to note: + +1. Defined modules + +The testsuite has the following maven modules: + +* api - J2EE API tests +* benchmark - benchmarking integration tests +* domain - domain management integration tests (require special framework) +* integration - general integration tests +* spec - JBoss specific API tests +* stress - stress integration tests + +2. Defined directories and files + +testsuite/pom.xml - this has a header describing the purpose of the pom and what should and should not go in it +testsuite/integration/pom.xml - this has a header describing the purpose of the pom and what should and should not go in it + +For each logical grouping of tests X (e.g. basic integration, clustering, compat, smoke, timerservice,...), we use +the following locations: + +src/test/java/org/jboss/as/X - holds all sources for the X tests +src/test/resources/clustering - holds all resources for the X tests, which include resources for creating deployments + as well as Arquillian configuration files + +src/test/resources/test-configs/ - holds all files to be copied into custom configurations +src/test/scripts - holds ant build scripts for tasks which require execution of maven-antrun-plugin (e.g building configs) +src/test/xslt - holds XSLT stylesheets for making changes to AS XML-based configuration files + +3. Defined profiles + +maven build profiles are used to control: +* testsuite modules enabled +* test cases to be executed within a module + +3.1 testsuite modules +- for each module X, the profile is named X.module.profile and is enabled by -DX.module +- for example, integration.module.profile, enabled by -Dintegration.module, enables the integration module +- there are profiles for api, benchmark, domain, integration, spec and stress + +3.2 test cases to be executed +- for each logical set of test cases X in module Y, the profile is named X.Y.tests.profile and is enabled by -DX.Y.tests +- for example, the clustering tests are defined in profile clustering.integration.tests.profile, enabled by +-Dclustering.integration.tests + +- in the integration module, there are profiles for the following logical groups: +-- basic.integration.tests.profile +-- clustering.integration.tests.profile +-- smoke.integration.tests.profile +-- timerservice.integration.tests.profile +-- compat.integration.tests.profile + +As time goes on, more logical groupings of tests into profiles will emerge. These are required when a set of +tests needs to execute with custom server builds/configurations, server startup parameters or client side parameters. + +All of these are activated independently of each other, unlike the -P usage. + +4. Executing tests from the command line + +Tests are run using the build.sh and build.bat shell scripts in the main build directory. +At present, running the integration tests also runs the unit tests. + +# run the default module and its tests (-Dintegration.module -Dsmoke.integration.tests) +> ./build.sh clean test + +# run a selected set of modules and tests +> ./build.sh clean test -Dspec.module -Ddomain.module -Dintegration.module -Dbasic.integration.tests + +5. Building server configurations + +Whenever we fire a surefire execution, this causes Arquillian to start a server(s), execute tests and then shutdown +the server(s). Starting a server in multiple executions kills the logs of previous executions, and so it's recommended +to create a new named server configuration for each surefire execution. + +When we build a server configuration, we need to carry out several steps: +* make a copy of the original ${jboss.dist}, the server under test +* add/edit some configuration files (e.g. parametrizing the test cases for IP addresses, default databases and the like) +* copy in/delete some jars + +Building server configurations is achieved in two different ways, depending on requirements: + +5.1 maven-resources-plugin based build + +In the shared build of target/jbossas in testsuite/pom.xml, i'm creating the server configuration using +the maven-resources-plugin, but this requires two separate executions: +(i) one to copy the as 7 distro to a new directory (in generate-test-resources) +(ii) one to overwrite / add some files from src/resources/test-configs to the distribution copy +(in process-test-resources) + +This is effectively the way buildmagic used to build configurations. We have to include all of this stuff for every +configuration we build, which is a lot of lines of plugin configuration. + +Parametrization is achieved by XSLT transforms (changeIPAddresses, changeDatabase, addPortOffset) + +5.2 maven-ant-plugin based build + +For almost all other server configurations, maven-antrun-plugin is used, which is much more compact. + +A single ant target is called to construct the build of the server, using one or more of: +- copying jars from target/jdbcDrivers +- using test-configs and ant filtering to copy in updated files into the new configuration +- using XSLT stylesheets to automatically perform common editing tasks on the server's XML configuration files (e.g. IP +addresses changed with setIPAddresses.xsl, database subsystems configuration changed with changeDefaultdatabase.xsl, etc) + + +5.3 Sharing build configurations + +The testsuite pom in testsuite/pom.xml contains a surefire execution for building a server +configuration under target/jboss-as. This is used as a default version of the configuration which is inherited by +all modules and is used by tests not requiring a specially modified server configuration. +Corresponds to the all config in buildmagic. + +Configurations for tests which do require their own configuration are built individually in the profile +in question. For example, clustering.integration.tests.profile contains executions to build clustering-udp-0, +clustering-udp-1. + +6. Parametrization of testsuite runs + +The testsuite/pom.xml contains a properties section which should hold all globally defined properties required to run +the testsuite and their defaults (e.g. IP addresses, IP stack configs, database configs, etc). +These properties will then be inherited by all of the testsuite modules. + +At present, resource filtering is in the main powered by XSLT scripts, to allow substitution of properties specified +on the command line, such as: + +> mvn clean test -Dintegration.module -Dclustering.integration.tests -Dnode0=192.168.0.1 -Dnode1=192.168.0.2 + +7. Changing the database + +The prototype also contains a profile which shows how the default database for AS 7 can be changed. + +> mvn clean test -Dds=mysql51 + + will run the tests using MySQL version 5.1 instead of the default H2 in-memory database. + + diff --git a/testsuite/groupDefs.sh b/testsuite/groupDefs.sh new file mode 100644 index 00000000000..68c645fcef9 --- /dev/null +++ b/testsuite/groupDefs.sh @@ -0,0 +1,13 @@ + + +## Definitions of test groups; used in build and test scripts. + +API_TESTS="-Dapi.module" +BENCHMARK_TESTS="-Dbenchmark.module" +INTEGRATION_TESTS="-Dintegration.module -Dbasic.integration.tests -Dcompat.integration.tests -Dclustering.integration.tests -Dtimerservice.integration.tests" +SMOKE_TESTS="-Dintegration.module -Dsmoke.integration.tests" +SPEC_TESTS="-Dspec.module" +STRESS_TESTS="-Dstress.module" +DOMAIN_TESTS="-Ddomain.module" + +ALL_TESTS="$INTEGRATION_TESTS $API_TESTS $SPEC_TESTS $DOMAIN_TESTS" \ No newline at end of file diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml index 08ed13bc286..a505bb46830 100644 --- a/testsuite/integration/pom.xml +++ b/testsuite/integration/pom.xml @@ -21,6 +21,66 @@ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. --> + + + @@ -51,18 +111,15 @@ ${basedir}/src/test/xslt - + org.jboss.as jboss-as-webservices-tests-integration ${project.version} - - - org.jboss.as - jboss-as-arquillian-container-managed test + org.jboss.as jboss-as-demos-legacy @@ -78,18 +135,6 @@ - - - src/test/resources - - - src/test/java - - *.java - - - - @@ -117,165 +162,713 @@ -Xmx512m -XX:MaxPermSize=129m ${ip.server.stack} - - - - default-test - - test - - none - - + + + + default-test + + test + + none + + - - - - maven-clean-plugin - 2.4.1 - - - clean-old-timers - compile - - clean - - - true - - - target/jbossas/standalone/data/ - - - - - - + + + + + + + - smoke-tests + basic.integration.tests.profile - true - !allTests + basic.integration.tests + true + + + + + + + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + build-basic-integration.server + none + + run + + + + + + + + + + + + + prepare-jars-basic-integration.server + process-test-resources + + run + + + + + + + + + + + + + + + + + + org.apache.maven.plugins maven-surefire-plugin + + + + default-test + + test + + none + + + - smoke-tests + basic-integration-default.surefire test test - false - true - true + + + org/jboss/as/test/as835/**/*TestCase.java + org/jboss/as/test/as859/**/*TestCase.java + org/jboss/as/test/beanvalidation/**/*TestCase.java + org/jboss/as/test/common/**/*TestCase.java + org/jboss/as/test/datasourcedefinition/**/*TestCase.java + org/jboss/as/test/deployment/**/*TestCase.java + org/jboss/as/test/ejb/**/*TestCase.java + org/jboss/as/test/injection/**/*TestCase.java + org/jboss/as/test/interceptors/**/*TestCase.java + org/jboss/as/test/jaxb/**/*TestCase.java + org/jboss/as/test/jaxrs/**/*TestCase.java + org/jboss/as/test/jpa/**/*TestCase.java + org/jboss/as/test/jsf/**/*TestCase.java + org/jboss/as/test/mdb/**/*TestCase.java + org/jboss/as/test/messaging/**/*TestCase.java + org/jboss/as/test/osgi/**/*TestCase.java + org/jboss/as/test/pojo/**/*TestCase.java + org/jboss/as/test/sar/**/*TestCase.java + org/jboss/as/test/security/**/*TestCase.java + org/jboss/as/test/transactionmanager/**/*TestCase.java + org/jboss/as/test/webejb/**/*TestCase.java + org/jboss/as/test/websecurity/**/*TestCase.java + org/jboss/as/test/weld/**/*TestCase.java + org/jboss/as/test/weldejb/**/*TestCase.java + org/jboss/as/test/ws/**/*TestCase.java + org/jboss/as/test/wsejb/**/*TestCase.java + org/jboss/as/test/xerces/**/*TestCase.java + + + + org/jboss/as/test/messaging/**/*TestCase.java + + org/jboss/as/test/as1675/**/*TestCase.java + org/jboss/as/test/ws/**/*TestCase.java + org/jboss/as/test/wsejb/**/*TestCase.java + org/jboss/as/test/xerces/ws/**/*TestCase.java + org/jboss/as/test/mdb/**/*TestCase.java + org/jboss/as/test/ejb/async/**/*TestCase.java + org/jboss/as/test/ejb/entity/**/*TestCase.java + + + + + + arquillian.xml + jboss + + standalone.xml + + + + + ${project.basedir}/src/test/resources + + + + tests-basic-integration-default + + + + + basic-integration-preview.surefire + none + + test + + + - org/jboss/as/test/smoke/**/*TestCase.java + + org/jboss/as/test/messaging/**/*TestCase.java + + org/jboss/as/test/as1675/**/*TestCase.java + org/jboss/as/test/ws/**/*TestCase.java + org/jboss/as/test/wsejb/**/*TestCase.java + org/jboss/as/test/exerces/ws/**/*TestCase.java + org/jboss/as/test/mdb/**/*TestCase.java + org/jboss/as/test/ejb/async/**/*TestCase.java + org/jboss/as/test/ejb/entity/**/*TestCase.java none + + + + + arquillian.xml + jboss + + + standalone-preview.xml + + + + + ${project.basedir}/src/test/resources + + + + tests-basic-integration-preview + + + + + + + + + + + + + + + + + clustering.integration.tests.profile + + + clustering.integration.tests + true + + + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + build-clustering.server + process-test-resources + + run + + + + + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + + default-test + + test + + none + + + + + tests-clustering-single-node.surefire + test + + test + + + + + org/jboss/as/test/clustering/web/*TestCase.java + + + + + + clustering-arquillian.xml + clustering-udp-single + + + standalone.xml + + + + + ${project.basedir}/src/test/resources/clustering + + + + tests-clustering-single-node + + + + + + tests-clustering-multi-node.surefire + test + + test + + + + + org/jboss/as/test/clustering/ClusteredWebTestCase.java + + + + + + clustering-arquillian.xml + clustering-udp + + + standalone-ha.xml + + + + + ${project.basedir}/src/test/resources/clustering + + + + tests-clustering-multi-node + + + + + + + + + - integration-tests + compat.integration.tests.profile - allTests + compat.integration.tests + true + + + 3.6.6.Final + + + + + org.hibernate + hibernate-core + ${version.org.hibernate3} + test + + + org.hibernate + hibernate-entitymanager + ${version.org.hibernate3} + test + + + org.hibernate + hibernate-infinispan + ${version.org.hibernate3} + test + + + org.hibernate + hibernate-envers + ${version.org.hibernate3} + test + + + org.hibernate + hibernate-commons-annotations + 3.2.0.Final + test + + + org.slf4j + slf4j-simple + 1.6.1 + test + + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + build-compat.server + process-test-resources + + run + + + + + + + + + + + + + prepare-jars-compat.server + process-test-resources + + run + + + + + + + + + + + + + + + + + org.apache.maven.plugins maven-surefire-plugin + + + + default-test + + test + + none + + + - integration + tests-compat.surefire test test - false - 900 + - org/jboss/as/test/smoke/**/*TestCase.java - org/jboss/as/test/integration/**/*TestCase.java + org/jboss/as/test/compat/**/*TestCase.java - - **/*SecondTestCase.java - + + + + + compat-arquillian.xml + jboss + + + + + + + ${project.basedir}/src/test/resources/compat + + + + tests-compat + + + + - - second-run + smoke.integration.tests.profile - allTests + smoke.integration.tests + true + + + + + + org.jboss.as + jboss-as-webservices-tests-integration + ${project.version} + test + + + org.jboss.as + jboss-as-demos-legacy + ${project.version} + test + + + org.jboss.as + jboss-as-demos-internals + ${project.version} + test + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + build-smoke.server + process-test-resources + + run + + + + + + + + + + + + + + org.apache.maven.plugins maven-surefire-plugin + + + + default-test + + test + + none + + + - seconds-run-tests + smoke-default.surefire test test - false - true - true + - org/jboss/as/test/integration/**/*SecondTestCase.java + org/jboss/as/test/smoke/**/*TestCase.java - none + org/jboss/as/test/smoke/embedded/demos/client/jms/**/*.java + org/jboss/as/test/smoke/embedded/demos/client/messaging/**/*.java + org/jboss/as/test/smoke/embedded/demos/jms/**/*.java + org/jboss/as/test/smoke/embedded/demos/messaging/**/*.java + org/jboss/as/test/smoke/embedded/demos/ws/**/*.java + + + + + smoke-arquillian.xml + jboss + + + standalone.xml + + + + + + ${project.basedir}/src/test/resources/smoke + + + + tests-smoke-default + + + + + smoke-preview.surefire + none + + test + + + + + **/org/jboss/as/test/smoke/embedded/demos/client/jms/**/*.java + **/org/jboss/as/test/smoke/embedded/demos/client/messaging/**/*.java + **/org/jboss/as/test/smoke/embedded/demos/jms/**/*.java + **/org/jboss/as/test/smoke/embedded/demos/messaging/**/*.java + **/org/jboss/as/test/smoke/embedded/demos/ws/**/*.java + + + + + + smoke-arquillian.xml + jboss + + + standalone-preview.xml + + + + + + ${project.basedir}/src/test/resources/smoke + + + + tests-smoke-preview + + + + + + + - clustering.integration.tests.profile + timerservice.integration.tests.profile - allTests + timerservice.integration.tests + true @@ -286,12 +879,14 @@ --> + + org.apache.maven.plugins maven-antrun-plugin - build-clustering.server + build-timerservice.server process-test-resources run @@ -299,8 +894,8 @@ - - + + @@ -308,9 +903,31 @@ - + + + org.apache.maven.plugins + maven-clean-plugin + 2.4.1 + + + clean-old-timers.server + compile + + clean + + + true + + + target/jbossas/standalone/data + + + + + + + + org.apache.maven.plugins maven-surefire-plugin @@ -325,80 +942,86 @@ none - + - tests-clustering-single-node.surefire + timerservice-first-run.surefire test test - false - + - org/jboss/as/test/clustering/single/**/*TestCase.java + org/jboss/as/test/timerservice/**/*TestCase.java + + org/jboss/as/test/timerservice/**/*SecondTestCase.java + + - clustering-arquillian.xml - clustering-udp-single + timerservice-arquillian.xml + jboss + - - standalone.xml + standalone-preview.xml + - ${project.basedir}/src/test/resources/clustering + ${project.basedir}/src/test/resources/timerservice - tests-clustering-single-node + - - tests-clustering-multi-node.surefire + timerservice-second-run.surefire test test - false - + - org/jboss/as/test/clustering/cluster/**/*TestCase.java + org/jboss/as/test/timerservice/**/*SecondTestCase.java + + none + - clustering-arquillian.xml - clustering-udp-single + timerservice-arquillian.xml + jboss + + standalone-preview.xml - standalone-ha.xml - ${project.basedir}/src/test/resources/clustering + ${project.basedir}/src/test/resources/timerservice - tests-clustering-multi-node + tests-timerservice + - diff --git a/testsuite/pom.xml b/testsuite/pom.xml index 3d8758ead06..969b552b1b4 100644 --- a/testsuite/pom.xml +++ b/testsuite/pom.xml @@ -21,6 +21,35 @@ ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. --> + + + @@ -38,9 +67,13 @@ JBoss Application Server Test Suite: Aggregator + + + + pom - + @@ -88,16 +121,34 @@ 8.7 + + + + + org.jboss.arquillian + arquillian-bom + ${version.arquillian_core} + import + pom + + + org.codehaus.mojo + xml-maven-plugin + ${version.xml.maven.plugin} + + + + org.jboss.as jboss-as-build pom - - org.apache.felix - org.osgi.foundation - + + org.apache.felix + org.osgi.foundation + @@ -110,35 +161,38 @@ - org.jboss.spec.javax.annotation - jboss-annotations-api_1.1_spec + org.jboss.spec.javax.annotation + jboss-annotations-api_1.1_spec - org.jboss.arquillian.container - arquillian-container-test-api - test + org.jboss.arquillian.junit + arquillian-junit-container + test - org.jboss.arquillian.junit - arquillian-junit-container - test + org.jboss.as + jboss-as-arquillian-container-managed + ${version.arquillian_as7} - junit - junit - test + junit + junit + test - + org.apache.maven.plugins maven-dependency-plugin - + + copy-annotations-endorsed copy @@ -162,13 +216,15 @@ + + org.apache.maven.plugins maven-resources-plugin - + - copy-resources - process-test-classes + build-jbossas.server + generate-test-resources copy-resources @@ -188,78 +244,358 @@ + + + + org.codehaus.mojo + xml-maven-plugin + + + update-ip-addresses-jbossas.server + process-test-resources + + transform + + + + + ${basedir}/target/jbossas/standalone/configuration + ${basedir}/target/jbossas/standalone/configuration + ${xslt.scripts.dir}/changeIPAddresses.xsl + + + standalone.xml + standalone-preview.xml + standalone-xts.xml + + + + managementIPAddress + ${node0} + + + publicIPAddress + ${node0} + + + + + + + + + + net.sf.saxon + saxon + ${version.saxon} + + + + + org.apache.maven.plugins maven-surefire-plugin false - - false - - - jboss.options - ${surefire.system.args} - - - java.util.logging.manager - org.jboss.logmanager.LogManager - - - jboss.home - ${basedir}/target/jbossas - - - module.path - ${jboss.home}/modules - - + + ${surefire.test.failure.ignore} true + + ${surefire.system.args} + org.jboss.logmanager.LogManager + ${basedir}/target/jbossas + ${jboss.dist}/modules + + + + - integration + all-modules.module.profile - true + + all-modules + + api + benchmark + domain integration + spec + stress + - allTests + api.module.profile - - allTests - + + api.module + + + + api + + + + + benchmark.module.profile + + + benchmark.module + + + + benchmark + + + + + domain.module.profile + + + domain.module + - - false - false - - - integration - compat domain - jpda - - - jpda - - - - -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y - + integration.module.profile + + + integration.module + + + + integration + + + + + spec.module.profile + + + spec.module + + + + spec + - + + stress.module.profile + + + stress.module + + + + stress + + + + + + jpda.profile + + + jpda + + + + -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y + + + + + + + + ds.profile + + + ds + + + + + jdbcdrivers + ${ds.db} + ${ds.jdbc.driver.version} + + + + + JBoss QA repository + http://nexus.qa.jboss.com:8081/nexus/content/repositories/thirdparty + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-jdbc-jars.database + + copy + + + true + + + + jdbcdrivers + ${ds.db} + ${ds.jdbc.driver.version} + ${ds.jdbc.driver.jar} + + + ${basedir}/target/jdbcDrivers + true + + + + + + + org.codehaus.mojo + xml-maven-plugin + + + update-datasource.server + process-test-resources + + transform + + + + + ${basedir}/target/jbossas/standalone/configuration + ${basedir}/target/jbossas/standalone/configuration + ${xslt.scripts.dir}/changeDatabase.xsl + + standalone.xml + standalone-preview.xml + standalone-xts.xml + + + + ds.jdbc.driver.jar + ${ds.jdbc.driver.jar} + + + ds.jdbc.url + ${ds.jdbc.url} + + + ds.jdbc.user + ${ds.jdbc.user} + + + ds.jdbc.pass + ${ds.jdbc.pass} + + + + + + + + + + net.sf.saxon + saxon + ${version.saxon} + + + + + + + org.apache.maven.plugins + maven-resources-plugin + + + deploy-database-driver.server + generate-test-resources + + copy-resources + + + ${basedir}/target/jbossas/standalone/deployments + true + + + ${basedir}/target/jdbcDrivers + + ${ds.db}-jdbc-driver.jar + + + + + + + + + + + + + + + mysql51.profile + + + ds + mysql51 + + + + mysql + com.mysql.jdbc.Driver + jdbc:mysql://localhost:3306/test + 5.1.17 + + + +