blob: eba48a0865ec41cd6e7355a1130838c8e52a2d14 [file] [log] [blame]
#!/bin/bash
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
#
# Ascentlint report summary generation script.
#
REPORT_DIR=reports
#-------------------------------------------------------------------------
# print header
#-------------------------------------------------------------------------
printf "NUMBER OF LINT ERRORS PER BLOCK:\n\n"
format="%20s %10s %10s \n"
printf "${format}" "Block" "Errors" "Warnings"
echo "-------------------------------------------"
#-------------------------------------------------------------------------
# run lint and summarize results
#-------------------------------------------------------------------------
for report in ${REPORT_DIR}/*.rpt ; do
# summarize results
crash=`grep "Exiting with error status" "${report%.*}.log"`
if [[ ! -z "$crash" ]]; then
error_cnt="CRASH"
warni_cnt="CRASH"
else
error_cnt=`grep "^E " "${report%.*}.rpt" | wc -l`
warni_cnt=`grep "^W " "${report%.*}.rpt" | wc -l`
fi
printf "${format}" `basename "${report%.*}"` $error_cnt $warni_cnt
done
echo "-------------------------------------------"
echo "END SUMMARY"
#-------------------------------------------------------------------------
# generate detailed reports
#-------------------------------------------------------------------------
printf "\n\nLIST OF ERRORS (E) AND WARNINGS (W) FOR EACH BLOCK:"
for report in ${REPORT_DIR}/*.rpt ; do
printf "\n\n`basename "${report%.*}"`\n"
# grep for lint crashes and lint errors, and limit line length
grep "^ ERR" -A 2 "${report%.*}.log" | cut -c -200
grep "^E " "${report%.*}.rpt" | cut -c -200
grep "^W " "${report%.*}.rpt" | cut -c -200
done