他のバージョンの文書 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

14.4. プラットフォーム固有の比較ファイル

リグレッションテストの中にはプラットフォーム特有な結果を返すものもあるので、プラットフォーム特有な結果を比較するファイルを提供しています。多くの場合、同じ結果は複数のプラットフォームに対応するので、各プラットフォームごとにファイルを用意するのではなく、どの比較ファイルを使用するかのマッピングファイルを用意しています。そこで、特定プラットフォームのテスト結果の偽の"失敗"をなくすためには、結果ファイルを作成、もしくは選択し、resultmapというマッピングファイルに指定する必要があります。

マッピングファイルの各行のフォーマットは下記のとおりです。

testname/platformpattern=comparisonfilename

testnameとは、単に特定のリグレッションテストのモジュール名です。platformpatternとは、 expr スタイル(最初に暗黙的な^がある正規表現)のパターンです。これは、config.guessによって出力されるプラットフォーム名に、GNU コンパイラかシステム固有のコンパイラのどちらを使用しているのかによって決定される :gcc または :ccを付けたものと比較されます。comparisonfilename は置き換える結果比較ファイルの名前です。

例えば、より古いタイムゾーンライブラリを使用するシステムでは、1970 年以前の日付に夏時間の補正を行う際に、1970 年以前の PDT 時間を PSTで表示することが原因で失敗するものがあります。これにより、 horology リグレッションテストにわずかな違いが発生します。そのため、horology-no-DST-before-1970.out という変形比較ファイルを用意し、そこにこういったシステムでの期待値を記述しています。HPPA プラットフォームにおいて偽の "失敗"メッセージ出力を行わせないようにするために、 resultmap に以下を含ませています。

horology/hppa=horology-no-DST-before-1970

これは、config.guess の出力が "hppa" から始まる全てのマシンに対して適用されます。resultmap のこの他の行は、適切な他のプラットフォーム用の変形比較ファイルを選択します。