testtrim: La herramienta de prueba que no podía probarse a sí misma (hasta ahora)

2025-01-25

Mathieu Fenniak describe su viaje añadiendo el rastreo de llamadas al sistema a testtrim, un proyecto experimental que optimiza la ejecución de pruebas de software. Inicialmente, testtrim usaba strace para identificar las dependencias de las pruebas, pero no podía probarse a sí misma porque strace no puede rastrear un proceso que ya está siendo rastreado. Dos intentos de rastreo anidado fallaron: el primero debido al pésimo rendimiento, el segundo debido al estado compartido y a la no atomicidad en la salida de strace. La solución implicó el uso de tuberías FIFO y memoria compartida para la transmisión de datos en tiempo real entre procesos padre e hijo, permitiendo la autoprueba y validando el valor de testtrim en la reducción de objetivos de prueba.