diff options
Diffstat (limited to 'tests/test_cel.c')
-rw-r--r-- | tests/test_cel.c | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/tests/test_cel.c b/tests/test_cel.c index 194bbf311..cd39a6254 100644 --- a/tests/test_cel.c +++ b/tests/test_cel.c @@ -1300,6 +1300,10 @@ AST_TEST_DEFINE(test_cel_blind_transfer) return AST_TEST_PASS; } +/* XXX Validation needs to take into account the BRIDGE_EXIT for Alice and the + * ATTENDEDTRANSFER message are not guaranteed to be ordered + */ +#ifdef RACEY_TESTS AST_TEST_DEFINE(test_cel_attended_transfer_bridges_swap) { RAII_VAR(struct ast_channel *, chan_alice, NULL, safe_channel_release); @@ -1362,8 +1366,8 @@ AST_TEST_DEFINE(test_cel_attended_transfer_bridges_swap) BRIDGE_ENTER_EVENT_PEER(chan_bob, bridge2, "CELTestChannel/David,CELTestChannel/Charlie"); BRIDGE_EXIT_EVENT(chan_david, bridge2); - ATTENDEDTRANSFER_BRIDGE(chan_alice, bridge1, chan_david, bridge2, chan_charlie, chan_bob); BRIDGE_EXIT_EVENT(chan_alice, bridge1); + ATTENDEDTRANSFER_BRIDGE(chan_alice, bridge1, chan_david, bridge2, chan_charlie, chan_bob); do_sleep(); BRIDGE_EXIT(chan_bob, bridge2); @@ -1379,6 +1383,7 @@ AST_TEST_DEFINE(test_cel_attended_transfer_bridges_swap) return AST_TEST_PASS; } +#endif AST_TEST_DEFINE(test_cel_attended_transfer_bridges_merge) { @@ -1524,24 +1529,11 @@ AST_TEST_DEFINE(test_cel_attended_transfer_bridges_link) BRIDGE_ENTER(chan_david, bridge2); /* Perform attended transfer */ - - /* The following events can not be matched directly since nothing is known - * about the linking local channel. - * ;1 and ;2 CHAN_START and ;2 ANSWER */ - APPEND_DUMMY_EVENT(); - APPEND_DUMMY_EVENT(); - APPEND_DUMMY_EVENT(); - ATTENDEDTRANSFER_BRIDGE(chan_alice, bridge1, chan_david, bridge2, chan_charlie, chan_bob); ast_bridge_transfer_attended(chan_alice, chan_david); do_sleep(); - /* ;1 and ;2 BRIDGE_ENTER and ;1 ANSWER */ - APPEND_DUMMY_EVENT(); - APPEND_DUMMY_EVENT(); - APPEND_DUMMY_EVENT(); - /* BRIDGE_EXIT alice and david */ APPEND_DUMMY_EVENT(); APPEND_DUMMY_EVENT(); @@ -1559,14 +1551,6 @@ AST_TEST_DEFINE(test_cel_attended_transfer_bridges_link) HANGUP_CHANNEL(chan_charlie, AST_CAUSE_NORMAL, ""); do_sleep(); - /* ;1 and ;2 BRIDGE_EXIT, HANGUP, and CHAN_END */ - APPEND_DUMMY_EVENT(); - APPEND_DUMMY_EVENT(); - APPEND_DUMMY_EVENT(); - APPEND_DUMMY_EVENT(); - APPEND_DUMMY_EVENT(); - APPEND_DUMMY_EVENT(); - return AST_TEST_PASS; } @@ -1800,12 +1784,18 @@ static int append_expected_event( static void test_sub(struct ast_event *event) { struct ast_event *event_dup = ao2_dup_event(event); + const char *chan_name; SCOPED_MUTEX(mid_test_lock, &mid_test_sync_lock); if (!event_dup) { return; } + chan_name = ast_event_get_ie_str(event_dup, AST_EVENT_IE_CEL_CHANNAME); + if (chan_name && strncmp(chan_name, CHANNEL_TECH_NAME, 14)) { + return; + } + /* save the event for later processing */ ao2_link(cel_received_events, event_dup); @@ -2130,10 +2120,10 @@ static int unload_module(void) AST_TEST_UNREGISTER(test_cel_dial_answer_twoparty_bridge_b); #ifdef RACEY_TESTS AST_TEST_UNREGISTER(test_cel_dial_answer_multiparty); + AST_TEST_UNREGISTER(test_cel_attended_transfer_bridges_swap); #endif AST_TEST_UNREGISTER(test_cel_blind_transfer); - AST_TEST_UNREGISTER(test_cel_attended_transfer_bridges_swap); AST_TEST_UNREGISTER(test_cel_attended_transfer_bridges_merge); AST_TEST_UNREGISTER(test_cel_attended_transfer_bridges_link); @@ -2205,10 +2195,10 @@ static int load_module(void) AST_TEST_REGISTER(test_cel_dial_answer_twoparty_bridge_b); #ifdef RACEY_TESTS AST_TEST_REGISTER(test_cel_dial_answer_multiparty); + AST_TEST_REGISTER(test_cel_attended_transfer_bridges_swap); #endif AST_TEST_REGISTER(test_cel_blind_transfer); - AST_TEST_REGISTER(test_cel_attended_transfer_bridges_swap); AST_TEST_REGISTER(test_cel_attended_transfer_bridges_merge); AST_TEST_REGISTER(test_cel_attended_transfer_bridges_link); |