ttcn3 tests: make it convenient to invoke custom tests manually

In various ttcn3-*-test jenkins.sh / Dockerfile:

- add -h (hack) option to jenkins.sh
  If calling jenkins.sh with the -h option, bind external osmo-ttcn3-hacks
  sources into the docker containers and start a shell instead of the tests:
    jenkins.sh -h ~/src/osmo-ttcn3-hacks [bind/this/path/to/src]
  An optional second argument is a path bound to /src in the docker image.

- move Dockerfile RUN commands to Makefile within docker img
  Add a Makefile to the image's root, move the RUN command there and call that
  'make' from the Dockerfile RUN command; allows easy manual invocation.

Change-Id: Id7d47f665828557838f541b4467b713a8605389b
This commit is contained in:
Neels Hofmeyr 2018-03-01 16:05:14 +01:00 committed by Neels Hofmeyr
parent ea4610ab23
commit df2086a1a3
32 changed files with 413 additions and 35 deletions

View File

@ -6,7 +6,7 @@ SLEEP_BEFORE_RESPAWN=${SLEEP_BEFORE_RESPAWN:-0}
i=0
max_i=500
while [ $i -lt $max_i ]; do
while [ -e /etc/passwd ]; do
echo "$i: starting: $*"
$* &
LAST_PID=$!

View File

@ -457,3 +457,5 @@ fi
SUITE_NAME=`basename $PWD`
NET_NAME=$SUITE_NAME
export OSMO_TTCN3_COMPARE_ARGS="--allow-xpass"

View File

@ -50,8 +50,9 @@ RUN cd osmo-bsc && \
VOLUME /data
COPY osmo-bsc.cfg /data/osmo-bsc.cfg
COPY Makefile.within-docker-img /Makefile
WORKDIR /data
CMD ["/bin/sh", "-c", "/usr/local/bin/osmo-bsc -c /data/osmo-bsc.cfg >/data/osmo-bsc.log 2>&1"]
WORKDIR /
CMD ["make", "run"]
#EXPOSE

View File

@ -0,0 +1,7 @@
.PHONY: run dbg
run:
cd /data && LD_LIBRARY_PATH=/usr/local/lib /bin/sh -c /usr/local/bin/osmo-bsc -c /data/osmo-bsc.cfg >/data/osmo-bsc.log 2>&1
dbg:
cd /data && LD_LIBRARY_PATH=/usr/local/lib gdb --args /usr/local/bin/osmo-bsc -c osmo-bsc.cfg

View File

@ -48,9 +48,9 @@ RUN cd osmo-bts && \
VOLUME /data
COPY osmo-bts.cfg /data/osmo-bts.cfg
COPY Makefile.within-docker-img /Makefile
WORKDIR /data
# send GSMTAP data to .230 which is the ttcn3-sysinfo test
CMD ["/bin/sh", "-c", "/usr/local/bin/osmo-bts-virtual -c /data/osmo-bts.cfg -i 172.18.0.230 >>/data/osmo-bts-virtual.log 2>&1"]
WORKDIR /
CMD make run
#EXPOSE

View File

@ -0,0 +1,10 @@
.PHONY: run run_ttcn3_bts_test
# the Dockerfile invokes 'run' directly, the manual invocation is usually from the ttcn3-bts-test
default: run_ttcn3_bts_test
run:
cd /data && LD_LIBRARY_PATH=/usr/local/lib /bin/sh -c /usr/local/bin/osmo-bts-virtual -c /data/osmo-bts.cfg -i 172.18.0.230 >>/data/osmo-bts-virtual.log 2>&1
run_ttcn3_bts_test:
cd /data && LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/respawn.sh /usr/local/bin/osmo-bts-trx -c /data/osmo-bts.cfg -i 172.18.9.10

View File

