main/test: Fix race condition between AMI topic and Test Suite topic
authorMatthew Jordan <mjordan@digium.com>
Thu, 4 Dec 2014 15:48:26 +0000 (15:48 +0000)
committerMatthew Jordan <mjordan@digium.com>
Thu, 4 Dec 2014 15:48:26 +0000 (15:48 +0000)
commit343a83d7d87f9090ed6a3003ff752208545c884e
treea3a729207991ad737307f7f37fe4ca0b476b62c0
parent7cb2c446b43381d78befb5bd16c364bce38e1fca
main/test: Fix race condition between AMI topic and Test Suite topic

This patch fixes a race condition between the raising of test AMI events (which
drive many tests in the Asterisk Test Suite) and other AMI events. Prior to
this patch, the Stasis messages published to the test topic were not forwarded
to the AMI topic. Instead, the code in manager had a dedicated handler for test
messages that was independent of the topics forwarded to the AMI topic. This
results in no synchronization between the test messages and the rest of the
Stasis messages published out over AMI. In some test with very tight timing
constraints, this can result in out of order messages and spurious test
failures. Properly forwarding the Test Suite topic to the AMI topic ensures
that the messages are synchronized properly.

This patch does that, and moves the message handling to the Stasis definition
of the Test Suite message in test.c as well.

Review: https://reviewboard.asterisk.org/r/4221/
........

Merged revisions 428945 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 428946 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@428947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/manager.c
main/test.c