afegit cppcheck a tools/linter
This commit is contained in:
0
tools/linter/cppcheck-result-all.txt
Normal file
0
tools/linter/cppcheck-result-all.txt
Normal file
0
tools/linter/cppcheck-result-unusedFunction.txt
Normal file
0
tools/linter/cppcheck-result-unusedFunction.txt
Normal file
2
tools/linter/cppcheck_suppressions
Normal file
2
tools/linter/cppcheck_suppressions
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
*:/home/sergio/gitea/jaildoctors_dilemma/source/external/*
|
||||||
|
*:/usr/include/*
|
||||||
109
tools/linter/run_cppcheck.sh
Executable file
109
tools/linter/run_cppcheck.sh
Executable file
@@ -0,0 +1,109 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Función para mostrar el uso del script
|
||||||
|
mostrar_uso() {
|
||||||
|
echo "Uso: $0 [OPCIÓN] [RUTA]"
|
||||||
|
echo ""
|
||||||
|
echo "Opciones de análisis:"
|
||||||
|
echo " -w, --warning Ejecutar cppcheck con warning, style, performance"
|
||||||
|
echo " -a, --all Ejecutar cppcheck con todas las opciones habilitadas"
|
||||||
|
echo " -u, --unused Ejecutar cppcheck para unusedFunction"
|
||||||
|
echo ""
|
||||||
|
echo "Opciones de ruta:"
|
||||||
|
echo " -p, --path <ruta> Especificar ruta a analizar (default: ../source/)"
|
||||||
|
echo " [RUTA] Ruta como último argumento posicional"
|
||||||
|
echo ""
|
||||||
|
echo "Ejemplos:"
|
||||||
|
echo " $0 --warning"
|
||||||
|
echo " $0 -w --path ../src/"
|
||||||
|
echo " $0 --all /path/to/code/"
|
||||||
|
echo " $0 -u ../source/"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Inicializar las variables
|
||||||
|
opcion=""
|
||||||
|
ruta="../source/"
|
||||||
|
|
||||||
|
# Procesar las opciones
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
-w|--warning)
|
||||||
|
opcion="warning"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-a|--all)
|
||||||
|
opcion="all"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-u|--unused)
|
||||||
|
opcion="unused"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-p|--path)
|
||||||
|
if [[ -n "$2" && "$2" != -* ]]; then
|
||||||
|
ruta="$2"
|
||||||
|
shift 2
|
||||||
|
else
|
||||||
|
echo "Error: --path requiere un argumento"
|
||||||
|
mostrar_uso
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
-h|--help)
|
||||||
|
mostrar_uso
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
echo "Error: Opción desconocida: $1"
|
||||||
|
mostrar_uso
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Argumento posicional (asumimos que es la ruta)
|
||||||
|
ruta="$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Verificar que se haya especificado una opción de análisis
|
||||||
|
if [[ -z "$opcion" ]]; then
|
||||||
|
echo "Error: Debe especificar una opción de análisis (-w, -a, o -u)"
|
||||||
|
mostrar_uso
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ejecutar según la opción seleccionada
|
||||||
|
case $opcion in
|
||||||
|
warning)
|
||||||
|
echo "Ejecutando cppcheck con warning, style, performance en: $ruta"
|
||||||
|
cppcheck --force --enable=warning,style,performance --std=c++20 \
|
||||||
|
--check-level=exhaustive \
|
||||||
|
--suppressions-list=./cppcheck_suppressions \
|
||||||
|
"$ruta" \
|
||||||
|
2>./cppcheck-result-warning-style-performance.txt
|
||||||
|
echo "Resultados guardados en: ./cppcheck-result-warning-style-performance.txt"
|
||||||
|
;;
|
||||||
|
all)
|
||||||
|
echo "Ejecutando cppcheck con todas las opciones en: $ruta"
|
||||||
|
cppcheck --force --enable=all -I /usr/include --std=c++20 \
|
||||||
|
--suppress=missingIncludeSystem \
|
||||||
|
--suppressions-list=./cppcheck_suppressions \
|
||||||
|
"$ruta" \
|
||||||
|
2>./cppcheck-result-all.txt
|
||||||
|
echo "Resultados guardados en: ./cppcheck-result-all.txt"
|
||||||
|
;;
|
||||||
|
unused)
|
||||||
|
echo "Ejecutando cppcheck para unusedFunction en: $ruta"
|
||||||
|
cppcheck --enable=style --std=c++20 \
|
||||||
|
--suppressions-list=./cppcheck_suppressions \
|
||||||
|
"$ruta" \
|
||||||
|
2>./cppcheck-result-unusedFunction.txt
|
||||||
|
echo "Resultados guardados en: ./cppcheck-result-unusedFunction.txt"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Error: Opción inválida"
|
||||||
|
mostrar_uso
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Reference in New Issue
Block a user