@ -61,8 +61,9 @@ RUN apt-get install -y --no-install-recommends \
VOLUME /data
COPY osmo-msc.cfg /data/osmo-msc.cfg
COPY Makefile.within-docker-img /Makefile
WORKDIR /data
CMD ["/bin/sh", "-c", "/usr/local/bin/osmo-msc -c /data/osmo-msc.cfg >/data/osmo-msc.log 2>&1"]
WORKDIR /
CMD ["make", "run"]
#EXPOSE

View File

@ -0,0 +1,10 @@
.PHONY: run dbg
run:
cd /data && LD_LIBRARY_PATH=/usr/local/lib /bin/sh -c /usr/local/bin/osmo-msc -c /data/osmo-msc.cfg >/data/osmo-msc.log 2>&1
manual:
cd /data && LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/osmo-msc
dbg:
cd /data && LD_LIBRARY_PATH=/usr/local/lib gdb --args /usr/local/bin/osmo-msc

View File

@ -57,8 +57,9 @@ RUN cd osmo-sgsn && \
VOLUME /data
COPY osmo-sgsn.cfg /data/osmo-sgsn.cfg
COPY Makefile.within-docker-img /Makefile
WORKDIR /data
CMD ["/bin/sh", "-c", "/usr/local/bin/osmo-sgsn -c /data/osmo-sgsn.cfg >/data/osmo-sgsn.log 2>&1"]
WORKDIR /
CMD ["make", "run"]
EXPOSE 23000/udp 4245/tcp 4249/tcp 4246/tcp 4263/tcp

View File

@ -0,0 +1,20 @@
.PHONY: compile run log
all: compile run
# construct the /build dir to build outside the mounted-in osmo-bsc source tree
build:
cd /osmo-sgsn && ( test -f configure || autoreconf -fi )
mkdir -p /build
cd /build && /osmo-sgsn/configure
# The compile target assumes an osmo-sgsn src tree mounted into /osmo-sgsn
# using something like docker -v ~/src/osmo-sgsn:/osmo-sgsn
compile: build
$(MAKE) -C /build -j install
run:
cd /data && /bin/sh -c /usr/local/bin/osmo-sgsn -c /data/osmo-sgsn.cfg >/data/osmo-sgsn.log 2>&1
log:

View File

@ -9,5 +9,6 @@ RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" bsc
VOLUME /data
COPY BSC_Tests.cfg /data/BSC_Tests.cfg
COPY Makefile.within-docker-img /Makefile
CMD ttcn3-docker-run bsc BSC_Tests
CMD cd / && make test

View File

@ -0,0 +1,14 @@
.PHONY: compile test log
default: compile test
compile:
$(MAKE) -C /osmo-ttcn3-hacks bsc/compile
$(MAKE) -C /osmo-ttcn3-hacks bsc -j
test:
cd /data && \
/osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/bsc/BSC_Tests; \
exit_code=$$?; \
/osmo-ttcn3-hacks/log_merge.sh BSC_Tests --rm; \
exit $$exit_code

View File

