1#!/bin/sh 2 3set -eu 4 5usage() { 6 echo "Usage: $0 ANALYSIS_OUTPUT_DIR" >&2 7 exit 2 8} 9 10[ $# -eq 1 ] || usage 11 12analysisOutputDir=$1 13 14# Load settings and helpers 15. "$(dirname "$0")/action.helpers" 16. "$(dirname "$0")/action.settings" 17 18cleanRegressionsTxt=${analysisOutputDir}/clean_regressions.txt 19 20cleanRegressionCount=$("${ECLAIR_BIN_DIR}eclair_report" \ 21 "-db='${analysisOutputDir}/PROJECT.ecd'" \ 22 "-sel_unfixed=unfixed" \ 23 "-sel_tag_glob=violation_only,kind,violation" \ 24 "-sel_tag_glob=clean_added,clean,added" \ 25 "-report_counts_txt=service,'${cleanRegressionsTxt}'" \ 26 "-print='',reports_count()") 27 28if [ "${cleanRegressionCount}" -gt 0 ]; then 29 { 30 echo "Failure: ${cleanRegressionCount} regressions found for clean guidelines" 31 sed -n '/^Number of.*$/,/^$/{ /^Number of.*$/! { /^$/! p } }' ${cleanRegressionsTxt} 32 } > ${cleanRegressionsLog} 33 rm ${cleanRegressionsTxt} 34 exit 1 35else 36 echo "Success: No regressions for clean guidelines" > ${cleanRegressionsLog} 37 rm ${cleanRegressionsTxt} 38fi 39