blob: 3e200c3f761025bce0fb83c2ffc42ea1ca61bcf5 [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
Harald Weltea4b9bdf2023-12-23 10:26:51 +010028# to avoid termcolor.colored generating colors; https://github.com/termcolor/termcolor
29export ANSI_COLORS_DISABLED=1
Philipp Maier4af63dc2023-10-26 12:17:32 +020030
Philipp Maierec9cdb72023-07-27 14:43:08 +020031echo "pySim-trace_test - a test program to test pySim-trace.py"
32echo "========================================================"
33
Philipp Maiera380e4e2023-08-01 15:29:13 +020034function usage {
35 echo "Options:"
36 echo "-o: generate .ok file"
37}
38
39function gen_ok_file {
40 $PYSIM_TRACE gsmtap-pyshark-pcap -f $GSMTAP_TRACE > $GSMTAP_TRACE.ok
41 echo "Generated file: $GSMTAP_TRACE.ok"
42 echo "------------8<------------"
43 cat $GSMTAP_TRACE.ok
44 echo "------------8<------------"
45}
46
47function run_test {
48 $PYSIM_TRACE gsmtap-pyshark-pcap -f $GSMTAP_TRACE | tee $TEMPFILE
49 if [ ${PIPESTATUS[0]} -ne 0 ]; then
50 echo ""
51 echo "========================================================"
52 echo "Testrun with $GSMTAP_TRACE failed (exception)."
53 rm -f $TEMPFILE
54 exit 1
55 fi
56
57 DIFF=`diff $GSMTAP_TRACE.ok $TEMPFILE`
58 if ! [ -z "$DIFF" ]; then
59 echo "Testrun with $GSMTAP_TRACE failed (unexpected output)."
60 echo "------------8<------------"
61 diff $GSMTAP_TRACE.ok $TEMPFILE
62 echo "------------8<------------"
63 rm -f $TEMPFILE
64 exit 1
65 fi
66
67 echo ""
68 echo "========================================================"
69 echo "trace parsed without problems -- everything ok!"
70 rm -f $TEMPFILE
71}
72
73OPT_GEN_OK_FILE=0
74while getopts ":ho" OPT; do
75 case $OPT in
76 h)
77 usage
78 exit 0
79 ;;
80 o)
81 OPT_GEN_OK_FILE=1
82 ;;
83 \?)
84 echo "Invalid option: -$OPTARG" >&2
85 exit 1
86 ;;
87 esac
88done
89
90if [ $OPT_GEN_OK_FILE -eq 1 ]; then
91 gen_ok_file
92 exit 0
93else
94 run_test
95 exit 0
Philipp Maierec9cdb72023-07-27 14:43:08 +020096fi