aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-12-09 21:42:58 +0300
committerfixeria <vyanitskiy@sysmocom.de>2022-01-17 15:42:45 +0000
commit3414a48340e8d7f53c6287837af0a1239c1afcc0 (patch)
treecc50e3ffbbe9737ffb80fda8255f7df53d3ca8cf
parenta3a1a0d94a52f4c7bb566004be21fce9e6850143 (diff)
Add tmux scripts for ttcn3-{msc,bsc,bts}-testHEADmaster
-rw-r--r--README9
-rwxr-xr-xttcn3/tmux/ttcn3-bsc-test.sh43
-rwxr-xr-xttcn3/tmux/ttcn3-bts-test.sh54
-rwxr-xr-xttcn3/tmux/ttcn3-msc-test.sh26
4 files changed, 132 insertions, 0 deletions
diff --git a/README b/README
index 7f1b594..f4f4eda 100644
--- a/README
+++ b/README
@@ -169,6 +169,15 @@ https://osmocom.org/projects/cellular-infrastructure/wiki/Titan_TTCN3_Testsuites
[1] https://jenkins.osmocom.org/jenkins/view/TTCN3/
+=== ttcn3/tmux
+
+It's possible to run TTCN-3 test cases without using Docker. This directory
+contains scripts for starting a testsuite and the related binaries in a tmux
+session. For example, ttcn3-bsc-test.sh does the following:
+
+* Starts osmo-bsc, osmo-stp, and three instances of osmo-bts-omldummy.
+* Prepares a command for execuring the test suite.
+
=== Troubleshooting
When using sanitize.opts, osmo-trx is not built with the address sanitizer
diff --git a/ttcn3/tmux/ttcn3-bsc-test.sh b/ttcn3/tmux/ttcn3-bsc-test.sh
new file mode 100755
index 0000000..c0d9709
--- /dev/null
+++ b/ttcn3/tmux/ttcn3-bsc-test.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+SESSION="ttcn3-bsc-test"
+
+OSMO_DIR="/home/$USER/osmocom"
+SUITE_DIR="$OSMO_DIR/osmo-ttcn3-hacks"
+RESPAWN="$OSMO_DIR/scripts/respawn.sh"
+
+if [ ! -d $SUITE_DIR ]; then
+ echo "Directory '$SUITE_DIR' does not exist"
+ echo "Please specify where to find osmo-ttcn3-hacks"
+ exit 1
+fi
+
+if [ ! -f $RESPAWN ]; then
+ echo "Script '$RESPAWN' does not exist"
+ echo "Please specify where to find respawn.sh"
+ exit 1
+fi
+
+tmux new-session -s $SESSION -n $SESSION -d
+
+tmux split-window -t $SESSION:0 -v
+tmux send-keys -t $SESSION:0.0 "cd $SUITE_DIR/bsc" C-m
+tmux send-keys -t $SESSION:0.0 "osmo-bsc -c osmo-bsc.cfg" C-m
+tmux send-keys -t $SESSION:0.1 "cd $SUITE_DIR/bsc" C-m
+tmux send-keys -t $SESSION:0.1 "../start-testsuite.sh ./BSC_Tests BSC_Tests.cfg"
+
+tmux new-window -t $SESSION:1
+tmux split-window -t $SESSION:1 -v
+tmux split-window -t $SESSION:1 -v
+tmux split-window -t $SESSION:1 -v
+tmux split-window -t $SESSION:1 -v
+
+# Start osmo-stp
+tmux send-keys -t $SESSION:1.0 "cd $SUITE_DIR/bsc" C-m
+tmux send-keys -t $SESSION:1.0 "osmo-stp -c osmo-stp.cfg" C-m
+# Start osmo-bts-omldummy
+tmux send-keys -t $SESSION:1.1 "$RESPAWN osmo-bts-omldummy 127.0.0.1 1234" C-m
+tmux send-keys -t $SESSION:1.2 "$RESPAWN osmo-bts-omldummy 127.0.0.1 1235" C-m
+tmux send-keys -t $SESSION:1.3 "$RESPAWN osmo-bts-omldummy 127.0.0.1 1236" C-m
+
+tmux attach -t $SESSION:0
diff --git a/ttcn3/tmux/ttcn3-bts-test.sh b/ttcn3/tmux/ttcn3-bts-test.sh
new file mode 100755
index 0000000..78acad9
--- /dev/null
+++ b/ttcn3/tmux/ttcn3-bts-test.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+SESSION="ttcn3-bts-test"
+
+OSMO_DIR="/home/$USER/osmocom"
+OBB_DIR="$OSMO_DIR/osmocom-bb"
+SUITE_DIR="$OSMO_DIR/osmo-ttcn3-hacks"
+RESPAWN="$OSMO_DIR/scripts/respawn.sh"
+
+if [ ! -d $SUITE_DIR ]; then
+ echo "Directory '$SUITE_DIR' does not exist"
+ echo "Please specify where to find osmo-ttcn3-hacks"
+ exit 1
+fi
+
+if [ ! -d $OBB_DIR ]; then
+ echo "Directory '$OBB_DIR' does not exist"
+ echo "Please specify where to find osmocom-bb"
+ exit 1
+fi
+
+if [ ! -f $RESPAWN ]; then
+ echo "Script '$RESPAWN' does not exist"
+ echo "Please specify where to find respawn.sh"
+ exit 1
+fi
+
+tmux new-session -s $SESSION -n $SESSION -d
+
+tmux split-window -t $SESSION:0 -v
+tmux send-keys -t $SESSION:0.0 "cd $SUITE_DIR/bts" C-m
+tmux send-keys -t $SESSION:0.0 "$RESPAWN osmo-bts-trx -c osmo-bts.cfg"
+tmux send-keys -t $SESSION:0.1 "cd $SUITE_DIR/bts" C-m
+tmux send-keys -t $SESSION:0.1 "../start-testsuite.sh ./BTS_Tests BTS_Tests.cfg"
+
+
+tmux new-window -t $SESSION:1
+tmux split-window -t $SESSION:1 -v
+tmux split-window -t $SESSION:1 -v
+
+# Start osmo-bsc
+tmux send-keys -t $SESSION:1.0 "cd $SUITE_DIR/bts" C-m
+tmux send-keys -t $SESSION:1.0 "osmo-bsc -c osmo-bsc.cfg" C-m
+# Start trxcon
+tmux send-keys -t $SESSION:1.1 "cd $OBB_DIR/src/host/trxcon" C-m
+tmux send-keys -t $SESSION:1.1 "./trxcon -s /tmp/osmocom_l2" C-m
+# Start fake_trx.py
+tmux send-keys -t $SESSION:1.2 "cd $OBB_DIR/src/target/trx_toolkit" C-m
+tmux send-keys -t $SESSION:1.2 "./fake_trx.py \
+ --trx TRX1@127.0.0.1:5700/1 \
+ --trx TRX1@127.0.0.1:5700/2 \
+ --trx TRX1@127.0.0.1:5700/3" C-m
+
+tmux attach -t $SESSION:0
diff --git a/ttcn3/tmux/ttcn3-msc-test.sh b/ttcn3/tmux/ttcn3-msc-test.sh
new file mode 100755
index 0000000..fee1383
--- /dev/null
+++ b/ttcn3/tmux/ttcn3-msc-test.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+SESSION="ttcn3-msc-test"
+
+OSMO_DIR="/home/$USER/osmocom"
+SUITE_DIR="$OSMO_DIR/osmo-ttcn3-hacks"
+
+if [ ! -d $SUITE_DIR ]; then
+ echo "Directory '$SUITE_DIR' does not exist"
+ echo "Please specify where to find osmo-ttcn3-hacks"
+ exit 1
+fi
+
+tmux new-session -s $SESSION -n $SESSION -d
+
+tmux split-window -t $SESSION:0 -v
+tmux send-keys -t $SESSION:0.0 "cd $SUITE_DIR/msc" C-m
+tmux send-keys -t $SESSION:0.0 "osmo-msc -c osmo-msc.cfg" C-m
+tmux send-keys -t $SESSION:0.1 "cd $SUITE_DIR/msc" C-m
+tmux send-keys -t $SESSION:0.1 "../start-testsuite.sh ./MSC_Tests MSC_Tests.cfg"
+
+tmux new-window -t $SESSION:1
+tmux send-keys -t $SESSION:1.0 "cd $SUITE_DIR/msc" C-m
+tmux send-keys -t $SESSION:1.0 "osmo-stp -c osmo-stp.cfg" C-m
+
+tmux attach -t $SESSION:0