Skip to content
Snippets Groups Projects

Sweeping !20078 from master to 21.1. Add script to summarise results of locally-ran trigger ART tests

Merged Sweeping !20078 from master to 21.1. Add script to summarise results of locally-ran trigger ART tests
Merged Atlas Nightlybuild requested to merge cherry-pick-3e3553f53c-21.1 into 21.1
1 file
+ 62
0
Compare changes
  • Side-by-side
  • Inline
#!/bin/bash
#
# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
#
# This script is used to parse output (stdout) from locally-ran Trigger ART tests in order to define the final return
# code of the test. Similarly to ART, it looks for lines starting with "art-result:" and checks the corresponding codes.
# The script returs zero if all results are zero. Otherwise, it returns the first non-zero code it finds.
#
# Usage:
# trig-art-result-parser.sh logfile [stepsToCheck]
#
# Example:
# test_physics_pp_v7_build.sh > stdout.txt
# retcode=`trig-art-result-parser.sh stdout.txt "athena CheckLog RegTest"`
# echo "test_physics_pp_v7_build final result is $retcode"
# The log file to parse
logfile=$1
# Step names to check (matching is done to the beginning of the name)
stepsToCheck=($2)
# If stepsToCheck not provided, set the default value
if [ -z "$stepsToCheck" ]; then
stepsToCheck=(athena CheckLog)
fi
# Take only the lines starting from 'art-result:'
results=`grep '^art-result:' $logfile`
# Iterate over the result lines and parse each of them
echo "========== art-result summary =========="
retcode=0
IFS=$'\n' # make newlines the only separator
for result in $results; do
resultcode=`echo $result | cut -d ' ' -f 2`
stepname=`echo $result | cut -d ' ' -f 3`
# Ignore steps which we don't want to check
ignoreThisStep=1
for token in "${stepsToCheck[@]}"; do
if [[ "$stepname" == "$token"* ]]; then
ignoreThisStep=0
break
fi
done
if [ "$ignoreThisStep" -eq 1 ]; then
continue
fi
# Print the result and check the return code
echo $result
if [ "$resultcode" -ne "0" ] && [ "$retcode" -eq "0" ]; then
retcode=$resultcode
echo "ERROR: non-zero return code detected, will return $retcode as the final result"
fi
done
unset IFS
exit $retcode
Loading