From 2bd3ba632e90a5d68bc09e41a4983940e04cd232 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Wed, 27 Mar 2019 21:34:26 +0100 Subject: vty_test_runner: Handle MGCP message recv len dynamically Change-Id: I536d78a2a1962240e5e369cda9927d8c9955ab86 --- openbsc/tests/vty_test_runner.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py index ca0b8794a..44ccdd85f 100644 --- a/openbsc/tests/vty_test_runner.py +++ b/openbsc/tests/vty_test_runner.py @@ -20,6 +20,7 @@ import time import unittest import socket import subprocess +import struct import osmopy.obscvty as obscvty import osmopy.osmoutil as osmoutil @@ -1089,6 +1090,16 @@ def ipa_handle_resp(x, tk, verbose = False, proc=None): if (verbose): print "\tBSC <- NAT: ", s +def ipa_handle_mgcp(x, verbose = False): + data = x.recv(3) + s = data2str(data) + if s[4:] != "fc": + print "expected IPA(MGCP) but received %r instead" % (s[4:]) + ipa_len, = struct.unpack('>H', data[:2]) + mgcp_msg = x.recv(ipa_len) # MGCP msg + if (verbose): + print "\tBSC <- NAT (MGCP[%d]): %s" % (ipa_len, mgcp_msg) + def nat_bsc_num_con(x): return len(x.vty.command("show bsc connections").split('\n')) @@ -1106,7 +1117,7 @@ def nat_bsc_sock_test(nr, tk, verbose = False, proc=None): ipa_handle_resp(bsc, tk, verbose, proc=proc) if proc: print "\tproc.poll() = %r" % proc.poll() - bsc.recv(27) # MGCP msg + ipa_handle_mgcp(bsc, verbose) if proc: print "\tproc.poll() = %r" % proc.poll() ipa_handle_small(bsc, verbose) -- cgit v1.2.3-59-g8ed1b