[PATCH 2/2] Factor out ipaccess send routines

Neels Hofmeyr nhofmeyr at sysmocom.de
Wed Apr 6 22:47:35 UTC 2016


A few things in this patch draw my attention:

- the verbose parameters have to be passed to each function call instead of
  having a global verbosity switch? Can make sense, but does it? It doesn't
  look like anyone is ever using the verbosity anyway?

- the function defs are below their use; not a problem in python but unusual as
  far as I'm concerned.

- 5 functions are added, only two are used. Why add unused functions?
  Will they ever be used?

- Two functions are factored out and three others are added afresh. Admitted,
  the second part of the log message mentions adding functions, yet the summary
  above sounds like it's only factoring out.

Sorry if I'm getting on your case with these details, but it seems you've
thrown in too many curiosities at the same time for my taste :)

~Neels

On Wed, Apr 06, 2016 at 05:52:39PM +0200, msuraev at sysmocom.de wrote:
> From: Max <msuraev at sysmocom.de>
> 
> Introduce several python functions for sending various ipaccess
> protocol messages. Convert existing test code to use them.
> ---
>  openbsc/tests/vty_test_runner.py | 29 +++++++++++++++++++++++++++--
>  1 file changed, 27 insertions(+), 2 deletions(-)
> 
> diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py
> index 8db0825..1c4ecb4 100644
> --- a/openbsc/tests/vty_test_runner.py
> +++ b/openbsc/tests/vty_test_runner.py
> @@ -700,13 +700,13 @@ class TestVTYNAT(TestVTYGenericBSC):
>          self.assertEqual(data, "\x00\x01\xfe\x04")
>  
>          print "Going to send ID_RESP response"
> -        res = ussdSocket.send("\x00\x07\xfe\x05\x00\x04\x01\x6b\x65\x79")
> +        res = ipa_send_resp(ussdSocket, "\x6b\x65\x79")
>          self.assertEqual(res, 10)
>  
>          # initiating PING/PONG cycle to know, that the ID_RESP message has been processed
>  
>          print "Going to send PING request"
> -        res = ussdSocket.send("\x00\x01\xfe\x00")
> +        res = ipa_send_ping(ussdSocket)
>          self.assertEqual(res, 4)
>  
>          print "Expecting PONG response"
> @@ -971,6 +971,31 @@ def add_nat_test(suite, workdir):
>      test = unittest.TestLoader().loadTestsFromTestCase(TestVTYNAT)
>      suite.addTest(test)
>  
> +def ipa_send_pong(x, verbose = False):
> +    if (verbose):
> +        print "\tBSC -> NAT: PONG!"
> +    return x.send("\x00\x01\xfe\x01")
> +
> +def ipa_send_ping(x, verbose = False):
> +    if (verbose):
> +        print "\tBSC -> NAT: PING?"
> +    return x.send("\x00\x01\xfe\x00")
> +
> +def ipa_send_ack(x, verbose = False):
> +    if (verbose):
> +            print "\tBSC -> NAT: IPA ID ACK"
> +    return x.send("\x00\x01\xfe\x06")
> +
> +def ipa_send_reset(x, verbose = False):
> +    if (verbose):
> +        print "\tBSC -> NAT: RESET"
> +    return x.send("\x00\x12\xfd\x09\x00\x03\x05\x07\x02\x42\xfe\x02\x42\xfe\x06\x00\x04\x30\x04\x01\x20")
> +
> +def ipa_send_resp(x, tk, verbose = False):
> +    if (verbose):
> +        print "\tBSC -> NAT: IPA ID RESP"
> +    return x.send("\x00\x07\xfe\x05\x00\x04\x01" + tk)
> +
>  def add_bsc_test(suite, workdir):
>      if not os.path.isfile(os.path.join(workdir, "src/osmo-bsc/osmo-bsc")):
>          print("Skipping the BSC test")
> -- 
> 2.8.1
> 

-- 
- Neels Hofmeyr <nhofmeyr at sysmocom.de>          http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Holger Freyther, Harald Welte
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20160407/08aca73f/attachment.bin>


More information about the OpenBSC mailing list