testtrim: A Ferramenta de Teste Que Não Conseguia se Testar (Até Agora)

2025-01-25

Mathieu Fenniak descreve sua jornada adicionando rastreamento de chamadas de sistema ao testtrim, um projeto experimental que otimiza a execução de testes de software. Inicialmente, o testtrim usava o strace para identificar dependências de testes, mas não conseguia se testar porque o strace não consegue rastrear um processo que já está sendo rastreado. Duas tentativas de rastreamento aninhado falharam: a primeira devido ao desempenho péssimo, a segunda devido ao estado compartilhado e à não atomicidade na saída do strace. A solução envolveu o uso de pipes FIFO e memória compartilhada para transmissão de dados em tempo real entre processos pai e filho, permitindo o autoteste e validando o valor do testtrim na redução de alvos de teste.