You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2016/11/14 18:27:17 UTC

qpid-interop-test git commit: QPIDIT-48: Added --sender and --receiver options to reamining tests; also some minor code clean-up

Repository: qpid-interop-test
Updated Branches:
  refs/heads/master fc408e3b1 -> 1c1ec1725


QPIDIT-48: Added --sender and --receiver options to reamining tests; also some minor code clean-up


Project: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/commit/1c1ec172
Tree: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/tree/1c1ec172
Diff: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/diff/1c1ec172

Branch: refs/heads/master
Commit: 1c1ec17258df462bfc3f674fd815c96c0bb99fb8
Parents: fc408e3
Author: Kim van der Riet <kp...@apache.org>
Authored: Mon Nov 14 13:26:56 2016 -0500
Committer: Kim van der Riet <kp...@apache.org>
Committed: Mon Nov 14 13:26:56 2016 -0500

----------------------------------------------------------------------
 .../src/qpidit/jms_messages_test/Receiver.hpp   |  2 +-
 src/python/qpid_interop_test/amqp_dtx_test.py   |  2 +-
 .../qpid_interop_test/amqp_features_test.py     | 29 ++++++++------
 .../amqp_large_content_test.py                  | 38 ++++++++++--------
 src/python/qpid_interop_test/amqp_types_test.py | 27 ++++++-------
 src/python/qpid_interop_test/jms_dtx_test.py    |  8 ++--
 .../qpid_interop_test/jms_hdrs_props_test.py    | 42 ++++++++++++--------
 .../qpid_interop_test/jms_messages_test.py      | 36 +++++++++--------
 8 files changed, 103 insertions(+), 81 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/1c1ec172/shims/qpid-proton-cpp/src/qpidit/jms_messages_test/Receiver.hpp
----------------------------------------------------------------------
diff --git a/shims/qpid-proton-cpp/src/qpidit/jms_messages_test/Receiver.hpp b/shims/qpid-proton-cpp/src/qpidit/jms_messages_test/Receiver.hpp
index c26d789..adfe76e 100644
--- a/shims/qpid-proton-cpp/src/qpidit/jms_messages_test/Receiver.hpp
+++ b/shims/qpid-proton-cpp/src/qpidit/jms_messages_test/Receiver.hpp
@@ -77,7 +77,7 @@ namespace qpidit
                 if (fillFlag) {
                     oss << std::setw(sizeof(T)*2) << std::setfill('0');
                 }
-                oss << (sizeof(T) == 1 ? (int)val & 0xff : sizeof(T) == 2 ? val & 0xffff : sizeof(T) == 4 ? val & 0xffffffff : val);
+                oss << (sizeof(T) == 1 ? (int)val & 0xff : sizeof(T) == 2 ? val & 0xffff : /*sizeof(T) == 4 ? val & 0xffffffff :*/ val);
                 return oss.str();
             }
         };

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/1c1ec172/src/python/qpid_interop_test/amqp_dtx_test.py
----------------------------------------------------------------------
diff --git a/src/python/qpid_interop_test/amqp_dtx_test.py b/src/python/qpid_interop_test/amqp_dtx_test.py
index 3c02f1e..7e4a644 100755
--- a/src/python/qpid_interop_test/amqp_dtx_test.py
+++ b/src/python/qpid_interop_test/amqp_dtx_test.py
@@ -101,7 +101,7 @@ if __name__ == '__main__':
     #print 'ARGS:', ARGS # debug
 
     # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.broker)
+    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.sender)
     if CONNECTION_PROPS is None:
         print 'WARNING: Unable to get connection properties - unknown broker'
         BROKER = 'unknown'

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/1c1ec172/src/python/qpid_interop_test/amqp_features_test.py
----------------------------------------------------------------------
diff --git a/src/python/qpid_interop_test/amqp_features_test.py b/src/python/qpid_interop_test/amqp_features_test.py
index fc4cd94..83f140f 100755
--- a/src/python/qpid_interop_test/amqp_features_test.py
+++ b/src/python/qpid_interop_test/amqp_features_test.py
@@ -45,7 +45,7 @@ class AmqpFeaturesTestCase(unittest.TestCase):
     Abstract base class for AMQP message features test cases
     """
 
-    def run_test(self, broker_addr, test_type, send_shim, receive_shim):
+    def run_test(self, sender_addr, receiver_addr, test_type, send_shim, receive_shim):
         """
         Run this test by invoking the shim send method to send the test values, followed by the shim receive method
         to receive the values. Finally, compare the sent values with the received values.
