因为一些测试天生会产生平台相关的结果, 我们提供了一个方法以支持平台相关的结果比较文件。 通常,一套文件可用于多个平台; 而不是为每个平台提供一套独立的比较文件, 因此存在一个定义选用哪个比较文件的映射文件。 所以,要消除某特定平台的虚假的测试"失败", 你必须选择或者制作一个结果文件的变种,然后往映射文件里加一行, 即是"resultmap"。
映射文件里的每行都有下面形式
testname/platformpattern=comparisonfilename
测试名称只是特定回归测试模块的名称。 平台名称模式是一个 Unix 工具 expr 风格的模式(也就是说,一个开头带有隐含^锚符号的正则表达式)。 它与config.guess打印出来的跟在 :gcc或 :cc 后面的平台名匹配,具体情况取决于你是使用 GNU 编译器还是系统本机的编译器。 (在那些有区别的系统上)。 比较文件名是替换结果比较文件。
比如:一些使用比较老的时区库的系统不能对早于 1970 年的日期使用夏时制, 导致 1970 年以前的 PDT 时间以PST 显示,这样导致在 horology 回归测试中的几个差别。因此,我们提供了一个可选的比较文件, horology-no-DST-before-1970.out, 它包括在这些系统里预期的结果。要在 HPPA 平台上消除这些虚假的"错误"信息, resultmap 包括
horology/hppa=horology-no-DST-before-1970
它将在那些config.guess以 hppa 开头的任何机器上触发。 在 resultmap 里的其它行为其它合适的平台选取相应的变体比较文件。