Add test events for time limit-related hangups
[asterisk/asterisk.git] / main / channel.c
index ce3a58f..7ccdaf5 100644 (file)
@@ -73,6 +73,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/data.h"
 #include "asterisk/channel_internal.h"
 #include "asterisk/features.h"
+#include "asterisk/test.h"
 
 /*** DOCUMENTATION
  ***/
@@ -3242,6 +3243,7 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds,
                                now = ast_tvnow();
                        diff = ast_tvsub(*ast_channel_whentohangup(c[x]), now);
                        if (diff.tv_sec < 0 || ast_tvzero(diff)) {
+                               ast_test_suite_event_notify("HANGUP_TIME", "Channel: %s", ast_channel_name(c[x]));
                                /* Should already be hungup */
                                ast_channel_softhangup_internal_flag_add(c[x], AST_SOFTHANGUP_TIMEOUT);
                                ast_channel_unlock(c[x]);
@@ -3315,6 +3317,7 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds,
                now = ast_tvnow();
                for (x = 0; x < n; x++) {
                        if (!ast_tvzero(*ast_channel_whentohangup(c[x])) && ast_tvcmp(*ast_channel_whentohangup(c[x]), now) <= 0) {
+                               ast_test_suite_event_notify("HANGUP_TIME", "Channel: %s", ast_channel_name(c[x]));
                                ast_channel_softhangup_internal_flag_add(c[x], AST_SOFTHANGUP_TIMEOUT);
                                if (winner == NULL) {
                                        winner = c[x];
@@ -7939,6 +7942,7 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
                                        bridge_playfile(c1, c0, config->end_sound, 0);
                                *fo = NULL;
                                res = 0;
+                               ast_test_suite_event_notify("BRIDGE_TIMELIMIT", "Channel1: %s\r\nChannel2: %s", ast_channel_name(c0), ast_channel_name(c1));
                                break;
                        }