forked from jaildesigner-jailgames/jaildoctors_dilemma
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