Re: Test 002_pg_upgrade fails with olddump on Windows - Mailing list pgsql-hackers
From | Alexander Lakhin |
---|---|
Subject | Re: Test 002_pg_upgrade fails with olddump on Windows |
Date | |
Msg-id | a628d8ad-a08a-2eab-4ca9-641bc82d3193@gmail.com Whole thread Raw |
In response to | Re: Test 002_pg_upgrade fails with olddump on Windows (Michael Paquier <michael@paquier.xyz>) |
Responses |
Re: Test 002_pg_upgrade fails with olddump on Windows
|
List | pgsql-hackers |
06.12.2023 04:17, Michael Paquier wrote: > At the end, just applying the filtering all the time makes the most > sense to me, so I've applied a patch doing just that. Thank you for the fix! Now that test with the minimal dump passes fine, but when I tried to run it with a complete dump borrowed from a normal test run: set olddump=& set oldinstall=& set PG_TEST_NOCLEAN=1& meson test pg_upgrade/002_pg_upgrade REM this test succeeded copy testrun\pg_upgrade\002_pg_upgrade\data\tmp_test_*\dump1.sql set olddump=c:\temp\dump1.sql& set oldinstall=%CD%/tmp_install/usr/local/pgsql& meson test pg_upgrade/002_pg_upgrade I encountered another failure: ... Creating dump of database schemas ok Checking for presence of required libraries fatal Your installation references loadable libraries that are missing from the new installation. You can add these libraries to the new installation, or remove the functions using them from the old installation. A list of problem libraries is in the file: .../build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata/pg_upgrade_output.d/20231205T223247.304/loadable_libraries.txt Failure, exiting [22:32:51.086](3.796s) not ok 11 - run of pg_upgrade for new instance ... loadable_libraries.txt contains: could not load library ".../src/test/regress/refint.dll": ERROR: could not access file ".../src/test/regress/refint.dll": No such file or directory In database: regression could not load library ".../src/test/regress/autoinc.dll": ERROR: could not access file ".../src/test/regress/autoinc.dll": No such file or directory In database: regression could not load library ".../src/test/regress/regress.dll": ERROR: could not access file ".../src/test/regress/regress.dll": No such file or directory In database: regression Really, I can see refint.dll in ...\build\src\test\regress and in ...\build\tmp_install\usr\local\pgsql\lib, but not in .../src/test/regress/regress.dll c:\temp\dump1.sql contains: ... CREATE FUNCTION public.check_primary_key() RETURNS trigger LANGUAGE c AS '.../build/src/test/regress/refint.dll', 'check_primary_key'; while ...\build\testrun\pg_upgrade\002_pg_upgrade\data\tmp_test_T6jE\dump1.sql (for the failed test): ... CREATE FUNCTION public.check_primary_key() RETURNS trigger LANGUAGE c AS '.../src/test/regress/refint.dll', 'check_primary_key'; The same is on Linux: PG_TEST_NOCLEAN=1 meson test pg_upgrade/002_pg_upgrade cp testrun/pg_upgrade/002_pg_upgrade/data/tmp_test_*/dump1.sql /tmp/ olddump=/tmp/dump1.sql oldinstall=`pwd`/tmp_install/usr/local/pgsql meson test pg_upgrade/002_pg_upgrade So it looks like my $newregresssrc = "$srcdir/src/test/regress"; is incorrect for meson. Maybe it should be?: my $newregresssrc = dirname($ENV{REGRESS_SHLIB}); (With this line the test passes for me on Windows and Linux). Best regards, Alexander
pgsql-hackers by date: