summaryrefslogtreecommitdiff
path: root/java/common.xml
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2008-07-15 17:06:16 +0000
committerMartin Ritchie <ritchiem@apache.org>2008-07-15 17:06:16 +0000
commit6559188d55660d876517cf4dacc270fe4ed5b533 (patch)
tree70411f085344b513e5c97537e4442efcd5664f99 /java/common.xml
parentc4198fca48124f3adeb14792fed0b7246bc356f4 (diff)
downloadqpid-python-6559188d55660d876517cf4dacc270fe4ed5b533.tar.gz
QPID-940,QPID-594,QPID-805,QPID-826 : Updated the client exception handling so that exceptions are not lost. In performing the changes I noted that the AMQStateManager is only used for connection creation in the 08/09 codepath. Now this may be due to the fact that we don't currently need to wait on any other states. We need to improve our testing of error conditions for all protcol versions.
Changes Summary: The MethodHandlers had their AMQStateManager parameters swapped for AMQSession as that is what they all cared about. The BlockingMethodFrameListener was used as a basis to create a generic BlockingWaiter which is now used by StateWaiter, There is probably scope to refactor the AMQStateManager and the parts of the AMQProtocolHandler that deal with the _frameListeners into a generic class but that can be looked at as part of a wider client refactor. Additionally tests were updated such as SimpleACLTest and ConnectionTest as they were expecting JMSExceptions from the constructor but the JMS API does not demand that and AMQExceptions are now correctly being thrown. The SimpleACLTest also required a change to AMQSession. The test calls send which will cause the connection to be closed asynchrously due to a permission violation. As this exception is not expected and is asynchorous to the client code it cannot be directly thrown. The solution is to record this exception in the AMQStateManager, it can tell that there are no waiters for the exception so it can record the value.(Potential exists to alert if the exception is overwritten but I don't think this is required right now) When the AMQSession checks that the connection is closed it is then possible to check if the current State is CLOSED and if we have an exception sitting in the AMQStateManager. If all these are true we can attach the AMQStateManager exception to the IllegalState Exception that is normally thrown when the Session is closed. This maintains JMS Compliance and allows us to discover the cause of the failure, SimpleACLTest was updated by removing the IllegalState catch section that was causing the test to silently fail. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@676978 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common.xml')
-rw-r--r--java/common.xml16
1 files changed, 14 insertions, 2 deletions
diff --git a/java/common.xml b/java/common.xml
index 6bed2afbc9..8606a24edb 100644
--- a/java/common.xml
+++ b/java/common.xml
@@ -121,7 +121,7 @@
${build.bin}
- ant test [ -Dtest=&lt;pattern&gt; ] [ report ]
+ ant test [ -Dtest=&lt;pattern&gt; ] [-Dprofile=&lt;profile&gt;] [ report ]
Execute unit tests and place the output in the build results
directory:
@@ -152,7 +152,9 @@
default to running all available tests for the project or module
depending on the current working directory.
- Finally it can be useful to append the report target in order to
+ Test Reports
+
+ It can be useful to append the report target in order to
generate an html summary of the tests that were just run. The
following command will run both the MongooseTest and GooseTest
test cases and generate an html summary of the results:
@@ -162,6 +164,16 @@
See the documentation for the "ant report" target for more details
on the generated report.
+ Test Profiles
+
+ There are a number of profiles defined for running the test suite.
+ These test profiles define how the test should be run. If the test
+ profile is not specified then 'default.testprofile' is utilised.
+ This runs the system tests against the Java InVM broker. Additional
+ test profiles exists as follows:
+
+ cpp : Runs against the built cpp tree broker.
+
ant report
The report target will generate an html summary of the current