The testsuite build.xml has been refactored to allow automated testing of multiple server configurations. The testsuite build scripts include facilities for customizing server configurations and starting and stopping these configurations. Most notably, this improvement allows clustering unit tests to be completely automated.
Tests are now grouped in to targets according to which server configuration they require. Here is a summary of the targets called by the top-level tests target:
Tests requiring the minimal configuration.
Runs the all configuration. Most tests can go here.
Runs the default configuration with a security manager ( run.sh -policy server.policy)
Creates two custom configurations based on the all configuration. Tests run in this target should extend JBossClusteredTestCase to access cluster information.
Creates and runs a config with Tomcat SSL enabled.
Creates and runs a config with SSO enabled.
Creates and runs two nodes with SSO enabled.
The testsuite build scripts have been reorganized. The code generation and jar targets have been extracted to their own files in testsuite/imports. These targets are imported for use by the main build.xml file. Also, it is important to note that module and library definitions are in different files.
Below is a summary of the build files:
testsuite/build.xml}Contains test targets. This file imports the macros and targets from the files below.
testsuite/imports/server-config.xml}Contains macros for creating and starting different server configurations.
tools/etc/buildmagic/modules.xml}Similar to modules.ent, this file contains the Ant classpath definitions for each JBoss module.
tools/etc/buildmagic/thirdparty.xml}Like thirdparty.ent, this contains the Ant classpath definitions for each third party library.
testsuite/imports/code-generation.xml}Xdoclet code generation. This file has the following targets: compile-bean-source, compile-mbean-sources, compile-xmbean-dds, compile-proxycompiler-bean-source.
testsuite/imports/test-jars.xml}All <jar> tasks. The top-level jars target calls each module's _jar- target (eg: _jar-aop).