pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
由于某些测试固有地会产生平台相关的结果,我们提供了一种提供平台相关结果比较文件的方法。通常,同一种变化适用于多个平台;与其为每个平台提供一个单独的比较文件,不如用一个映射文件来定义使用哪个比较文件。因此,要消除特定平台上虚假的测试"失败",你必须选择或制作一个变体结果文件,然后向映射文件(即 "resultmap")中添加一行。
映射文件中的每一行的形式是
testname/platformnamepattern=comparisonfilename
测试名就是特定回归测试模块的名称。平台名模式是一个 expr(1) 风格的模式(即一个在开头隐式带有 ^ 锚点的正则表达式)。它与 config.guess 输出的平台名进行匹配。比较文件名是替代结果比较文件的名称。
例如: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 中的其他行为其他合适的平台选择变体比较文件。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。