Move regression.diffs of pg_upgrade test suite
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: pgsql-hackers@postgresql.org
Date: 2018-12-24T03:44:11Z
Lists: pgsql-hackers
Attachments
- outputdir-pg_upgrade-v1.patch (text/plain) patch v1
src/bin/pg_upgrade/test.sh runs installcheck, which writes to files in
src/test/regress. This has at least two disadvantages when check-world runs
both this test suite and the "make check" suite:
1. The suite finishing second will overwrite the other's regression.{out,diffs}.
2. If these suites run a given test file in parallel (possible with "make -j
check-world"), they simultaneously edit a file in src/test/regress/results.
This can cause reporting of spurious failures. On my system, the symptom
is a regression.diffs indicating that the .out file contained ranges of NUL
bytes (holes) and/or lacked expected lines.
A disadvantage of any change here is that it degrades buildfarm reports, which
recover slowly as owners upgrade to a fixed buildfarm release. This will be
similar to the introduction of --outputdir=output_iso. On non-upgraded
animals, pg_upgradeCheck failures will omit regression.diffs.
I think the right fix, attached, is to use "pg_regress --outputdir" to
redirect these files to src/bin/pg_upgrade/tmp_check/regress. I chose that
particular path because it will still fit naturally if we ever rewrite test.sh
using src/test/perl. I'm recommending that the buildfarm capture[1] files
matching src/bin/pg_upgrade/tmp_check/*/*.diffs, which will work even if we
make this test suite run installcheck more than once. This revealed a few
places where tests assume @abs_builddir@ is getcwd(), which I fixed.
Thanks,
nm
[1] https://github.com/PGBuildFarm/client-code/blob/REL_9/PGBuild/Modules/TestUpgrade.pm#L126
Commits
-
In the pg_upgrade test suite, don't write to src/test/regress.
- 5c0fee0be2f6 9.5.18 landed
- 5e89aa021e00 9.6.14 landed
- c44e9bc3a10f 10.9 landed
- 88a0e3daf862 11.4 landed
- 40b132c1afbb 12.0 landed
- e00b5f090fa0 9.5.18 landed
- 4f4b2d4161b1 9.6.14 landed
- 422584caf32f 10.9 landed
- d08d880ab41a 11.4 landed
- bd1592e85702 12.0 landed
-
In the pg_upgrade test suite, remove and recreate "tmp_check".
- f3798089d84e 9.5.18 landed
- 8e2b41ecf8ac 10.9 landed
- 63f82b384e67 9.6.14 landed
- 20103a26094b 11.4 landed
- 10b72deafea5 12.0 landed