Linux カーネル開発者は、ローカルで、またコミット後にコードをどのようにテストしますか? 何らかのユニット テストやビルド自動化を使用していますか? テスト プランはありますか?
ベストアンサー1
Linux カーネルはコミュニティによるテストを重視しています。
通常、開発者は提出前に自分のコードをテストします。多くの場合、開発者は Linus のカーネルの開発バージョン、または自分の作業に関連するプロジェクトの他の不安定/開発ツリーのいずれかを使用します。つまり、開発者は自分の変更と他の人の変更の両方をテストすることになります。
正式なテスト計画はあまりない傾向がありますが、機能がアップストリーム ツリーにマージされる前に追加のテストが求められる場合があります。
ディーンが指摘したように、自動化されたテストもあります。Linux テスト プロジェクトそしてそのカーネル自動テスト(良い概要)。
開発者は、変更をテストすることを目的とした自動テストを作成することもよくありますが、これらのアドホック テストを一元的に収集する (よく使用される) メカニズムがあるかどうかはわかりません。
もちろん、カーネルのどの領域が変更されるかによって大きく異なります。新しいネットワーク ドライバーに対して行うテストは、コア スケジューリング アルゴリズムを置き換えるときに行うテストとはまったく異なります。