#!/bin/bash # @see https://intoli.com/blog/exit-on-errors-in-bash-scripts/ set -e trap 'LASTRES=$?; LAST=$BASH_COMMAND; if [[ LASTRES -ne 0 ]]; then fail "Command: \"$LAST\" exited with exit code: $LASTRES"; elif [ "$FAIL" -eq "1" ]; then fail finished with error; exit 1; else pass "finished";fi' EXIT SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" DIRNAME="${SRCDIR##*/}" exclude_dir=build check_dir=$SRCDIR/../src suppress="--suppress=missingInclude --suppress=unusedFunction" FAIL=0 main() { { ERROR="$( { cppcheck $check_dir $suppress --enable=all -i $exclude_dir; } 2>&1 1>&3 3>&- )"; } 3>&1; if [ ! -z "$ERROR" ]; then echo "----------------------------------" echo "$ERROR" echo "----------------------------------" fail "Cppcheck finished with error" fi } # ################ # Output funcitons # ################ RED='\033[0;31m' GREEN='\033[0;32m' BLUE='\033[0;34m' NC='\033[0m' # No Color function info () { echo -e "[${BLUE} $@ ${NC}]" } function pass() { echo -e "[${GREEN}PASS${NC}] $@" } function fail() { FAIL=1; echo -e "[${RED}FAIL${NC}] $@" } # Run main function main "$@"