blob: f7b97e8bbe50f9418632b1d1e9e41a4915e84111 [file] [log] [blame]
Philipp Maier7124ad12023-08-01 16:00:28 +02001#!/bin/bash
Philipp Maierec9cdb72023-07-27 14:43:08 +02002
Philipp Maiera380e4e2023-08-01 15:29:13 +02003# Utility to verify the functionality of pySim-trace.py
4#
5# (C) 2023 by Sysmocom s.f.m.c. GmbH
6# All Rights Reserved
7#
8# Author: Philipp Maier
9#
10# This program is free software: you can redistribute it and/or modify
11# it under the terms of the GNU General Public License as published by
12# the Free Software Foundation, either version 2 of the License, or
13# (at your option) any later version.
14#
15# This program is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18# GNU General Public License for more details.
19#
20# You should have received a copy of the GNU General Public License
21# along with this program. If not, see <http://www.gnu.org/licenses/>.
22
Philipp Maierec9cdb72023-07-27 14:43:08 +020023PYSIM_TRACE=../pySim-trace.py
24GSMTAP_TRACE=pySim-trace_test_gsmtap.pcapng
Philipp Maiera380e4e2023-08-01 15:29:13 +020025TEMPFILE=temp.tmp
Philipp Maierec9cdb72023-07-27 14:43:08 +020026
Philipp Maier4af63dc2023-10-26 12:17:32 +020027export PYSIM_INTEGRATION_TEST=1
28
Philipp Maierec9cdb72023-07-27 14:43:08 +020029echo "pySim-trace_test - a test program to test pySim-trace.py"
30echo "========================================================"
31
Philipp Maiera380e4e2023-08-01 15:29:13 +020032function usage {
33 echo "Options:"
34 echo "-o: generate .ok file"
35}
36
37function gen_ok_file {
38 $PYSIM_TRACE gsmtap-pyshark-pcap -f $GSMTAP_TRACE > $GSMTAP_TRACE.ok
39 echo "Generated file: $GSMTAP_TRACE.ok"
40 echo "------------8<------------"
41 cat $GSMTAP_TRACE.ok
42 echo "------------8<------------"
43}
44
45function run_test {
46 $PYSIM_TRACE gsmtap-pyshark-pcap -f $GSMTAP_TRACE | tee $TEMPFILE
47 if [ ${PIPESTATUS[0]} -ne 0 ]; then
48 echo ""
49 echo "========================================================"
50 echo "Testrun with $GSMTAP_TRACE failed (exception)."
51 rm -f $TEMPFILE
52 exit 1
53 fi
54
55 DIFF=`diff $GSMTAP_TRACE.ok $TEMPFILE`
56 if ! [ -z "$DIFF" ]; then
57 echo "Testrun with $GSMTAP_TRACE failed (unexpected output)."
58 echo "------------8<------------"
59 diff $GSMTAP_TRACE.ok $TEMPFILE
60 echo "------------8<------------"
61 rm -f $TEMPFILE
62 exit 1
63 fi
64
65 echo ""
66 echo "========================================================"
67 echo "trace parsed without problems -- everything ok!"
68 rm -f $TEMPFILE
69}
70
71OPT_GEN_OK_FILE=0
72while getopts ":ho" OPT; do
73 case $OPT in
74 h)
75 usage
76 exit 0
77 ;;
78 o)
79 OPT_GEN_OK_FILE=1
80 ;;
81 \?)
82 echo "Invalid option: -$OPTARG" >&2
83 exit 1
84 ;;
85 esac
86done
87
88if [ $OPT_GEN_OK_FILE -eq 1 ]; then
89 gen_ok_file
90 exit 0
91else
92 run_test
93 exit 0
Philipp Maierec9cdb72023-07-27 14:43:08 +020094fi