@ -13,6 +13,25 @@ set -e
#Make sure NET_NAME doesn't clash with the AoIP BSC test
NET_NAME=ttcn3-bsc_sccplite-test
ADD_TTCN_RUN_OPTS=""
ADD_TTCN_RUN_CMD=""
ADD_TTCN_VOLUMES=""
ADD_BSC_VOLUMES=""
ADD_BSC_ARGS=""
if [ "x$1" = "x-h" ]; then
ADD_TTCN_RUN_OPTS="-ti"
ADD_TTCN_RUN_CMD="bash"
if [ -d "$2" ]; then
ADD_TTCN_VOLUMES="$ADD_TTCN_VOLUMES -v $2:/osmo-ttcn3-hacks"
fi
if [ -d "$3" ]; then
ADD_BSC_RUN_CMD="sleep 100000"
ADD_BSC_VOLUMES="$ADD_BSC_VOLUMES -v $3:/src"
ADD_BSC_RUN_OPTS="--privileged"
fi
fi
mkdir $VOL_BASE_DIR/bsc-tester
cp sccplite/BSC_Tests.cfg $VOL_BASE_DIR/bsc-tester/
write_mp_osmo_repo "$VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg"
@ -30,9 +49,12 @@ docker run --rm \
$(docker_network_params $SUBNET 20) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/bsc:/data \
$ADD_BSC_VOLUMES \
--name ${BUILD_TAG}-bsc -d \
$DOCKER_ARGS \
$REPO_USER/osmo-bsc-$IMAGE_SUFFIX
$ADD_BSC_RUN_OPTS \
$REPO_USER/osmo-bsc-$IMAGE_SUFFIX \
$ADD_BSC_RUN_CMD
BTS_FEATURES="-fCCN,EGPRS,GPRS,IPv6_NSVC,PAGING_COORDINATION"
@ -57,6 +79,9 @@ docker run --rm \
-e "OSMO_SUT_HOST=172.18.$SUBNET.20" \
-e "OSMO_SUT_PORT=4242" \
-v $VOL_BASE_DIR/bsc-tester:/data \
$ADD_TTCN_VOLUMES \
--name ${BUILD_TAG}-ttcn3-bsc-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-bsc-test
$ADD_TTCN_RUN_OPTS \
$REPO_USER/ttcn3-bsc-test \
$ADD_TTCN_RUN_CMD

View File

@ -11,6 +11,25 @@ docker_images_require \
set_clean_up_trap
set -e
ADD_TTCN_RUN_OPTS=""
ADD_TTCN_RUN_CMD=""
ADD_TTCN_VOLUMES=""
ADD_BSC_VOLUMES=""
ADD_BSC_ARGS=""
if [ "x$1" = "x-h" ]; then
ADD_TTCN_RUN_OPTS="-ti"
ADD_TTCN_RUN_CMD="bash"
if [ -d "$2" ]; then
ADD_TTCN_VOLUMES="$ADD_TTCN_VOLUMES -v $2:/osmo-ttcn3-hacks"
fi
if [ -d "$3" ]; then
ADD_BSC_RUN_CMD="sleep 9999999"
ADD_BSC_VOLUMES="$ADD_BSC_VOLUMES -v $3:/src"
ADD_BSC_RUN_OPTS="--privileged"
fi
fi
mkdir $VOL_BASE_DIR/bsc-tester
cp BSC_Tests.cfg $VOL_BASE_DIR/bsc-tester/
write_mp_osmo_repo "$VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg"
@ -40,9 +59,12 @@ docker run --rm \
$(docker_network_params $SUBNET 20) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/bsc:/data \
$ADD_BSC_VOLUMES \
--name ${BUILD_TAG}-bsc -d \
$DOCKER_ARGS \
$REPO_USER/osmo-bsc-$IMAGE_SUFFIX
$ADD_BSC_RUN_OPTS \
$REPO_USER/osmo-bsc-$IMAGE_SUFFIX \
$ADD_BSC_RUN_CMD
BTS_FEATURES="-fCCN,EGPRS,GPRS,IPv6_NSVC,PAGING_COORDINATION"
@ -67,6 +89,9 @@ docker run --rm \
-e "OSMO_SUT_HOST=172.18.$SUBNET.20" \
-e "OSMO_SUT_PORT=4242" \
-v $VOL_BASE_DIR/bsc-tester:/data \
$ADD_TTCN_VOLUMES \
--name ${BUILD_TAG}-ttcn3-bsc-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-bsc-test
$ADD_TTCN_RUN_OPTS \
$REPO_USER/ttcn3-bsc-test \
$ADD_TTCN_RUN_CMD

View File

@ -9,5 +9,7 @@ RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" bts
VOLUME /data
COPY generic/BTS_Tests.cfg /data/BTS_Tests.cfg
COPY Makefile.within-docker-img /Makefile
CMD ttcn3-docker-run bts BTS_Tests
WORKDIR /
CMD make test

View File

