pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
由于某些测试固有的会产生与平台相关的结果,我们提供了一种提供平台相关结果比较文件的方法。通常,同一种变化适用于多个平台;与其为每个平台提供一个单独的比较文件,不如用一个映射文件来定义使用哪个比较文件。因此,要消除特定平台上虚假的测试“失败”,你必须选择或制作一个变体结果文件,然后向映射文件 src/test/regress/resultmap 中添加一行。
映射文件中的每一行的形式是
testname/platformpattern=comparisonfilename
测试名就是特定回归测试模块的名称。平台模式是一个 Unix 工具 expr 风格的模式(即一个在开头隐式带有 ^ 锚点的正则表达式)。它是与 config.guess 输出的平台名后跟 :gcc 或 :cc 进行匹配(取决于你使用的是 GNU 编译器还是系统原生编译器,在有差异的系统上)。比较文件名是替代结果比较文件的名称。
例如:一些使用较老时区库的系统无法对 1970 年之前的日期应用夏令时修正,导致 1970 年前的 PDT 时间显示为 PST。这在 horology 回归测试中造成了一些差异。因此,我们提供了一个变体比较文件 horology-no-DST-before-1970.out,其中包含这些系统上应期望的结果。为了在 HPUX 平台上消除虚假的“失败”消息,resultmap 中包含了
horology/.*-hpux=horology-no-DST-before-1970
它会在任何 config.guess 输出包含 -hpux 的机器上触发。resultmap 中的其他行为其他合适的平台选择变体比较文件。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。