PostgreSQL 7.1.3 Documentation
Prev | Chapter 12. Regression Tests | Next

# 12.2. Platform-specific comparison files

Since some of the tests inherently produce platform-specific results, we have provided a way to supply platform-specific result comparison files. Frequently, the same variation applies to multiple platforms; rather than supplying a separate comparison file for every platform, there is a mapping file that defines which comparison file to use. So, to eliminate bogus test "failures" for a particular platform, you must choose or make a variant result file, and then add a line to the mapping file, which is `resultmap`.

Each line in the mapping file is of the form

    testname/platformpattern=comparisonfilename

The test name is just the name of the particular regression test module. The platform pattern is a pattern in the style of expr(1) (that is, a regular expression with an implicit `^` anchor at the start). It is matched against the platform name as printed by `config.guess` followed by `:gcc` or `:cc`, depending on whether you use the GNU compiler or the system's native compiler (on systems where there is a difference). The comparison file name is the name of the substitute result comparison file.

For example: the int2 regression test includes a deliberate entry of a value that is too large to fit in int2. The specific error message that is produced is platform-dependent; our reference platform emits

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

but a fair number of other Unix platforms emit

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

Therefore, we provide a variant comparison file, `int2-too-large.out`, that includes this spelling of the error message. To silence the bogus "failure" message on HPPA platforms, resultmap includes

    int2/hppa=int2-too-large

which will trigger on any machine for which config.guess's output begins with "`hppa`". Other lines in resultmap select the variant comparison file for other platforms where it's appropriate.

Prev | Home | Next
Regression Tests | Up | Release Notes