No puede escribir una prueba unitaria para esta función, porque no puede asignar memoria en el montón sin una llamada al sistema. Por lo tanto, esta es una prueba de integración, ya que no puede aislar la unidad bajo prueba del sistema operativo.
Crearía un nuevo ejecutable pequeño que llame a allocation_routine
para n
bytes Dependiendo de qué allocation_routine
se supone que debe regresar, puede afirmar que no es nullptr
. Luego, escribe n
bytes en esta región de la memoria. Compílelo y vincúlelo usando el desinfectante de direcciones (disponible con gcc
y clang
), luego intente integrarlo en el corredor de prueba de su aplicación (ctest
etc.).
También es posible que desee restringir el almacenamiento dinámico disponible a través de POSIX setrlimit para verificar el comportamiento cuando falla la asignación.