↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本。 PostgreSQL 7.1 已结束支持。 请参阅 当前版本手册.

12.2. 平台相关的比较文件 #

由于某些测试固有的会产生与平台相关的结果,我们提供了一种提供平台相关结果比较文件的方法。通常,同一种变化适用于多个平台;与其为每个平台提供一个单独的比较文件,不如用一个映射文件来定义使用哪个比较文件。因此,要消除特定平台上虚假的测试“失败”,你必须选择或制作一个变体结果文件,然后向映射文件 resultmap 中添加一行。

映射文件中的每一行的形式是

testname/platformpattern=comparisonfilename

测试名就是特定回归测试模块的名称。平台模式是一个 expr(1) 风格的模式(即一个在开头隐式带有 ^ 锚点的正则表达式)。它是与 config.guess 输出的平台名后跟 :gcc 或 :cc 进行匹配(取决于你使用的是 GNU 编译器还是系统原生编译器,在有差异的系统上)。比较文件名是替代结果比较文件的名称。

例如:int2 回归测试包含一个故意输入的、大到无法放入 int2 的值。所产生的具体错误消息是平台相关的;我们的参考平台发出

ERROR:  pg_atoi: error reading "100000": Numerical result out of range

但相当多的其他 Unix 平台发出

ERROR:  pg_atoi: error reading "100000": Result too large

因此,我们提供了一个变体比较文件 int2-too-large.out,其中包含这种拼写的错误消息。为了在 HPPA 平台上消除虚假的“失败”消息,resultmap 中包含了

int2/hppa=int2-too-large

它会在任何 config.guess 的输出以 “hppa” 开头的机器上触发。resultmap 中的其他行为其他合适的平台选择变体比较文件。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.