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/) |