Pruebas en el track de C

Aprende a probar tus ejercicios de C en Exercism


Cada ejercicio incluye las pruebas unitarias y una receta de compilación de Make. Tú proporcionas la implementación.

Cada archivo de pruebas está pensado para enlazarse con tu implementación y proporcionar un ejecutable de consola que ejecuta las pruebas. Ejecutar el ejecutable de pruebas imprime mensajes para cada prueba que falla e informa de un estado de salida distinto de cero cuando las pruebas fallan.

Para completar un ejercicio:

  • Crea la compilación inicial con Make
  • Para cada prueba unitaria:
    • Elimina la línea TEST_IGNORE().
    • Resuelve los errores de compilación para que la prueba falle.
    • Implementa lo justo para que la prueba pase.
    • Refactoriza tu implementación para mejorar la legibilidad, reducir la duplicación, etc.

Compilar y ejecutar las pruebas

Cada ejercicio incluirá un archivo makefile junto con un .c con las pruebas unitarias. No deberías necesitar editar el archivo de Make. El archivo de Make proporcionado asume que tu implementación existe como un archivo de cabecera (.h) y un archivo de código fuente (.c) con el nombre del ejercicio.

Por ejemplo, el ejercicio bob espera una implementación en bob.h y bob.c. Para los ejercicios con guiones en su nombre, se asume que los archivos de código fuente usan guiones bajos, así que word-count espera word_count.h y word_count.c. Puedes decidir que tu implementación es lo bastante simple como para vivir enteramente en el archivo de cabecera, en cuyo caso puedes omitir el archivo .c.

Crea tus archivos de implementación iniciales antes de ejecutar Make. Si no tienes los archivos bob.h y bob.c al ejecutar Make para el ejercicio bob, Make generará un error sobre archivos que no se encuentran. Estos archivos pueden estar vacíos, pero deben existir.

Compila tu código

La forma más sencilla de compilar tu código es usar make en la línea de comandos (CLI). En Linux, la CLI está disponible en bash o similar; en MacOS, usa Terminal. En Windows 10, está disponible Bash del Subsistema de Windows para Linux (WSL).

Para hacer esto, asumiendo que el directorio actual es la carpeta del ejercicio:

$ make

Esto compilará tu código y ejecutará las pruebas.

El makefile también incluye una compilación que comprueba algunos errores comunes relacionados con fugas de memoria y acceso fuera de límites a arrays. Para ejecutar estas comprobaciones, usa lo siguiente en la línea de comandos:

$ make memcheck

Limpieza

Para limpiar después de una compilación, puedes indicar a make que elimine toda la salida de compilación, incluido el ejecutable:

$ make clean

Alternativa de compilación en MacOS

En MacOS también puedes usar Xcode. Para compilar el código, selecciona Build en la barra de herramientas.