@@ -54,11 +54,11 @@ class AmqpFeaturesTestCase(unittest.TestCase):
         receive_queue_name = 'jms.queue.qpid-interop.amqp_features_test.%s' % receive_shim.NAME
 
         # Start the receive shim first (for queueless brokers/dispatch)
-        receiver = receive_shim.create_receiver(broker_addr, receive_queue_name, test_type, '0')
+        receiver = receive_shim.create_receiver(receiver_addr, receive_queue_name, test_type, '0')
         receiver.start()
 
         # Start the send shim
-        sender = send_shim.create_sender(broker_addr, send_queue_name, test_type, dumps([None]))
+        sender = send_shim.create_sender(sender_addr, send_queue_name, test_type, dumps([None]))
         sender.start()
 
         # Wait for both shims to finish
@@ -69,20 +69,22 @@ class AmqpFeaturesTestCase(unittest.TestCase):
             self.check_connection_property_test_results(sender.get_return_object(), receiver.get_return_object())
 
     def check_connection_property_test_results(self, sender_return_obj, receiver_return_obj):
+        """Check received connection property for pass/fail of test"""
         self.check_connection_properties(sender_return_obj[1], 'sender')
         self.check_connection_properties(receiver_return_obj[1], 'receiver')
-    
+
     def check_connection_properties(self, connection_properties, source):
+        """Check an individual connection property for pass/fail"""
         keys = connection_properties.keys()
         if 'product' not in keys:
             self.fail('Broker connection properties (from %s) missing "product" key' % source)
         if 'version' not in keys:
             self.fail('Broker connection properties (from %s) missing "version" key' % source)
         for key in keys:
-            assert(len(connection_properties[key]) > 0, 'Property "%s" (from %s) is empty' % (key, source))
+            self.assertTrue(len(connection_properties[key]) > 0, msg='Property "%s" (from %s) is empty' % (key, source))
 
 
-def create_connection_property_test_class(broker_addr, send_shim, receive_shim):
+def create_connection_property_test_class(send_shim, receive_shim):
     """
     Class factory function which creates new subclasses to AmqpFeaturesTestCase.
     """
@@ -95,7 +97,7 @@ def create_connection_property_test_class(broker_addr, send_shim, receive_shim):
         """Function which creates a new test method in class cls"""
 
         def inner_test_method(self):
-            self.run_test(self.broker_addr, 'connection_property', send_shim, receive_shim)
+            self.run_test(self.sender_addr, self.receiver_addr, 'connection_property', send_shim, receive_shim)
 
         inner_test_method.__name__ = 'test_connection_properties_%s->%s' % (send_shim.NAME, receive_shim.NAME)
         setattr(cls, inner_test_method.__name__, inner_test_method)
@@ -104,7 +106,8 @@ def create_connection_property_test_class(broker_addr, send_shim, receive_shim):
     class_dict = {'__name__': class_name,
                   '__repr__': __repr__,
                   '__doc__': 'Test case for AMQP connection properties',
-                  'broker_addr': broker_addr}
+                  'sender_addr': ARGS.sender,
+                  'receiver_addr': ARGS.receiver}
     new_class = type(class_name, (AmqpFeaturesTestCase,), class_dict)
     add_test_method(new_class, send_shim, receive_shim)
     return new_class
@@ -137,8 +140,10 @@ class TestOptions(object):
     def __init__(self):
         parser = argparse.ArgumentParser(description='Qpid-interop AMQP client interoparability test suite '
                                          'for AMQP messaging features')
