From 3c5830783f40f8c29f2901a0a563bd9c3ddead3b Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Fri, 2 May 2025 07:23:40 -0400 Subject: [PATCH] MT#62735 add tests for heuristic learning mode Change-Id: I0c3d67f4ee3f3350fcf0b350c39e475db948c6c8 (cherry picked from commit ee32e5ba5fade0cb9e3620f8abc05fcc9054387b) --- t/Makefile | 13 +- t/auto-daemon-tests-heuristic.pl | 584 +++++++++++++++++++++++++++++++ 2 files changed, 595 insertions(+), 2 deletions(-) create mode 100755 t/auto-daemon-tests-heuristic.pl diff --git a/t/Makefile b/t/Makefile index 4189a2164..7d8607f0d 100644 --- a/t/Makefile +++ b/t/Makefile @@ -88,7 +88,8 @@ include ../lib/common.Makefile .PHONY: all-tests unit-tests daemon-tests daemon-tests \ daemon-tests-main daemon-tests-jb daemon-tests-dtx daemon-tests-dtx-cn daemon-tests-pubsub \ - daemon-tests-intfs daemon-tests-stats daemon-tests-delay-buffer daemon-tests-delay-timing + daemon-tests-intfs daemon-tests-stats daemon-tests-delay-buffer daemon-tests-delay-timing \ + daemon-tests-heuristic TESTS= test-bitstr aes-crypt aead-aes-crypt test-const_str_hash.strhash ifeq ($(with_transcoding),yes) @@ -123,7 +124,7 @@ unit-tests: $(TESTS) fi daemon-tests: daemon-tests-main daemon-tests-jb daemon-tests-pubsub daemon-tests-websocket \ - daemon-tests-intfs daemon-tests-stats # daemon-tests-delay-buffer daemon-tests-delay-timing + daemon-tests-intfs daemon-tests-stats daemon-tests-heuristic daemon-test-deps: tests-preload.so $(MAKE) -C ../daemon @@ -144,6 +145,14 @@ daemon-tests-jb: daemon-test-deps test "$$(ls fake-$@-sockets)" = "" rmdir fake-$@-sockets +daemon-tests-heuristic: daemon-test-deps + rm -rf fake-$@-sockets + mkdir fake-$@-sockets + LD_PRELOAD=../t/tests-preload.so RTPE_BIN=../daemon/rtpengine TEST_SOCKET_PATH=./fake-$@-sockets \ + perl -I../perl auto-daemon-tests-heuristic.pl + test "$$(ls fake-$@-sockets)" = "" + rmdir fake-$@-sockets + daemon-tests-dtx: daemon-test-deps rm -rf fake-$@-sockets mkdir fake-$@-sockets diff --git a/t/auto-daemon-tests-heuristic.pl b/t/auto-daemon-tests-heuristic.pl new file mode 100755 index 000000000..facb612b6 --- /dev/null +++ b/t/auto-daemon-tests-heuristic.pl @@ -0,0 +1,584 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use NGCP::Rtpengine::Test; +use NGCP::Rtpclient::SRTP; +use NGCP::Rtpengine::AutoTest; +use Test::More; + + +autotest_start(qw(--config-file=none -t -1 -i 203.0.113.1 + -n 2223 -f -L 7 -E --endpoint-learning=heuristic)) + or die; + + +my ($sock_a, $sock_b, $sock_c, $sock_d, $sock_e, $port_a, $port_b); + + + + +($sock_a, $sock_b, $sock_c, $sock_d, $sock_e) = new_call( + [qw(198.51.100.1 2010)], # caller + [qw(198.51.100.3 2012)], # callee - from SDP + [qw(198.51.100.3 2032)], # callee - different port + [qw(198.51.100.6 2012)], # callee - different address + [qw(198.51.100.6 2032)], # callee - all different +); + +($port_a) = offer('basic, forward', { }, < ['strict source'] }, < ['strict source'] }, < ['strict source'] }, < ['strict source'] }, <