Project

General

Profile

Automatic Testing » History » Version 2

osmith, 07/16/2021 08:31 AM
fix wrong \n

1 1 laforge
h1. Automatic Testing
2
3
Within Osmocom we are used to rather comprehensive functional test suites that we execute automatically
4
at least once per 24 hours.  That is for the 99% of our software that is userspace code.
5
6
For the kernel GTP code, it's of course not that simple, and we never had any related testing so far.
7
8
In 2021, 5 years after the GTP kernel driver was merged mainline, we now finally have set up some test jobs for kernel GTP.
9
10
Those jobs execute the same GGSN test suite that we run against the userspace dataplane (handling GTP-U and GTP-C in a userspace program [[openggsn:|osmo-ggsn]]).  The only difference is that they configure osmo-ggsn to use the kernel GTP driver for GTP-U.
11
12
Those tests are executed by jenkins, in the following jobs:
13
14
h2. ttcn3-ggsn-test-kernel-latest-torvalds
15
16
* "jenkins job":https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-ggsn-test-kernel-latest-torvalds/
17
* runs GGSN test suite against latest released osmo-ggsn version with kernel-gtp of *torvalds/linux.git*
18
* "test results":https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-ggsn-test-kernel-latest-torvalds/test_results_analyzer/ (make sure to click "Expand All")
19
20
h2. ttcn3-ggsn-test-kernel-latest-net-next
21
22
* "jenkins job":https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-ggsn-test-kernel-latest-net-next/
23
* runs GGSN test suite against latest released osmo-ggsn version with kernel-gtp of *net-next.git*
24 2 osmith
* "test results":https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-ggsn-test-kernel-latest-net-next/test_results_analyzer/ (make sure to click "Expand All")
25 1 laforge
26
h2. ttcn3-ggsn-test-kernel-latest
27
28
* "jenkins job":https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-ggsn-test-kernel-latest/
29
* runs GGSN test suite against latest released osmo-ggsn version with kernel-gtp of *Debian 10 kernel package*
30
* "test results":https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-ggsn-test-kernel-latest/test_results_analyzer/
31
(make sure to click "Expand All")
32
33
h1. Manually triggered tests
34
35
Contrary to the above jenkins jobs which all run automatically once every 24 hours, there is also one jenkins job for manual execution:
36
37
h2. ttcn3-ggsn-test-kernel-git
38
39
* "jenkins job":https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-ggsn-test-kernel-git/
40
* this is the same test suite and osmo-ggsn as above, but a developer can manually trigger the job and specify
41
** URL of the kernel git repo to build
42
** branch of the kernel git repo to build
43
** whether to use osmo-ggsn latest tag or master
44
45
If any one is working on the kernel GTP driver and wants to get access to triggering that jenkins job in order to test your patches/branches before submission, please register an account at https://jenkins.osmocom.org/ and contact laforge@osmocom.org privately.
46
47
We are always happy about any contributions in terms of extending test coverage.  This could be done by e.g. adding jobs using other P-GW/GGSN software than osmo-ggsn, or by extending the coverage of the test cases of the test suite.
48
49
For anyone interested in more details, please see our redmine issue https://osmocom.org/issues/3208 tracks the development of the tests.
50
51
The test suite source code (in TTCN-3) is at https://git.osmocom.org/osmo-ttcn3-hacks/tree/ggsn_tests
52
with containerization + configs at https://git.osmocom.org/docker-playground/tree/ttcn3-ggsn-test
53
54
I'd like to thank Oliver Smith for creating the above automatic test CI integration.  Development of this was funded by sysmocom (https://sysmocom.de/)
Add picture from clipboard (Maximum size: 48.8 MB)