Files
panda-meb/tests/misra/test_misra.sh
rbiasini 01072bec0b Misra 11.x: pointer usage. (#250)
* RDLR, RDHR gone from safety

* back at not failing misra safety

* fix safety tests

* did not mean this

* Use get-bytes in pedal too

* Ignore Misra 11.5 and Fix 11.8 violaitons

* Fix 11.3 violations

* Neglect Misra 11.4, fix pointer issue in bootstub and rutn on Werror for pedal builds

* Fix Misra 11.6: can't assign number to void pointer

* Fix test after changing honda_moving name

* for loop is better

* Fix bugs from fbck
2019-07-10 20:56:03 -07:00

54 lines
1.9 KiB
Bash
Executable File

#!/bin/bash -e
mkdir /tmp/misra || true
git clone https://github.com/danmar/cppcheck.git || true
cd cppcheck
git fetch
git checkout 862c4ef87b109ae86c2d5f12769b7c8d199f35c5
make -j4
cd ../../../
printf "\nPANDA CODE\n"
tests/misra/cppcheck/cppcheck -DPANDA -UPEDAL -DCAN3 -DUID_BASE -DEON \
--suppressions-list=tests/misra/suppressions.txt \
--dump --enable=all --inline-suppr --force \
board/main.c 2>/tmp/misra/cppcheck_output.txt
python tests/misra/cppcheck/addons/misra.py board/main.c.dump 2> /tmp/misra/misra_output.txt
# strip (information) lines
cppcheck_output=$( cat /tmp/misra/cppcheck_output.txt | grep -v "(information) " ) || true
misra_output=$( cat /tmp/misra/misra_output.txt | grep -v "(information) " ) || true
printf "\nPEDAL CODE\n"
tests/misra/cppcheck/cppcheck -UPANDA -DPEDAL -UCAN3 \
--suppressions-list=tests/misra/suppressions.txt \
-I board/ --dump --enable=all --inline-suppr --force \
board/pedal/main.c 2>/tmp/misra/cppcheck_pedal_output.txt
python tests/misra/cppcheck/addons/misra.py board/pedal/main.c.dump 2> /tmp/misra/misra_pedal_output.txt || true
# strip (information) lines
cppcheck_pedal_output=$( cat /tmp/misra/cppcheck_pedal_output.txt | grep -v "(information) " ) || true
misra_pedal_output=$( cat /tmp/misra/misra_pedal_output.txt | grep -v "(information) " ) || true
if [[ -n "$misra_output" ]] || [[ -n "$cppcheck_output" ]]
then
echo "Failed! found Misra violations in panda code:"
echo "$misra_output"
echo "$cppcheck_output"
exit 1
fi
if [[ -n "$misra_pedal_output" ]] || [[ -n "$cppcheck_pedal_output" ]]
then
echo "Failed! found Misra violations in pedal code:"
echo "$misra_pedal_output"
echo "$cppcheck_pedal_output"
exit 1
fi
echo "Success"