testtrim:自分自身をテストできなかったテストツール(今までは)
2025-01-25
Mathieu Fenniakは、ソフトウェアテストの実行を最適化する実験的プロジェクトであるtesttrimにシステムコールのトレース機能を追加した経緯について説明しています。当初、testtrimはテスト間の依存関係を特定するためにstraceを使用していましたが、straceは既にトレースされているプロセスをトレースできないため、自分自身をテストすることができませんでした。ネストされたトレースの2つの試みは失敗しました。1つ目はひどいパフォーマンスが原因で、2つ目は共有状態とstraceの出力の非アトミック性が原因でした。解決策は、親プロセスと子プロセスの間でリアルタイムにデータストリームを送信するために、FIFOパイプと共有メモリを使用することであり、自己テストを可能にし、テストターゲットの削減におけるtesttrimの価値を検証しました。
開発
システムコールトレース