@ -0,0 +1,18 @@
.PHONY: compile test log
default: compile
$(MAKE) test; $(MAKE) log
compile:
$(MAKE) -C /osmo-ttcn3-hacks bts/compile
$(MAKE) -C /osmo-ttcn3-hacks bts -j
test:
cd /data && \
/osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/bts/BTS_Tests; \
exit_code=$$?; \
/osmo-ttcn3-hacks/log_merge.sh BTS_Tests --rm; \
exit $$exit_code
log:
cd /data; /osmo-ttcn3-hacks/log_merge.sh BTS_Tests --rm

View File

@ -21,6 +21,26 @@ clean_up() {
$VOL_BASE_DIR/bts-tester-hopping/junit-xml-hopping-*.log
}
ADD_TTCN_RUN_OPTS=""
ADD_TTCN_RUN_CMD=""
ADD_TTCN_VOLUMES=""
BTS_JUST_IDLE=""
ADD_BTS_VOLUMES=""
ADD_BTS_RUN_OPTS=""
if [ "x$1" = "x-h" ]; then
ADD_TTCN_RUN_OPTS="-ti"
ADD_TTCN_RUN_CMD="bash"
if [ -d "$2" ]; then
ADD_TTCN_VOLUMES="$ADD_TTCN_VOLUMES -v $2:/osmo-ttcn3-hacks"
fi
if [ -d "$3" ]; then
BTS_JUST_IDLE="1"
ADD_BTS_VOLUMES="$ADD_BTS_VOLUMES -v $3:/src"
ADD_BTS_RUN_OPTS="--privileged"
fi
fi
start_bsc() {
echo Starting container with BSC
docker run --rm \
@ -42,16 +62,26 @@ start_bts() {
echo ERROR: You have to specify a BTS variant
exit 23
fi
if [ "$BTS_JUST_IDLE" = 1 ]; then
# for running tests manually:
# practically idle forever, but for sanity not really forever
BTS_RUN_CMD="sleep 9999999"
else
# normal command to run unattended tests
BTS_RUN_CMD="/bin/sh -c \"/usr/local/bin/respawn.sh osmo-bts-$variant -c /data/osmo-bts.gen.cfg >>/data/osmo-bts.log 2>&1\""
fi
docker run --rm \
$(docker_network_params $SUBNET 20) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/bts:/data \
-v $VOL_BASE_DIR/unix:/data/unix \
$ADD_BTS_VOLUMES \
-e "SLEEP_BEFORE_RESPAWN=$sleep_time_respawn" \
--name ${BUILD_TAG}-bts -d \
$DOCKER_ARGS \
$ADD_BTS_RUN_OPTS \
$REPO_USER/osmo-bts-$IMAGE_SUFFIX \
/bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant -c /data/osmo-bts.gen.cfg >>/data/osmo-bts.log 2>&1"
$BTS_RUN_CMD
}
start_fake_trx() {
@ -97,6 +127,7 @@ start_virtphy() {
--name ${BUILD_TAG}-virtphy -d \
$DOCKER_ARGS \
$REPO_USER/osmocom-bb-host-master \
virtphy -s /data/unix/osmocom_l2
/bin/sh -c "virtphy -s /data/unix/osmocom_l2 >>/data/virtphy.log 2>&1"
}
@ -111,9 +142,12 @@ start_testsuite() {
-e "OSMO_SUT_PORT=4241" \
-v $VOL_BASE_DIR/bts-tester-${variant}:/data \
-v $VOL_BASE_DIR/unix:/data/unix \
$ADD_TTCN_VOLUMES \
--name ${BUILD_TAG}-ttcn3-bts-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-bts-test
$ADD_TTCN_RUN_OPTS \
$REPO_USER/ttcn3-bts-test \
$ADD_TTCN_RUN_CMD
}
SUBNET=9

View File

@ -9,5 +9,7 @@ RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" hlr
VOLUME /data
COPY HLR_Tests.cfg /data/HLR_Tests.cfg
COPY Makefile.within-docker-img /Makefile
CMD ttcn3-docker-run hlr HLR_Tests
WORKDIR /
CMD make test

View File

@ -0,0 +1,13 @@
.PHONY: compile test log
all: compile test
compile:
$(MAKE) -C /osmo-ttcn3-hacks hlr/all
test:
cd /data && \
/osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/hlr/HLR_Tests HLR_Tests.cfg $(TEST); \
exit_code=$$?; \
/osmo-ttcn3-hacks/log_merge.sh HLR_Tests --rm; \
exit $$exit_code

View File

@ -9,6 +9,26 @@ docker_images_require \
set_clean_up_trap
set -e
ADD_TTCN_RUN_OPTS=""
ADD_TTCN_RUN_CMD=""
ADD_TTCN_VOLUMES=""
ADD_HLR_VOLUMES=""
ADD_HLR_RUN_OPTS=""
HLR_RUN_CMD="osmo-hlr -c /data/osmo-hlr.cfg"
if [ "x$1" = "x-h" ]; then
ADD_TTCN_RUN_OPTS="-ti"
ADD_TTCN_RUN_CMD="bash"
if [ -d "$2" ]; then
ADD_TTCN_VOLUMES="$ADD_TTCN_VOLUMES -v $2:/osmo-ttcn3-hacks"
fi
if [ -d "$3" ]; then
ADD_HLR_VOLUMES="$ADD_HLR_VOLUMES -v $3:/src"
HLR_RUN_CMD="sleep 9999999"
ADD_HLR_RUN_OPTS="--privileged"
fi
fi
SUBNET=10
network_create $SUBNET
@ -24,10 +44,12 @@ docker run --rm \
$(docker_network_params $SUBNET 20) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/hlr:/data \
$ADD_HLR_VOLUMES \
--name ${BUILD_TAG}-hlr -d \
$DOCKER_ARGS \
$ADD_HLR_RUN_OPTS \
$REPO_USER/osmo-hlr-$IMAGE_SUFFIX \
/bin/sh -c "osmo-hlr -c /data/osmo-hlr.cfg >/data/osmo-hlr.log 2>&1"
$HLR_RUN_CMD
echo Starting container with HLR testsuite
docker run --rm \
@ -37,6 +59,9 @@ docker run --rm \
-e "OSMO_SUT_HOST=172.18.$SUBNET.20" \
-e "OSMO_SUT_PORT=4258" \
-v $VOL_BASE_DIR/hlr-tester:/data \
$ADD_TTCN_VOLUMES \
--name ${BUILD_TAG}-ttcn3-hlr-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-hlr-test
$ADD_TTCN_RUN_OPTS \
$REPO_USER/ttcn3-hlr-test \
$ADD_TTCN_RUN_CMD

View File

@ -2,8 +2,9 @@
! OsmoHLR example configuration
!
log gsmtap 172.18.10.103
logging level set-all debug
logging filter all 1
logging level set-all debug
logging level linp error
!
log stderr
logging filter all 1
@ -14,6 +15,7 @@ log stderr
logging print file basename last
logging print extended-timestamp 1
logging level set-all debug
logging level linp error
!
line vty
bind 0.0.0.0

View File

@ -9,5 +9,6 @@ RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" mgw
VOLUME /data
COPY MGCP_Test.cfg /data/MGCP_Test.cfg
COPY Makefile.within-docker-img /Makefile
CMD ttcn3-docker-run mgw MGCP_Test
CMD cd / && make test

View File

@ -0,0 +1,14 @@
.PHONY: compile test log
default: compile test
compile:
$(MAKE) -C /osmo-ttcn3-hacks mgw/compile
$(MAKE) -C /osmo-ttcn3-hacks mgw -j
test:
cd /data && \
/osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/mgw/MGCP_Test; \
exit_code=$$?; \
/osmo-ttcn3-hacks/log_merge.sh MGCP_Test --rm; \
exit $$exit_code

View File

@ -9,6 +9,25 @@ docker_images_require \
set_clean_up_trap
set -e
ADD_TTCN_RUN_OPTS=""
ADD_TTCN_RUN_CMD=""
ADD_TTCN_VOLUMES=""
ADD_MGW_VOLUMES=""
ADD_MGW_ARGS=""
if [ "x$1" = "x-h" ]; then
ADD_TTCN_RUN_OPTS="-ti"
ADD_TTCN_RUN_CMD="bash"
if [ -d "$2" ]; then
ADD_TTCN_VOLUMES="$ADD_TTCN_VOLUMES -v $2:/osmo-ttcn3-hacks"
fi
if [ -d "$3" ]; then
ADD_MGW_RUN_CMD="sleep 9999999"
ADD_MGW_VOLUMES="$ADD_MGW_VOLUMES -v $3:/src"
ADD_MGW_RUN_OPTS="--privileged"
fi
fi
mkdir $VOL_BASE_DIR/mgw-tester
cp MGCP_Test.cfg $VOL_BASE_DIR/mgw-tester/
write_mp_osmo_repo "$VOL_BASE_DIR/mgw-tester/MGCP_Test.cfg"
@ -24,16 +43,22 @@ docker run --rm \
$(docker_network_params $SUBNET 180) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/mgw:/data \
$ADD_MGW_VOLUMES \
--name ${BUILD_TAG}-mgw -d \
$DOCKER_ARGS \
$REPO_USER/osmo-mgw-$IMAGE_SUFFIX
$ADD_MGW_RUN_OPTS \
$REPO_USER/osmo-mgw-$IMAGE_SUFFIX \
$ADD_MGW_RUN_CMD
# start docker container with testsuite in foreground
docker run --rm \
$(docker_network_params $SUBNET 181) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/mgw-tester:/data \
$ADD_TTCN_VOLUMES \
-e "TTCN3_PCAP_PATH=/data" \
--name ${BUILD_TAG}-ttcn3-mgw-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-mgw-test
$ADD_TTCN_RUN_OPTS \
$REPO_USER/ttcn3-mgw-test \
$ADD_TTCN_RUN_CMD

View File

@ -9,5 +9,7 @@ RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" msc
VOLUME /data
COPY MSC_Tests.cfg /data/MSC_Tests.cfg
COPY Makefile.within-docker-img /Makefile
CMD ttcn3-docker-run msc MSC_Tests
WORKDIR /
CMD make test

View File

@ -0,0 +1,13 @@
.PHONY: compile test log
all: compile test
compile:
$(MAKE) -C /osmo-ttcn3-hacks msc/all
test:
cd /data && \
/osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/msc/MSC_Tests MSC_Tests.cfg $(TEST); \
exit_code=$$?; \
/osmo-ttcn3-hacks/log_merge.sh MSC_Tests --rm; \
exit $$exit_code

View File

@ -13,6 +13,26 @@ set -e
SUBNET=20
network_create $SUBNET
ADD_TTCN_RUN_OPTS=""
ADD_TTCN_RUN_CMD=""
ADD_TTCN_VOLUMES=""
ADD_MSC_VOLUMES=""
ADD_MSC_RUN_OPTS=""
MSC_RUN_CMD="/bin/sh -c \"osmo-msc -c /data/osmo-msc.cfg >>/data/osmo-msc.log 2>&1\""
if [ "x$1" = "x-h" ]; then
ADD_TTCN_RUN_OPTS="-ti"
ADD_TTCN_RUN_CMD="bash"
if [ -d "$2" ]; then
ADD_TTCN_VOLUMES="$ADD_TTCN_VOLUMES -v $2:/osmo-ttcn3-hacks"
fi
if [ -d "$3" ]; then
ADD_MSC_VOLUMES="$ADD_MSC_VOLUMES -v $3:/src"
MSC_RUN_CMD="sleep 9999999"
ADD_MSC_RUN_OPTS="--privileged"
fi
fi
mkdir $VOL_BASE_DIR/msc-tester
mkdir $VOL_BASE_DIR/msc-tester/unix
cp MSC_Tests.cfg $VOL_BASE_DIR/msc-tester/
@ -41,10 +61,12 @@ docker run --rm \
--ulimit core=-1 \
-v $VOL_BASE_DIR/msc:/data \
-v $VOL_BASE_DIR/unix:/data/unix \
$ADD_MSC_VOLUMES \
--name ${BUILD_TAG}-msc -d \
$DOCKER_ARGS \
$ADD_MSC_RUN_OPTS \
$REPO_USER/osmo-msc-$IMAGE_SUFFIX \
/bin/sh -c "osmo-msc -c /data/osmo-msc.cfg >>/data/osmo-msc.log 2>&1"
$MSC_RUN_CMD
echo Starting container with MSC testsuite
docker run --rm \
@ -55,6 +77,9 @@ docker run --rm \
-e "OSMO_SUT_PORT=4254" \
-v $VOL_BASE_DIR/msc-tester:/data \
-v $VOL_BASE_DIR/unix:/data/unix \
$ADD_TTCN_VOLUMES \
--name ${BUILD_TAG}-ttcn3-msc-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-msc-test
$ADD_TTCN_RUN_OPTS \
$REPO_USER/ttcn3-msc-test \
$ADD_TTCN_RUN_CMD

View File

@ -9,5 +9,6 @@ RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" sgsn
VOLUME /data
COPY SGSN_Tests.cfg /data/SGSN_Tests.cfg
COPY Makefile.within-docker-img /Makefile
CMD ttcn3-docker-run sgsn SGSN_Tests
CMD cd / && make test

View File

@ -0,0 +1,18 @@
.PHONY: compile test log
default: compile
$(MAKE) test; $(MAKE) log
compile:
$(MAKE) -C /osmo-ttcn3-hacks sgsn/compile
$(MAKE) -C /osmo-ttcn3-hacks sgsn -j
test:
cd /data && \
/osmo-ttcn3-hacks/start-testsuite.sh /osmo-ttcn3-hacks/sgsn/SGSN_Tests; \
exit_code=$$?; \
/osmo-ttcn3-hacks/log_merge.sh SGSN_Tests --rm; \
exit $$exit_code
log:
cd /data; /osmo-ttcn3-hacks/log_merge.sh SGSN_Tests --rm

View File

@ -10,6 +10,41 @@ docker_images_require \
set_clean_up_trap
set -e
ADD_TTCN_RUN_OPTS=""
ADD_TTCN_RUN_CMD=""
ADD_TTCN_VOLUMES=""
SGSN_RUN_CMD="osmo-sgsn -c /data/osmo-sgsn.cfg"
ADD_SGSN_VOLUMES=""
ADD_SGSN_ARGS=""
ADD_SGSN_RUN_OPTS=""
if [ "x$1" = "x-h" ]; then
ADD_TTCN_RUN_OPTS="-ti"
ADD_TTCN_RUN_CMD="bash"
if [ -d "$2" ]; then
ADD_TTCN_VOLUMES="$ADD_TTCN_VOLUMES -v $2:/osmo-ttcn3-hacks"
fi
if [ -d "$3" ]; then
SGSN_RUN_CMD="sleep 9999999"
ADD_SGSN_VOLUMES="$ADD_SGSN_VOLUMES -v $3:/src"
set +x
echo "
===== ATTENTION =====
Starting the osmo-sgsn-master docker image in hacking mode.
That means to launch the SGSN, you need to attach to it and start it manually:
docker exec -ti nonjenkins-sgsn bash
/# make
=====
"
set -x
fi
else
ADD_TTCN_RUN_CMD="$@"
fi
SUBNET=8
network_create $SUBNET
@ -39,10 +74,12 @@ docker run --rm \
$(docker_network_params $SUBNET 10) \
--ulimit core=-1 \
-v $VOL_BASE_DIR/sgsn:/data \
$ADD_SGSN_VOLUMES \
--name ${BUILD_TAG}-sgsn -d \
$DOCKER_ARGS \
$ADD_SGSN_RUN_OPTS \
$REPO_USER/osmo-sgsn-$IMAGE_SUFFIX \
/bin/sh -c "osmo-sgsn -c /data/osmo-sgsn.cfg >/data/osmo-sgsn.log 2>&1"
$SGSN_RUN_CMD
echo Starting container with SGSN testsuite
docker run --rm \
@ -52,6 +89,9 @@ docker run --rm \
-e "OSMO_SUT_HOST=172.18.$SUBNET.10" \
-e "OSMO_SUT_PORT=4245" \
-v $VOL_BASE_DIR/sgsn-tester:/data \
$ADD_TTCN_VOLUMES \
--name ${BUILD_TAG}-ttcn3-sgsn-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-sgsn-test
$ADD_TTCN_RUN_OPTS \
$REPO_USER/ttcn3-sgsn-test \
$ADD_TTCN_RUN_CMD

View File

@ -9,10 +9,11 @@ log gsmtap 172.18.8.103
log stderr
logging filter all 1
logging color 1
logging print level 1
logging print category 1
logging timestamp 1
logging print category-hex 0
logging print extended-timestamp 1
logging print file 1
logging print file basename last
logging level mm debug
logging level pag notice
logging level meas notice

View File

@ -9,6 +9,26 @@ docker_images_require \
set_clean_up_trap
set -e
ADD_TTCN_RUN_OPTS=""
ADD_TTCN_RUN_CMD=""
ADD_TTCN_VOLUMES=""
ADD_SIP_VOLUMES=""
ADD_SIP_ARGS=""
SIP_RUN_CMD="/bin/sh -c \"osmo-sip-connector -c /data/osmo-sip-connector.cfg >>/data/osmo-sip-connector.log 2>&1\""
if [ "x$1" = "x-h" ]; then
ADD_TTCN_RUN_OPTS="-ti"
ADD_TTCN_RUN_CMD="bash"
if [ -d "$2" ]; then
ADD_TTCN_VOLUMES="$ADD_TTCN_VOLUMES -v $2:/osmo-ttcn3-hacks"
fi
if [ -d "$3" ]; then
SIP_RUN_CMD="sleep 9999999"
ADD_SIP_VOLUMES="$ADD_SIP_VOLUMES -v $3:/src"
ADD_SIP_RUN_OPTS="--privileged"
fi
fi
SUBNET=11
network_create $SUBNET
@ -29,10 +49,12 @@ docker run --rm \
--ulimit core=-1 \
-v $VOL_BASE_DIR/sip:/data \
-v $VOL_BASE_DIR/unix:/data/unix \
$ADD_SIP_VOLUMES \
--name ${BUILD_TAG}-sip-connector -d \
$DOCKER_ARGS \
$ADD_SIP_RUN_OPTS \
$REPO_USER/osmo-sip-$IMAGE_SUFFIX \
/bin/sh -c "osmo-sip-connector -c /data/osmo-sip-connector.cfg >>/data/osmo-sip-connector.log 2>&1"
$SIP_RUN_CMD
echo Starting container with SIP testsuite
docker run --rm \
@ -41,6 +63,9 @@ docker run --rm \
-e "TTCN3_PCAP_PATH=/data" \
-v $VOL_BASE_DIR/sip-tester:/data \
-v $VOL_BASE_DIR/unix:/data/unix \
$ADD_TTCN_VOLUMES \
--name ${BUILD_TAG}-ttcn3-sip-test \
$DOCKER_ARGS \
$REPO_USER/ttcn3-sip-test
$ADD_TTCN_RUN_OPTS \
$REPO_USER/ttcn3-sip-test \
$ADD_TTCN_RUN_CMD