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

PostgreSQL 8.0.0 文書
前のページ | 巻戻し | 第 26章リグレッションテスト | 早送り | 次のページ

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

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

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

    testname/platformpattern=comparisonfilename

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

以下に例を示します。 システムの中には、非常に小さな浮動小数値をアンダーフローエラーを報告せずに0として解釈するものがあります。 これにより、 `horology` リグレッションテストにわずかな違いが発生します。 そのため、`float8-small-is-zero.out` という変形比較ファイルを用意し、そこにこういったシステムでの期待値を記述します。 OpenBSDプラットフォームにおいて偽の"失敗"メッセージ出力を行わせないようにするために、`resultmap` に以下を含めます。

    float8/i.86-.*-openbsd=float8-small-is-zero

これは、`config.guess` の出力が`i.86-.*-openbsd`に一致する全てのマシンに対して適用されます。 `resultmap` のこの他の行は、適切な他のプラットフォーム用の変形比較ファイルを選択します。

前のページ | ホーム | 次のページ
テストの評価 | 上に戻る | クライアントインタフェース