Haremos fallar uno a uno los malloc
en tu función. Prueba con distintos argumentos para asegurarte de probar todas las posibles rutas de ejecución de tu código.
-
Sustituir cada llamada a
malloc()
en tu código fuente porft_malloc()
para pasar este test. También en lalibft
si estás usándola. -
Añadir
#include "test_malloc_protection.h"
al header de tu proyecto, y alibft.h
. -
En
main.c
:- Hay que descomentar uno de los
main
, según lo que la función en pruebas retorne en caso de terminar sin error. - También debes sustituir
funcion_testeada()
por una llamada válida a tu función, recibiendo valores que ya hayas comprobado correctos. Este tester solo verifica que manejas bien losmalloc
, parámetros no válidos pueden dar falsos positivos/negativos. - La línea:
while(i <= 20)
determina que se hará fallar en sucesivas llamadas, desde el 1º hasta el 20ºmalloc
. Sustituye20
por el número de veces que tu función llamará aft_malloc()
.- En caso de que tu función llame a
malloc
un número de veces inferior al indicado en elwhile
, el test reportará cada llamada inexistente como "fallo no manejado". - En caso de que tu función llame a
malloc
un número de veces superior al indicado en elwhile
, las llamadas por encima de ese número no serán comprobadas.
- En caso de que tu función llame a
- Hay que descomentar uno de los
Este es un código de ejemplo hecho en 20 minutos, seguramente tiene fallos, pero espero que os sirva para entender la lógica general con la que se pueden hacer test de este tipo.