Overview
The smoke test matrix tests a Messaging release against a configurable array of JBoss application server instances.
The matrix is designed to build from scratch the most important artifacts shipped with a release (the Messaging server service archive, the scoped service archive and the client-side jar) and test them in conditions as close as possible to real use scenarios. This involves creating a messaging configuration based on a "clean" default JBoss AS server configuration from scratch, starting the server and executing from a separate VM all examples available in "docs". Examples use the newly create client jar created by in their classpath.
In a single run, the smoke suite tests the server installation script, the server deployment, the fact that the client jar works with the whole array of JBoss servers, and the fact that all examples work.
The smoke tests detect and display WARN/ERROR server log statements. The presence of such long entries could be a sign for potential trouble, even if the test passes.
Use
1. Update $JBOSS_MESSAGING_HOME/tests/smoke/smoke.properties to contain valid local paths to the server instances to test against.
Example:
# # Smoke test configuration # jboss400.home=C:\\work\\src\\jboss-4.0.0-src\\build\\output\\jboss-4.0.0 jboss401.home=C:\\work\\src\\jboss-4.0.1-src\\build\\output\\jboss-4.0.1 jboss401sp1.home=C:\\work\\src\\jboss-4.0.1sp1-src\\build\\output\\jboss-4.0.1sp1 jboss402.home=C:\\work\\src\\jboss-4.0.2-src\\build\\output\\jboss-4.0.2 jboss403.home=C:\\work\\src\\jboss-4.0.3-src\\build\\output\\jboss-4.0.3 jboss403SP1.home=C:\\work\\src\\jboss-4.0.3SP1-src\\build\\output\\jboss-4.0.3SP1 ...
2. Check smoke-all target. Make sure all antcalls corresponding to different server versions are enabled.
3. Make sure all examples you want to run are configured in the smoke target (under "List your example here: " comment)
4. Run the smoke test:
cd $JBOSS_MESSAGING_HOME/tests/smoke/ ant
To validate a release, all tests must pass. A complete smoke test generates a test report in ./output/smoke-test-report.java-<version>.html
Advanced use
Starting and stopping
In case that one smoke test fails, the process just exits, leaving the JBoss instance the tests has been executed against running. The messaging server configuration created for testing is also left untouched.
To stop the instance:
ant stop
To clean the test server configuration:
ant clean
Preventing specific examples from running
It is possible to configure a specific smoke test to run only with a few examples (by default, each smoke test runs all available examples). For example, to prevent a specific smoke test from running the MDB and Stateless example, this is how you should configure the corresponding antcall:
<target name="smoke-all"> ... <antcall target="smoke"> <param name="jboss.home" value="${jboss403SP1.home}"/> <param name="run.mdb.example" value="false"/> <param name="run.stateless.example" value="false"/> </antcall> ... </target>
Back to JBossMessaging Development
Comments