-        parser.add_argument('--broker', action='store', default='localhost:5672', metavar='BROKER:PORT',
-                            help='Broker against which to run test suite.')
+        parser.add_argument('--sender', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node to which test suite will send messages.')
+        parser.add_argument('--receiver', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node from which test suite will receive messages.')
         parser.add_argument('--exclude-shim', action='append', metavar='SHIM-NAME',
                             help='Name of shim to exclude. Supported shims:\n%s' % sorted(SHIM_MAP.keys()))
         self.args = parser.parse_args()
@@ -152,7 +157,7 @@ if __name__ == '__main__':
     #print 'ARGS:', ARGS # debug
 
     # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.broker)
+    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.sender)
     if CONNECTION_PROPS is None:
         print 'WARNING: Unable to get connection properties - unknown broker'
         BROKER = 'unknown'
@@ -181,7 +186,7 @@ if __name__ == '__main__':
             SHIM_MAP.pop(shim)
     # Create test classes dynamically
     for shim_name in SHIM_MAP.keys():
-        test_case_class = create_connection_property_test_class(ARGS.broker, SHIM_MAP[shim_name], SHIM_MAP[shim_name])
+        test_case_class = create_connection_property_test_class(SHIM_MAP[shim_name], SHIM_MAP[shim_name])
         TEST_SUITE.addTest(unittest.makeSuite(test_case_class))
 
     # Finally, run all the dynamically created tests

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/1c1ec172/src/python/qpid_interop_test/amqp_large_content_test.py
----------------------------------------------------------------------
diff --git a/src/python/qpid_interop_test/amqp_large_content_test.py b/src/python/qpid_interop_test/amqp_large_content_test.py
index 0bf97a4..7130203 100755
--- a/src/python/qpid_interop_test/amqp_large_content_test.py
+++ b/src/python/qpid_interop_test/amqp_large_content_test.py
@@ -69,7 +69,7 @@ class AmqpLargeContentTestCase(unittest.TestCase):
     Abstract base class for AMQP large content test cases
     """
 
-    def run_test(self, broker_addr, amqp_type, test_value_list, send_shim, receive_shim):
+    def run_test(self, sender_addr, receiver_addr, amqp_type, test_value_list, send_shim, receive_shim):
         """
         Run this test by invoking the shim send method to send the test values, followed by the shim receive method
         to receive the values. Finally, compare the sent values with the received values.
@@ -83,12 +83,12 @@ class AmqpLargeContentTestCase(unittest.TestCase):
                          (amqp_type, send_shim.NAME, receive_shim.NAME)
 
             # Start the receive shim first (for queueless brokers/dispatch)
-            receiver = receive_shim.create_receiver(broker_addr, queue_name, amqp_type,
+            receiver = receive_shim.create_receiver(receiver_addr, queue_name, amqp_type,
                                                     str(self.get_num_messages(amqp_type, test_value_list)))
             receiver.start()
 
             # Start the send shim
-            sender = send_shim.create_sender(broker_addr, queue_name, amqp_type,
+            sender = send_shim.create_sender(sender_addr, queue_name, amqp_type,
                                              dumps(test_value_list))
             sender.start()
 
@@ -132,7 +132,7 @@ class AmqpLargeContentTestCase(unittest.TestCase):
             return tot_len
         return None
 
-def create_testcase_class(broker_name, types, broker_addr, amqp_type, shim_product):
+def create_testcase_class(amqp_type, shim_product):
     """
     Class factory function which creates new subclasses to AmqpTypeTestCase.
     """
@@ -144,10 +144,15 @@ def create_testcase_class(broker_name, types, broker_addr, amqp_type, shim_produ
     def add_test_method(cls, send_shim, receive_shim):
         """Function which creates a new test method in class cls"""
 
-        @unittest.skipIf(types.skip_test(amqp_type, broker_name),
-                         types.skip_test_message(amqp_type, broker_name))
+        @unittest.skipIf(TYPES.skip_test(amqp_type, BROKER),
+                         TYPES.skip_test_message(amqp_type, BROKER))
         def inner_test_method(self):
-            self.run_test(self.broker_addr, self.amqp_type, self.test_value_list, send_shim, receive_shim)
+            self.run_test(self.sender_addr,
+                          self.receiver_addr,
+                          self.amqp_type,
+                          self.test_value_list,
+                          send_shim,
+                          receive_shim)
 
         inner_test_method.__name__ = 'test_%s_%s->%s' % (amqp_type, send_shim.NAME, receive_shim.NAME)
         setattr(cls, inner_test_method.__name__, inner_test_method)
@@ -157,8 +162,9 @@ def create_testcase_class(broker_name, types, broker_addr, amqp_type, shim_produ
                   '__repr__': __repr__,
                   '__doc__': 'Test case for AMQP 1.0 simple type \'%s\'' % amqp_type,
                   'amqp_type': amqp_type,
-                  'broker_addr': broker_addr,
-                  'test_value_list': types.get_test_values(amqp_type)}
+                  'sender_addr': ARGS.sender,
+                  'receiver_addr': ARGS.receiver,
+                  'test_value_list': TYPES.get_test_values(amqp_type)}
     new_class = type(class_name, (AmqpLargeContentTestCase,), class_dict)
     for send_shim, receive_shim in shim_product:
         add_test_method(new_class, send_shim, receive_shim)
@@ -194,8 +200,10 @@ class TestOptions(object):
     def __init__(self):
         parser = argparse.ArgumentParser(description='Qpid-interop AMQP client interoparability test suite '
                                          'for AMQP messages with large content')
-        parser.add_argument('--broker', action='store', default='localhost:5672', metavar='BROKER:PORT',
-                            help='Broker against which to run test suite.')
+        parser.add_argument('--sender', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node to which test suite will send messages.')
+        parser.add_argument('--receiver', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node from which test suite will receive messages.')
         parser.add_argument('--exclude-shim', action='append', metavar='SHIM-NAME',
                             help='Name of shim to exclude. Supported shims:\n%s' % sorted(SHIM_MAP.keys()))
         self.args = parser.parse_args()
@@ -209,7 +217,7 @@ if __name__ == '__main__':
     #print 'ARGS:', ARGS # debug
 
     # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.broker)
+    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.sender)
     if CONNECTION_PROPS is None:
         print 'WARNING: Unable to get connection properties - unknown broker'
         BROKER = 'unknown'
@@ -236,11 +244,7 @@ if __name__ == '__main__':
             SHIM_MAP.pop(shim)
     # Create test classes dynamically
     for at in sorted(TYPES.get_type_list()):
-        test_case_class = create_testcase_class(BROKER,
-                                                TYPES,
-                                                ARGS.broker,
-                                                at,
-                                                product(SHIM_MAP.values(), repeat=2))
+        test_case_class = create_testcase_class(at, product(SHIM_MAP.values(), repeat=2))
         TEST_SUITE.addTest(unittest.makeSuite(test_case_class))
 
     # Finally, run all the dynamically created tests

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/1c1ec172/src/python/qpid_interop_test/amqp_types_test.py
----------------------------------------------------------------------
diff --git a/src/python/qpid_interop_test/amqp_types_test.py b/src/python/qpid_interop_test/amqp_types_test.py
index 4491e4e..600b3fc 100755
--- a/src/python/qpid_interop_test/amqp_types_test.py
+++ b/src/python/qpid_interop_test/amqp_types_test.py
@@ -359,7 +359,7 @@ class AmqpTypeTestCase(unittest.TestCase):
             else:
                 self.fail('Received non-tuple: %s' % str(receive_obj))
 
-def create_testcase_class(broker_name, types, sender_addr, receiver_addr, amqp_type, shim_product):
+def create_testcase_class(amqp_type, shim_product):
     """
     Class factory function which creates new subclasses to AmqpTypeTestCase.
     """
@@ -371,11 +371,15 @@ def create_testcase_class(broker_name, types, sender_addr, receiver_addr, amqp_t
     def add_test_method(cls, send_shim, receive_shim):
         """Function which creates a new test method in class cls"""
 
-        @unittest.skipIf(types.skip_test(amqp_type, broker_name),
-                         types.skip_test_message(amqp_type, broker_name))
+        @unittest.skipIf(TYPES.skip_test(amqp_type, BROKER),
+                         TYPES.skip_test_message(amqp_type, BROKER))
         def inner_test_method(self):
-            self.run_test(self.sender_addr, self.receiver_addr, self.amqp_type, self.test_value_list,
-                          send_shim, receive_shim)
+            self.run_test(self.sender_addr,
+                          self.receiver_addr,
+                          self.amqp_type,
+                          self.test_value_list,
+                          send_shim,
+                          receive_shim)
 
         inner_test_method.__name__ = 'test_%s_%s->%s' % (amqp_type, send_shim.NAME, receive_shim.NAME)
         setattr(cls, inner_test_method.__name__, inner_test_method)
@@ -385,9 +389,9 @@ def create_testcase_class(broker_name, types, sender_addr, receiver_addr, amqp_t
                   '__repr__': __repr__,
                   '__doc__': 'Test case for AMQP 1.0 simple type \'%s\'' % amqp_type,
                   'amqp_type': amqp_type,
-                  'sender_addr': sender_addr,
-                  'receiver_addr': receiver_addr,
-                  'test_value_list': types.get_test_values(amqp_type)}
+                  'sender_addr': ARGS.sender,
+                  'receiver_addr': ARGS.receiver,
+                  'test_value_list': TYPES.get_test_values(amqp_type)}
     new_class = type(class_name, (AmqpTypeTestCase,), class_dict)
     for send_shim, receive_shim in shim_product:
         add_test_method(new_class, send_shim, receive_shim)
@@ -488,12 +492,7 @@ if __name__ == '__main__':
     # Create test classes dynamically
     for at in sorted(TYPES.get_type_list()):
         if ARGS.exclude_type is None or at not in ARGS.exclude_type:
-            test_case_class = create_testcase_class(BROKER,
-                                                    TYPES,
-                                                    ARGS.sender,
-                                                    ARGS.receiver,
-                                                    at,
-                                                    product(SHIM_MAP.values(), repeat=2))
+            test_case_class = create_testcase_class(at, product(SHIM_MAP.values(), repeat=2))
             TEST_SUITE.addTest(unittest.makeSuite(test_case_class))
 
     # Finally, run all the dynamically created tests

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/1c1ec172/src/python/qpid_interop_test/jms_dtx_test.py
----------------------------------------------------------------------
diff --git a/src/python/qpid_interop_test/jms_dtx_test.py b/src/python/qpid_interop_test/jms_dtx_test.py
index 62588a8..fd998a7 100755
--- a/src/python/qpid_interop_test/jms_dtx_test.py
+++ b/src/python/qpid_interop_test/jms_dtx_test.py
@@ -94,8 +94,10 @@ class TestOptions(object):
     def __init__(self,):
         parser = argparse.ArgumentParser(description='Qpid-interop AMQP client interoparability test suite '
                                          'for JMS distrubuted (dtx) transactions')
-        parser.add_argument('--broker', action='store', default='localhost:5672', metavar='BROKER:PORT',
-                            help='Broker against which to run test suite.')
+        parser.add_argument('--sender', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node to which test suite will send messages.')
+        parser.add_argument('--receiver', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node from which test suite will receive messages.')
         parser.add_argument('--exclude-shim', action='append', metavar='SHIM-NAME',
                             help='Name of shim to exclude. Supported shims:\n%s' % sorted(SHIM_MAP.keys()))
         self.args = parser.parse_args()
@@ -109,7 +111,7 @@ if __name__ == '__main__':
     #print 'ARGS:', ARGS # debug
 
     # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.broker)
+    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.sender)
     if CONNECTION_PROPS is None:
         print 'WARNING: Unable to get connection properties - unknown broker'
         BROKER = 'unknown'

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/1c1ec172/src/python/qpid_interop_test/jms_hdrs_props_test.py
----------------------------------------------------------------------
diff --git a/src/python/qpid_interop_test/jms_hdrs_props_test.py b/src/python/qpid_interop_test/jms_hdrs_props_test.py
index 7c132c3..4c001ca 100755
--- a/src/python/qpid_interop_test/jms_hdrs_props_test.py
+++ b/src/python/qpid_interop_test/jms_hdrs_props_test.py
@@ -232,8 +232,8 @@ class JmsMessageHdrsPropsTestCase(unittest.TestCase):
     Abstract base class for JMS message headers and properties test cases
     """
 
-    def run_test(self, broker_addr, queue_name_fragment, jms_message_type, test_values, msg_hdrs, msg_props, send_shim,
-                 receive_shim):
+    def run_test(self, sender_addr, receiver_addr, queue_name_fragment, jms_message_type, test_values, msg_hdrs,
+                 msg_props, send_shim, receive_shim):
         """
         Run this test by invoking the shim send method to send the test values, followed by the shim receive method
         to receive the values. Finally, compare the sent values with the received values.
@@ -257,12 +257,12 @@ class JmsMessageHdrsPropsTestCase(unittest.TestCase):
         if send_shim.JMS_CLIENT:
             flags_map['JMS_CLIENT_CHECKS'] = True
         # Start the receiver shim
-        receiver = receive_shim.create_receiver(broker_addr, queue_name, jms_message_type,
+        receiver = receive_shim.create_receiver(receiver_addr, queue_name, jms_message_type,
                                                 dumps([num_test_values_map, flags_map]))
         receiver.start()
 
         # Start the send shim
-        sender = send_shim.create_sender(broker_addr, queue_name, jms_message_type,
+        sender = send_shim.create_sender(sender_addr, queue_name, jms_message_type,
                                          dumps([test_values, msg_hdrs, msg_props]))
         sender.start()
 
@@ -311,6 +311,7 @@ class JmsMessageHdrsPropsTestCase(unittest.TestCase):
 
 
 def create_testcases():
+    """Create all the test cases"""
     # --- Message headers on JMS Message ---
 
     # Part A: Single message header on each message
@@ -349,7 +350,8 @@ def create_part_a_testcase_class():
         @unittest.skipIf(TYPES.skip_test(jms_message_type, BROKER),
                          TYPES.skip_test_message(jms_message_type, BROKER))
         def inner_test_method(self):
-            self.run_test(self.broker_addr,
+            self.run_test(self.sender_addr,
+                          self.receiver_addr,
                           queue_name_fragment,
                           self.jms_message_type,
                           self.test_values,
@@ -369,7 +371,8 @@ def create_part_a_testcase_class():
                   '__doc__': 'Test case for JMS message type \'%s\' containing a single ' % jms_message_type +
                              'JMS header, one for each possible header',
                   'jms_message_type': jms_message_type,
-                  'broker_addr': ARGS.broker,
+                  'sender_addr': ARGS.sender,
+                  'receiver_addr': ARGS.receiver,
                   'test_values': TYPES.get_test_values(jms_message_type)}
     new_class = type(class_name, (JmsMessageHdrsPropsTestCase,), class_dict)
 
@@ -405,7 +408,8 @@ def create_part_b_testcase_class():
         @unittest.skipIf(TYPES.skip_test(jms_message_type, BROKER),
                          TYPES.skip_test_message(jms_message_type, BROKER))
         def inner_test_method(self):
-            self.run_test(self.broker_addr,
+            self.run_test(self.sender_addr,
+                          self.receiver_addr,
                           queue_name_fragment,
                           self.jms_message_type,
                           self.test_values,
@@ -425,12 +429,12 @@ def create_part_b_testcase_class():
                   '__doc__': 'Test case for JMS message type \'%s\' containing a combination ' % jms_message_type +
                              'of possible JMS headers',
                   'jms_message_type': jms_message_type,
-                  'broker_addr': ARGS.broker,
+                  'sender_addr': ARGS.sender,
+                  'receiver_addr': ARGS.receiver,
                   'test_values': TYPES.get_test_values(jms_message_type)}
     new_class = type(class_name, (JmsMessageHdrsPropsTestCase,), class_dict)
 
     for send_shim, receive_shim in product(SHIM_MAP.values(), repeat=2):
-        jms_hdrs_combos = []
         for jms_hdrs_combo_index in range(0, len(TYPES.HEADERS_MAP.keys())+1):
             for jms_hdrs_combo in combinations(TYPES.HEADERS_MAP.iterkeys(), jms_hdrs_combo_index):
                 jms_hdr_list = []
@@ -475,7 +479,8 @@ def create_part_c_testcase_class():
         @unittest.skipIf(TYPES.skip_test(jms_message_type, BROKER),
                          TYPES.skip_test_message(jms_message_type, BROKER))
         def inner_test_method(self):
-            self.run_test(self.broker_addr,
+            self.run_test(self.sender_addr,
+                          self.receiver_addr,
                           queue_name_fragment,
                           self.jms_message_type,
                           self.test_values,
@@ -495,7 +500,8 @@ def create_part_c_testcase_class():
                   '__doc__': 'Test case for JMS message type \'%s\' containing a single ' % jms_message_type +
                              'JMS property',
                   'jms_message_type': jms_message_type,
-                  'broker_addr': ARGS.broker,
+                  'sender_addr': ARGS.sender,
+                  'receiver_addr': ARGS.receiver,
                   'test_values': TYPES.get_test_values(jms_message_type)}
     new_class = type(class_name, (JmsMessageHdrsPropsTestCase,), class_dict)
 
@@ -530,7 +536,8 @@ def create_part_d_testcase_class(jms_message_type):
         @unittest.skipIf(TYPES.skip_test(jms_message_type, BROKER),
                          TYPES.skip_test_message(jms_message_type, BROKER))
         def inner_test_method(self):
-            self.run_test(self.broker_addr,
+            self.run_test(self.sender_addr,
+                          self.receiver_addr,
                           queue_name_fragment,
                           jms_message_type,
                           self.test_values,
@@ -549,7 +556,8 @@ def create_part_d_testcase_class(jms_message_type):
                   '__doc__': 'Test case for JMS message type \'%s\' containing a single ' % jms_message_type +
                              'JMS property',
                   'jms_message_type': jms_message_type,
-                  'broker_addr': ARGS.broker,
+                  'sender_addr': ARGS.sender,
+                  'receiver_addr': ARGS.receiver,
                   'test_values': TYPES.get_test_values(jms_message_type)}
     new_class = type(class_name, (JmsMessageHdrsPropsTestCase,), class_dict)
 
@@ -612,8 +620,10 @@ class TestOptions(object):
     def __init__(self,):
         parser = argparse.ArgumentParser(description='Qpid-interop AMQP client interoparability test suite '
                                          'for JMS headers and properties')
-        parser.add_argument('--broker', action='store', default='localhost:5672', metavar='BROKER:PORT',
-                            help='Broker against which to run test suite.')
+        parser.add_argument('--sender', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node to which test suite will send messages.')
+        parser.add_argument('--receiver', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node from which test suite will receive messages.')
 #        test_group = parser.add_mutually_exclusive_group()
 #        test_group.add_argument('--include-test', action='append', metavar='TEST-NAME',
 #                                help='Name of test to include')
@@ -641,7 +651,7 @@ if __name__ == '__main__':
     #print 'ARGS:', ARGS # debug
 
     # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.broker)
+    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.sender)
     if CONNECTION_PROPS is None:
         print 'WARNING: Unable to get connection properties - unknown broker'
         BROKER = 'unknown'

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/1c1ec172/src/python/qpid_interop_test/jms_messages_test.py
----------------------------------------------------------------------
diff --git a/src/python/qpid_interop_test/jms_messages_test.py b/src/python/qpid_interop_test/jms_messages_test.py
index e7f230b..553e847 100755
--- a/src/python/qpid_interop_test/jms_messages_test.py
+++ b/src/python/qpid_interop_test/jms_messages_test.py
@@ -200,7 +200,7 @@ class JmsMessageTypeTestCase(unittest.TestCase):
     Abstract base class for JMS message type test cases
     """
 
-    def run_test(self, broker_addr, jms_message_type, test_values, send_shim, receive_shim):
+    def run_test(self, sender_addr, receiver_addr, jms_message_type, test_values, send_shim, receive_shim):
         """
         Run this test by invoking the shim send method to send the test values, followed by the shim receive method
         to receive the values. Finally, compare the sent values with the received values.
@@ -214,11 +214,13 @@ class JmsMessageTypeTestCase(unittest.TestCase):
             for index in test_values.keys():
                 num_test_values_map[index] = len(test_values[index])
         # Start the receiver shim
-        receiver = receive_shim.create_receiver(broker_addr, queue_name, jms_message_type, dumps(num_test_values_map))
+        receiver = receive_shim.create_receiver(receiver_addr, queue_name, jms_message_type,
+                                                dumps(num_test_values_map))
         receiver.start()
 
         # Start the send shim
-        sender = send_shim.create_sender(broker_addr, queue_name, jms_message_type, dumps(test_values))
+        sender = send_shim.create_sender(sender_addr, queue_name, jms_message_type,
+                                         dumps(test_values))
         sender.start()
 
         # Wait for both shims to finish
@@ -254,7 +256,7 @@ class JmsMessageTypeTestCase(unittest.TestCase):
                 self.fail('Received non-tuple: %s' % str(receive_obj))
 
 
-def create_testcase_class(broker_name, types, broker_addr, jms_message_type, shim_product):
+def create_testcase_class(jms_message_type, shim_product):
     """
     Class factory function which creates new subclasses to JmsMessageTypeTestCase. Each call creates a single new
     test case named and based on the parameters supplied to the method
@@ -267,10 +269,11 @@ def create_testcase_class(broker_name, types, broker_addr, jms_message_type, shi
     def add_test_method(cls, send_shim, receive_shim):
         """Function which creates a new test method in class cls"""
 
-        @unittest.skipIf(types.skip_test(jms_message_type, broker_name),
-                         types.skip_test_message(jms_message_type, broker_name))
+        @unittest.skipIf(TYPES.skip_test(jms_message_type, BROKER),
+                         TYPES.skip_test_message(jms_message_type, BROKER))
         def inner_test_method(self):
-            self.run_test(self.broker_addr,
+            self.run_test(self.sender_addr,
+                          self.receiver_addr,
                           self.jms_message_type,
                           self.test_values,
                           send_shim,
@@ -284,8 +287,9 @@ def create_testcase_class(broker_name, types, broker_addr, jms_message_type, shi
                   '__repr__': __repr__,
                   '__doc__': 'Test case for JMS message type \'%s\'' % jms_message_type,
                   'jms_message_type': jms_message_type,
-                  'broker_addr': broker_addr,
-                  'test_values': types.get_test_values(jms_message_type)} # tuple (tot_size, {...}
+                  'sender_addr': ARGS.sender,
+                  'receiver_addr': ARGS.receiver,
+                  'test_values': TYPES.get_test_values(jms_message_type)} # tuple (tot_size, {...}
     new_class = type(class_name, (JmsMessageTypeTestCase,), class_dict)
     for send_shim, receive_shim in shim_product:
         add_test_method(new_class, send_shim, receive_shim)
@@ -328,8 +332,10 @@ class TestOptions(object):
     def __init__(self,):
         parser = argparse.ArgumentParser(description='Qpid-interop AMQP client interoparability test suite '
                                          'for JMS message types')
-        parser.add_argument('--broker', action='store', default='localhost:5672', metavar='BROKER:PORT',
-                            help='Broker against which to run test suite.')
+        parser.add_argument('--sender', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node to which test suite will send messages.')
+        parser.add_argument('--receiver', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
+                            help='Node from which test suite will receive messages.')
 #        test_group = parser.add_mutually_exclusive_group()
 #        test_group.add_argument('--include-test', action='append', metavar='TEST-NAME',
 #                                help='Name of test to include')
@@ -357,7 +363,7 @@ if __name__ == '__main__':
     #print 'ARGS:', ARGS # debug
 
     # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.broker)
+    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.sender)
     if CONNECTION_PROPS is None:
         print 'WARNING: Unable to get connection properties - unknown broker'
         BROKER = 'unknown'
@@ -389,11 +395,7 @@ if __name__ == '__main__':
     # Create test classes dynamically
     for jmt in sorted(TYPES.get_type_list()):
         if ARGS.exclude_type is None or jmt not in ARGS.exclude_type:
-            test_case_class = create_testcase_class(BROKER,
-                                                    TYPES,
-                                                    ARGS.broker,
-                                                    jmt,
-                                                    product(SHIM_MAP.values(), repeat=2))
+            test_case_class = create_testcase_class(jmt, product(SHIM_MAP.values(), repeat=2))
             TEST_CASE_CLASSES.append(test_case_class)
             TEST_SUITE.addTest(unittest.makeSuite(test_case_class))
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org