M3UA conformance tests from nplab / Michael Tuexen
Go to file
Harald Welte 4798f1185b runtest-junitxml: Set GUILE_AUTO_COMPILE=0 to avoid stderr output
stderr output would make the junit test case "FAIL"
2017-08-20 11:43:02 +02:00
.guile runm3uatest: Avoid having to use a ~/.guile script 2017-05-14 22:16:25 +02:00
LICENSE.md Update and rename LICENSE to LICENSE.md 2016-08-27 19:24:16 +02:00
README.md Update README.md 2016-09-17 13:25:26 +02:00
common.scm Import to git. 2016-08-27 11:04:43 +02:00
dotguile runm3uatest: Avoid having to use a ~/.guile script 2017-05-14 22:16:25 +02:00
m3ua-asp-tests.scm Import to git. 2016-08-27 11:04:43 +02:00
m3ua-param-testtool.scm params: Use addresses compatible with libosmo-sccp test scripts 2017-05-14 22:56:49 +02:00
m3ua-sgp-tests.scm Import to git. 2016-08-27 11:04:43 +02:00
m3ua.scm Import to git. 2016-08-27 11:04:43 +02:00
run-all-sgp-tests runm3uatest: Avoid having to use a ~/.guile script 2017-05-14 22:16:25 +02:00
run-some-asp-tests runm3uatest: Avoid having to use a ~/.guile script 2017-05-14 22:16:25 +02:00
run-some-sgp-tests runm3uatest: Avoid having to use a ~/.guile script 2017-05-14 22:16:25 +02:00
runm3uatest.c runm3uatest: Avoid having to use a ~/.guile script 2017-05-14 22:16:25 +02:00
runtest-junitxml.py runtest-junitxml: Set GUILE_AUTO_COMPILE=0 to avoid stderr output 2017-08-20 11:43:02 +02:00
some-sgp-tests.txt Add 'runtest-junitxml.py' to generate junit-xml output 2017-08-20 11:17:24 +02:00

README.md

M3UA Testtool and Testsuite

A test tool for M3UA as specified in RFC 3332, which is obsoleted by RFC 4666, and the ETSI specification ETSI TS 102 142. The tests are based on the ETSI test specification ETSI TS 102 381.

This tool uses guile and its extension guile-sctp for adding SCTP support. Please see README for installation instructions.

Installation

For downloading the tool and the tests run

git clone https://github.com/nplab/m3ua-testtool.git
cd m3ua-testtool

Then compile the runm3uatest using

cc -o runm3uatest runm3uatest.c

and install the binary. For example, you can issue on Linux

sudo cp runm3uatest /usr/bin

or do the following under FreeBSD

sudo cp runm3uatest /usr/local/bin

Finally change the line in dotguile

(define dir "/Users/tuexen/Documents/m3ua-testtool/")

to reflect the location of the m3ua-testtool directory and run

cp dotguile ~/.guile

Configuration

The test tool is configured by editing the file m3ua-param-testtool.scm. You can change the IP-address and SCTP port numbers used by the test tool and the system under test by modifying the entries:

(define sut-addr "127.0.0.1")
(define sut-port   0)

and

(define tester-addr "127.0.0.1")
(define tester-port  m3ua-port)

Further down, you can also define point codes, routing contexts and even parameters sent in the M3UA handshake.

Usage

On Linux, SCTP support is implemented via a loadable kernel module. To load this module, run sudo modprobe sctp. For FreeBSD and Solaris, no action is needed to use SCTP.

You can run specfic tests using the runm3uatest. For example, to run the m3ua-asp-aspsm-v-002 test, execute

runm3uatest m3ua-asp-aspsm-v-002

You can also run a selection of ASP tests by using the tcsh script

m3ua-testtool/run-some-asp-tests

or a selection of SGP tests by running the tcsh script

m3ua-testtool/run-some-sgp-tests

Please note that you must verify the verdict by double checking the message flows. This can be done by using a protocol analyzer like Wireshark.