| PostgreSQL 8.0.0 中文文件(轉譯自 PostgreSQL 中國 製作的簡體中文版本) | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 26. 回歸測試 | Fast Forward | Next |
因為一些測試天生會產生平台相關的結果, 我們提供了一個方法以支援平台相關的結果比較文件。 通常,一套文件可用於多個平台; 而不是為每個平台提供一套獨立的比較文件, 因此存在一個定義選用哪個比較文件的映射文件。 所以,要消除某特定平台的虛假的測試"失敗", 您必須選擇或者製作一個結果文件的變種,然後往映射文件裡加一行, 即是"resultmap"。
映射文件裡的每行都有下面形式
testname/platformpattern=comparisonfilename
測試名稱只是特定回歸測試模塊的名稱。 平台名稱模式是一個 Unix 工具 expr 風格的模式(也就是說,一個開頭帶有隱含^錨符號的正則資料表達式)。 它與config.guess打印出來的跟在 :gcc或 :cc 後面的平台名匹配,具體情況取決於您是使用 GNU 編譯器還是系統本機的編譯器。 (在那些有區別的系統上)。 比較文件名是替換結果比較文件。
比如:一些系統把很小的浮點數解析成為零,而不是報告一個下溢的錯誤。 這會導致在 float8 回歸測試中的一些差別。 因此,我們提供了一個比較文件的變種,float8-small-is-zero.out, 它包含在這些平台上的預期結果。 要在 OpenBSD 平台上消除這些虛假的"錯誤"訊息, resultmap 包括
float8/i.86-.*-openbsd=float8-small-is-zero
它將在那些config.guess的輸出匹配 i.86-.*-openbsd 的任何機器上觸發。 在 resultmap 裡的其它行為其它合適的平台選取相應的比較文件變種。