This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/10261 ) Change subject: add script for testing performance and number of correctly decoded frames ...................................................................... add script for testing performance and number of correctly decoded frames Change-Id: I6d8030969eed4519520745207591ce4731939201 --- M src/.gitignore A src/tetra-rx-tests.sh 2 files changed, 83 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/.gitignore b/src/.gitignore index 8451771..a72cffe 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -7,3 +7,4 @@ float_to_bits crc_test tunctl +tests_data/* diff --git a/src/tetra-rx-tests.sh b/src/tetra-rx-tests.sh new file mode 100755 index 0000000..f84a1ad --- /dev/null +++ b/src/tetra-rx-tests.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +if [ $# -lt 1 ]; then + echo "$0" + echo "Runs tetra-rx on bit files provided as args, prints the number of correct frames" + echo " and the time it took and compares it to previous runs." + echo "" + echo "Extra options:" + echo " -n <experiment name> (default: git head id) (no spaces and \"-\" please)" + echo " -o overwrite previous measurement" + echo " -t parameters for tetra-rx" + echo "" + echo "Examples:" + echo "$0 path/to/file.bits" + echo "$0 -n \"something changed\" path/to/file.bits path/to/file2.bits" + exit 1 +fi + +if ! command -v bc > /dev/null; then + echo "Please install \"bc\"" +fi + +TESTS_DIR="tests_data/" +mkdir -p "$TESTS_DIR" + +n=`git rev-parse HEAD` +o=0 +t=" " +while getopts ":n:ot:" opt; do + case $opt in + n) + n="$OPTARG" + ;; + o) + o=1 + ;; + t) + t="$OPTARG" + ;; + \?) + echo "Unknown option $OPTARG" >&2 + exit 1 + ;; + :) + echo "-$OPTARG requires argument" >&2 + exit 1 + ;; + esac +done + +shift $(( $OPTIND - 1 )) + +tmpdir=`mktemp -d /tmp/tetraXXX` + +for f in $@; do + corrects=`"time" -o "$tmpdir/time" ./tetra-rx "$f" $t 2>/dev/null | grep -E "^CRC COMP: 0x.+ OK" | wc -l` + tt=`grep user "$tmpdir/time" | head -n 1 | cut -d u -f 1` + echo "$f: $corrects frames, $tt s" + hash=`sha256sum "$f" | cut -c 1-20` + fnb="$TESTS_DIR/rx-$hash-" + for meas in "$fnb"*; do + if ! [ -s "$meas" ]; then + continue + fi + tag=`echo "$meas" | rev | cut -d - -f 1 | rev` + if [ "$tag" = "$n" ]; then + continue + fi + pf=`cat "$meas" | cut -d " " -f 1` + pt=`cat "$meas" | cut -d " " -f 2` + deltaf=`echo "scale=7; $corrects/$pf" | bc -l` + deltat=`echo "scale=3; $tt/$pt" | bc -l` + echo "... ${deltaf}x frames than $tag" + echo "... ${deltat}x time than $tag" + done + fn="$fnb$n" + if [ "$o" -eq 1 -o ! -s "$fn" ]; then + echo "$corrects $tt" > "$fn" + fi +done + +rm -r "$tmpdir" -- To view, visit https://gerrit.osmocom.org/10261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-tetra Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I6d8030969eed4519520745207591ce4731939201 Gerrit-Change-Number: 10261 Gerrit-PatchSet: 1 Gerrit-Owner: Jan Hrach <jenda.2vf9h at hrach.eu> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180731/8f1f662a/attachment.htm>