testtrim:一个无法自测的测试工具?直到现在!
2025-01-25
作者Mathieu Fenniak讲述了他为testtrim(一个优化软件测试执行的实验性项目)添加系统调用追踪功能的历程。最初,testtrim通过strace追踪系统调用来识别测试间的依赖关系,但无法用于自身测试,因为strace无法追踪已在追踪中的进程。作者尝试了两种嵌套追踪方案,第一种方案导致性能极差,第二种方案由于进程间共享状态和strace输出的非原子性而失败。最终,作者通过使用FIFO管道和共享内存来实现父子进程间的数据流实时传递,解决了嵌套追踪问题,成功使testtrim能够自测,并验证了其在减少测试目标方面的价值。
阅读更多