support for dockerized osmo-resmim testsuite

Change-Id: I05090f408b04aae24c23978da831e9f844d723a3
This commit is contained in:
Harald Welte 2019-09-13 11:09:25 +02:00
parent 0d426bd8f5
commit 7c53be0412
8 changed files with 182 additions and 0 deletions

View File

@ -0,0 +1,2 @@
release=0.0.0
tag=ttcn3-remsim-test-0.0.0

View File

@ -0,0 +1,35 @@
ARG USER
FROM $USER/debian-stretch-titan
RUN mkdir /root/projects && (cd /root/projects && ln -sf / git)
RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git
RUN cd osmo-ttcn3-hacks && \
git checkout -f -B master origin/master && \
make deps
RUN git config --global user.email docker@dock.er && \
git config --global user.name "Dock Er"
ARG OSMO_TTCN3_BRANCH="master"
ADD http://git.osmocom.org/osmo-ttcn3-hacks/patch?h=$OSMO_TTCN3_BRANCH /tmp/commit
RUN cd osmo-ttcn3-hacks && \
git fetch && \
git checkout $OSMO_TTCN3_BRANCH && \
(git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_TTCN3_BRANCH || exit 1); \
git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \
make deps-update remsim
VOLUME /data
RUN ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-start.sh / && \
ln -s /osmo-ttcn3-hacks/ttcn3-tcpdump-stop.sh /
COPY REMSIM_Tests.cfg /data/REMSIM_Tests.cfg
CMD cd /data && \
/osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/remsim/REMSIM_Tests; \
exit_code=$?; \
/osmo-ttcn3-hacks/log_merge.sh REMSIM_Tests --rm; \
exit $exit_code

View File

@ -0,0 +1,2 @@
include ../make/Makefile

View File

@ -0,0 +1,16 @@
[ORDERED_INCLUDE]
"/osmo-ttcn3-hacks/Common.cfg"
"/osmo-ttcn3-hacks/remsim/REMSIM_Tests.default"
[LOGGING]
[TESTPORT_PARAMETERS]
[MODULE_PARAMETERS]
# IP address of IUT (server) to which test connects
REMSIM_Tests.mp_server_ip := "172.18.17.20"
[MAIN_CONTROLLER]
[EXECUTE]
RemsimServer_Tests.control

View File

@ -0,0 +1,18 @@
[ORDERED_INCLUDE]
"/osmo-ttcn3-hacks/Common.cfg"
"/osmo-ttcn3-hacks/remsim/REMSIM_Tests.default"
[LOGGING]
[TESTPORT_PARAMETERS]
[MODULE_PARAMETERS]
# IP address on which the simulated server binds
REMSIM_Tests.mp_server_ip := "172.18.17.10"
# IP address of the IUT (bankd) to which simulated client connects
REMSIM_Tests.mp_bankd_ip := "172.18.17.30"
[MAIN_CONTROLLER]
[EXECUTE]
RemsimBankd_Tests.control

View File

@ -0,0 +1,6 @@
"1","0","ACS ACR33 ICC Reader 00 00"
"1","1","ACS ACR33 ICC Reader 00 01"
"1","2","ACS ACR33 ICC Reader 00 02"
"1","3","ACS ACR33 ICC Reader 00 03"
"1","4","ACS ACR33 ICC Reader 00 04"
"1","23","Alcor Micro AU9560 00 00"
1 1 0 ACS ACR33 ICC Reader 00 00
2 1 1 ACS ACR33 ICC Reader 00 01
3 1 2 ACS ACR33 ICC Reader 00 02
4 1 3 ACS ACR33 ICC Reader 00 03
5 1 4 ACS ACR33 ICC Reader 00 04
6 1 23 Alcor Micro AU9560 00 00

View File

@ -0,0 +1,18 @@
[ORDERED_INCLUDE]
"/osmo-ttcn3-hacks/Common.cfg"
"/osmo-ttcn3-hacks/remsim/REMSIM_Tests.default"
[LOGGING]
[TESTPORT_PARAMETERS]
# IP address to which ATS binds emulated remsim-server
REMSIM_Tests.mp_server_ip := "172.18.17.10"
# IP address to which ATS binds emulated remsim-bankd
REMSIM_Tests.mp_bankd_ip := "172.18.17.10"
[MODULE_PARAMETERS]
[MAIN_CONTROLLER]
[EXECUTE]
RemsimClient_Tests.control

85
ttcn3-remsim-test/jenkins.sh Executable file
View File

@ -0,0 +1,85 @@
#!/bin/sh
. ../jenkins-common.sh
IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}"
docker_images_require \
"debian-stretch-build" \
"osmo-remsim-$IMAGE_SUFFIX" \
"ttcn3-remsim-test"
start_server() {
echo Starting container with osmo-remsim-server
docker run --rm \
--network $NET_NAME --ip 172.18.17.20 \
-v $VOL_BASE_DIR/server:/data \
--name ${BUILD_TAG}-server -d \
$REPO_USER/osmo-remsim-$IMAGE_SUFFIX \
osmo-remsim-server
}
start_bankd() {
echo Starting container with osmo-remsim-bankd
docker run --rm \
--network $NET_NAME --ip 172.18.17.30 \
-v $VOL_BASE_DIR/bankd:/data \
--name ${BUILD_TAG}-bankd -d \
$REPO_USER/osmo-remsim-$IMAGE_SUFFIX \
osmo-remsim-bankd -i 172.18.17.10
}
start_client() {
echo Starting container with osmo-remsim-client
docker run --rm \
--network $NET_NAME --ip 172.18.17.40 \
-v $VOL_BASE_DIR/client:/data \
--name ${BUILD_TAG}-client-d \
$REPO_USER/osmo-remsim-$IMAGE_SUFFIX \
osmo-remsim-client
}
start_testsuite() {
echo Starting container with REMSIM testsuite
docker run --rm \
--network $NET_NAME --ip 172.18.17.10 \
-e "TTCN3_PCAP_PATH=/data" \
-v $VOL_BASE_DIR/remsim-tester:/data \
--name ${BUILD_TAG}-ttcn3-remsim-test \
$REPO_USER/ttcn3-remsim-test
}
network_create 172.18.17.0/24
mkdir $VOL_BASE_DIR/remsim-tester
mkdir $VOL_BASE_DIR/server
mkdir $VOL_BASE_DIR/bankd
cp bankd/bankd_pcsc_slots.csv $VOL_BASE_DIR/bankd/
mkdir $VOL_BASE_DIR/client
# 1) server test suite
start_server
cp REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/
start_testsuite
docker container kill ${BUILD_TAG}-server
# 2) bankd test suite
echo "Changing to bankd configuration"
start_bankd
cp bankd/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/
start_testsuite
docker container kill ${BUILD_TAG}-bankd
# 3) client test suite
#echo "Changing to client configuration"
#start_client
#cp client/REMSIM_Tests.cfg $VOL_BASE_DIR/remsim-tester/
#start_testsuite
#docker container kill ${BUILD_TAG}-client
network_remove
collect_logs