I'm going to start building a "broker compliance" python test suite (unless Steve gives me ruby bindings :)
I've put a simple unittest framework in place and converted the 3 existing python tests. I've also added some cleanup functionality so queues and exchanges created during a test get deleted at the end. It'll all probably need some tuning going forward but it's a start. My next step is to build tests covering the functionality I want to build in C++ which is the exchange types. The <rule> elements in amqp.xml seem like a good source of initial tests, and I expect I'll need to augment with tests for stuff not covered by a <rule> So I propose this structure: 1) for each spec class (e.g. exchange) we create module python/tests/exchange.py containing test class TestExchangeRules. That class contains test methods for each rule. I'd rather use the rule name attributes from the latest spec trunk than the previous test names, e.g. queue.QueueRuleTests.test_minimum_queues not queue.QueueRuleTests.test_amq_queue_35. 2) where we need additional tests we add further ad-hoc test classes , e.g. for topic exchange tests, we might add exchange.TestTopicExchange etc. I've some vague ideas about automating checks for correspondence between amqp.xml and the python test classes but we'll see how ambitious I get. Any suggestions for improvements most appreciated. Cheers, Alan.
