Project

General

Profile

Titan TTCN3 Testsuites » History » Version 2

laforge, 05/11/2018 10:56 AM
initial page

1 2 laforge
{{>toc}}
2
3 1 laforge
h1. Osmocom Titan TTCN3 Testsuites
4
5 2 laforge
In 2017, Osmocom started to create extensive tests suites for the Cellular Network Infrastructure elements.  Those suites are written in the [[TTCN-3]] programming language and use the compiler + executor of the [[Eclipse_TITAN]] project.
6
7
h2. Source Code / Patches
8
9
The source code of our test suites lives in the @osmo-ttcn3-hacks@ repository
10
* cgit web interface: http://git.osmocom.org/osmo-ttcn3-hacks/
11
* clone: @git clone git://git.osmocom.org/osmo-ttcn3-hacks@
12
* patch review: https://gerrit.osmocom.org/#/q/project:osmo-ttcn3-hacks
13
14
We're following the [[Gerrit]] process for patch review.
15
16
h2. Test Suites
17
18
|_.Implementation under Test|_.Testsuite|_.Jenkins|
19
|bsc-nat|http://git.osmocom.org/osmo-ttcn3-hacks/tree/bsc-nat|-|
20
|[[OsmoBSC:]]|http://git.osmocom.org/osmo-ttcn3-hacks/tree/bsc|https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/|
21
|[[OsmoBTS:]]|http://git.osmocom.org/osmo-ttcn3-hacks/tree/bts|https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/|
22
|[[OpenGGSN:OsmoGGSN]]|http://git.osmocom.org/osmo-ttcn3-hacks/tree/ggsn_tests|https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-ggsn-test/|
23
|[[OsmoHLR:]]|http://git.osmocom.org/osmo-ttcn3-hacks/tree/hlr|https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-hlr-test/|
24
|[[OsmoMGW:]]|http://git.osmocom.org/osmo-ttcn3-hacks/tree/mgw|https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-mgw-test/|
25
|[[OsmoMSC:]]|http://git.osmocom.org/osmo-ttcn3-hacks/tree/msc|https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-msc-test/|
26
|[[OsmoPCU:]]|http://git.osmocom.org/osmo-ttcn3-hacks/tree/pcu|-|
27
|[[OsmoSGSN:]]|http://git.osmocom.org/osmo-ttcn3-hacks/tree/sgsn|https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-sgsn-test/|
28
|[[osmo-sip-connector:]]|http://git.osmocom.org/osmo-ttcn3-hacks/tree/sip|https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-sip-test/|
29
30
h2. Running a testsuite
31
32
You have multiple options on how to execute a test suite.
33
34
35
h3. Running test suite in the dockerized environment
36
37
This is the much easier way to run the test suite.  No manual configuration of Osmocom programs or the test suite are required.  Both the Osmocom program (Implementation Under Test) as well as the test suite are packaged as docker containers, whcih are then executed next to each other using a docker network with the "right" addrsses between IUT and testsuite.
38
39
Also, using this setup you will be guaranteed to run in the exact same environment as the automatically-executed tests on jenkins.osmocom.org, i.e. your results should be exactly identical, without any differences introduced by your runtime environment, whether specific library versions or intentional or inadvertent configuration differences.
40
41
The docker files for this can be found in the "@docker-playground@ git repository":http://git.osmocom.org/docker-playground/ which you can clone from @git://git.osmocom.org/docker-playground@
42
43
Let's assume you'd want to run the testsuite for [[OsmoBSC:]].  You would need to 
44
# look at http://git.osmocom.org/docker-playground/tree/ttcn3-bsc-test/jenkins.sh to understand which containers are required.
45
#* at the time of writing, this is @osmo-stp-master@, @osmo-bsc-master@, @osmo-bts-master@ and @ttcn3-bsc-test@
46
# build those respective containers by issuing @make@ in the above-mentioned directories, e.g.
47
<pre>
48
$ (cd osmo-stp-master && make)
49
$ (cd osmo-bsc-master && make)
50
$ (cd osmo-bts-master && make)
51
$ (cd ttcn3-bsc-test && make)
52
</pre>
53
# run the @jenkins.sh@ script of the @ttcn3-bsc-test@ suite:
54
<pre>
55
$ cd ttcn3-bts-test && ./jenkins.sh
56
</pre>
57
58
The @jenkins.sh@ script will make sure to
59
* create the needed docker network[s]
60
* run all the required containers (IUT, helpers, testsuite)
61
* shut them down after test suite execution
62
* collect the log files after execution, @/tmp/logs@ will contain them
63
64
h4. Running only a sub-set of the test cases
65
66
FIXME
67
68
h3. Running it native on your machine
69
70
This is the most complicated bit to set-up, as you will have to run the respective Osmocom Program (Implementation Under Test) in the right configuration with all the IP addresses, port numbers, config file, etc. exactly like it's expected by the test suite.
71
72
You will need a deeper understanding about how the test suite works, and what its requirement are.
73
74
h4. Running only a sub-set of the test cases
75
76
FIXME
77
78
h2. Further information
79
80
* April 2018 talk by Harald on "State of he Osmocom TTCN-3 Test Suites":https://media.ccc.de/v/UGHHW3
Add picture from clipboard (Maximum size: 48.8 MB)