diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 07:24:57 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 07:24:57 +0000 |
commit | 070852d8604cece0c31f28ff3eb8d21d9ba415fb (patch) | |
tree | 9097175a6a5b8b7e37af9a96269ac0b61a0189cd /decoder/tests/run_pkt_decode_tests.bash | |
parent | Initial commit. (diff) | |
download | libopencsd-upstream.tar.xz libopencsd-upstream.zip |
Adding upstream version 1.3.3.upstream/1.3.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'decoder/tests/run_pkt_decode_tests.bash')
-rwxr-xr-x | decoder/tests/run_pkt_decode_tests.bash | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/decoder/tests/run_pkt_decode_tests.bash b/decoder/tests/run_pkt_decode_tests.bash new file mode 100755 index 0000000..27a855e --- /dev/null +++ b/decoder/tests/run_pkt_decode_tests.bash @@ -0,0 +1,125 @@ +#!/bin/bash +################################################################################# +# Copyright 2018 ARM. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its contributors +# may be used to endorse or promote products derived from this software without +# specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +################################################################################# +# OpenCSD library: Test script. +# +# Test script to run packet lister on each of the snapshots retained with the repository. +# No attempt is made to compare output results to previous versions, (output formatting +# may change due to bugfix / enhancements) or assess the validity of the trace output. +# +################################################################################# +# Usage options:- +# * default: run tests on binary + libs in ./bin/linux64/rel +# run_pkt_decode_tests.bash +# +# * use installed opencsd libraries & program +# run_pkt_decode_tests.bash use-installed <options> +# +# * use supplied path for binary + libs (must have trailing /) +# run_pkt_decode_tests.bash -bindir <custom>/<path>/ <options> +# + +OUT_DIR=./results +SNAPSHOT_DIR=./snapshots +BIN_DIR=./bin/linux64/rel/ + +# directories for tests using full decode +declare -a test_dirs_decode=( "juno-ret-stck" + "a57_single_step" + "bugfix-exact-match" + "juno-uname-001" + "juno-uname-002" + "juno_r1_1" + "tc2-ptm-rstk-t32" + "trace_cov_a15" + "stm_only" + "stm_only-2" + "stm_only-juno" + "stm-issue-27" + "TC2" + "Snowball" + "test-file-mem-offsets" + ) + + +echo "Running trc_pkt_lister on snapshot directories." + +mkdir -p ${OUT_DIR} + +if [ "$1" == "use-installed" ]; then + BIN_DIR="" + shift +elif [ "$1" == "-bindir" ]; then + BIN_DIR=$2 + shift + shift +fi + +echo "Tests using BIN_DIR = ${BIN_DIR}" + +if [ "${BIN_DIR}" != "" ]; then + export LD_LIBRARY_PATH=${BIN_DIR}. + echo "LD_LIBRARY_PATH set to ${BIN_DIR}" +fi + +# === test the decode set === +for test_dir in "${test_dirs_decode[@]}" +do + echo "Testing $test_dir..." + ${BIN_DIR}trc_pkt_lister -ss_dir "${SNAPSHOT_DIR}/$test_dir" $@ -decode -logfilename "${OUT_DIR}/$test_dir.ppl" + echo "Done : Return $?" +done + +# === test a packet only example === +echo "Testing init-short-addr..." +${BIN_DIR}trc_pkt_lister -ss_dir "${SNAPSHOT_DIR}/init-short-addr" $@ -pkt_mon -logfilename "${OUT_DIR}/init-short-addr.ppl" + +# === test the TPIU deformatter === +echo "Testing a55-test-tpiu..." +${BIN_DIR}trc_pkt_lister -ss_dir "${SNAPSHOT_DIR}/a55-test-tpiu" $@ -dstream_format -o_raw_packed -o_raw_unpacked -logfilename "${OUT_DIR}/a55-test-tpiu.ppl" +echo "Done : Return $?" + +# === test the C-API lib - this test prog is not installed === +if [ "$1" != "use-installed" ]; then + echo "Testing C-API library" + ${BIN_DIR}c_api_pkt_print_test -ss_path ${SNAPSHOT_DIR} -decode > /dev/null + echo "Done : Return $?" + echo "moving result file." + mv ./c_api_test.log ./${OUT_DIR}/c_api_test.ppl +fi + +# === run the Frame decoder test - program not installed === +if [ "$1" != "use-installed" ]; then + echo "Running Frame demux test" + ${BIN_DIR}frame-demux-test > /dev/null + echo "Done : Return $?" + echo "moving result file." + mv ./frame_demux_test.ppl ./${OUT_DIR}/. +fi |