mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 22:49:41 +03:00 
			
		
		
		
	Revert "In the pg_upgrade test suite, don't write to src/test/regress."
This reverts commit bd1592e857.  It had
multiple defects.
Discussion: https://postgr.es/m/12717.1558304356@sss.pgh.pa.us
			
			
This commit is contained in:
		| @@ -106,18 +106,6 @@ PGDATA="$BASE_PGDATA.old" | |||||||
| export PGDATA | export PGDATA | ||||||
| rm -rf "$BASE_PGDATA" "$PGDATA" | rm -rf "$BASE_PGDATA" "$PGDATA" | ||||||
|  |  | ||||||
| # Send installcheck outputs to a private directory.  This avoids conflict when |  | ||||||
| # check-world runs pg_upgrade check concurrently with src/test/regress check. |  | ||||||
| # To retrieve interesting files after a run, use pattern tmp_check/*/*.diffs. |  | ||||||
| outputdir="$temp_root/regress" |  | ||||||
| EXTRA_REGRESS_OPTS="$EXTRA_REGRESS_OPTS --outputdir=$outputdir" |  | ||||||
| export EXTRA_REGRESS_OPTS |  | ||||||
| rm -rf "$outputdir" |  | ||||||
| mkdir "$outputdir" |  | ||||||
| mkdir "$outputdir"/sql |  | ||||||
| mkdir "$outputdir"/expected |  | ||||||
| mkdir "$outputdir"/testtablespace |  | ||||||
|  |  | ||||||
| logdir=`pwd`/log | logdir=`pwd`/log | ||||||
| rm -rf "$logdir" | rm -rf "$logdir" | ||||||
| mkdir "$logdir" | mkdir "$logdir" | ||||||
|   | |||||||
| @@ -203,12 +203,12 @@ END; | |||||||
|  |  | ||||||
| SELECT lo_export(loid, '@abs_builddir@/results/lotest.txt') FROM lotest_stash_values; | SELECT lo_export(loid, '@abs_builddir@/results/lotest.txt') FROM lotest_stash_values; | ||||||
|  |  | ||||||
| \lo_import '@abs_builddir@/results/lotest.txt' | \lo_import 'results/lotest.txt' | ||||||
|  |  | ||||||
| \set newloid :LASTOID | \set newloid :LASTOID | ||||||
|  |  | ||||||
| -- just make sure \lo_export does not barf | -- just make sure \lo_export does not barf | ||||||
| \lo_export :newloid '@abs_builddir@/results/lotest2.txt' | \lo_export :newloid 'results/lotest2.txt' | ||||||
|  |  | ||||||
| -- This is a hack to test that export/import are reversible | -- This is a hack to test that export/import are reversible | ||||||
| -- This uses knowledge about the inner workings of large object mechanism | -- This uses knowledge about the inner workings of large object mechanism | ||||||
| @@ -223,7 +223,7 @@ TRUNCATE lotest_stash_values; | |||||||
|  |  | ||||||
| \lo_unlink :newloid | \lo_unlink :newloid | ||||||
|  |  | ||||||
| \lo_import '@abs_builddir@/results/lotest.txt' | \lo_import 'results/lotest.txt' | ||||||
|  |  | ||||||
| \set newloid_1 :LASTOID | \set newloid_1 :LASTOID | ||||||
|  |  | ||||||
|   | |||||||
| @@ -385,10 +385,10 @@ SELECT lo_export(loid, '@abs_builddir@/results/lotest.txt') FROM lotest_stash_va | |||||||
|          1 |          1 | ||||||
| (1 row) | (1 row) | ||||||
|  |  | ||||||
| \lo_import '@abs_builddir@/results/lotest.txt' | \lo_import 'results/lotest.txt' | ||||||
| \set newloid :LASTOID | \set newloid :LASTOID | ||||||
| -- just make sure \lo_export does not barf | -- just make sure \lo_export does not barf | ||||||
| \lo_export :newloid '@abs_builddir@/results/lotest2.txt' | \lo_export :newloid 'results/lotest2.txt' | ||||||
| -- This is a hack to test that export/import are reversible | -- This is a hack to test that export/import are reversible | ||||||
| -- This uses knowledge about the inner workings of large object mechanism | -- This uses knowledge about the inner workings of large object mechanism | ||||||
| -- which should not be used outside it.  This makes it a HACK | -- which should not be used outside it.  This makes it a HACK | ||||||
| @@ -407,7 +407,7 @@ SELECT lo_unlink(loid) FROM lotest_stash_values; | |||||||
|  |  | ||||||
| TRUNCATE lotest_stash_values; | TRUNCATE lotest_stash_values; | ||||||
| \lo_unlink :newloid | \lo_unlink :newloid | ||||||
| \lo_import '@abs_builddir@/results/lotest.txt' | \lo_import 'results/lotest.txt' | ||||||
| \set newloid_1 :LASTOID | \set newloid_1 :LASTOID | ||||||
| SELECT lo_from_bytea(0, lo_get(:newloid_1)) AS newloid_2 | SELECT lo_from_bytea(0, lo_get(:newloid_1)) AS newloid_2 | ||||||
| \gset | \gset | ||||||
|   | |||||||
| @@ -385,10 +385,10 @@ SELECT lo_export(loid, '@abs_builddir@/results/lotest.txt') FROM lotest_stash_va | |||||||
|          1 |          1 | ||||||
| (1 row) | (1 row) | ||||||
|  |  | ||||||
| \lo_import '@abs_builddir@/results/lotest.txt' | \lo_import 'results/lotest.txt' | ||||||
| \set newloid :LASTOID | \set newloid :LASTOID | ||||||
| -- just make sure \lo_export does not barf | -- just make sure \lo_export does not barf | ||||||
| \lo_export :newloid '@abs_builddir@/results/lotest2.txt' | \lo_export :newloid 'results/lotest2.txt' | ||||||
| -- This is a hack to test that export/import are reversible | -- This is a hack to test that export/import are reversible | ||||||
| -- This uses knowledge about the inner workings of large object mechanism | -- This uses knowledge about the inner workings of large object mechanism | ||||||
| -- which should not be used outside it.  This makes it a HACK | -- which should not be used outside it.  This makes it a HACK | ||||||
| @@ -407,7 +407,7 @@ SELECT lo_unlink(loid) FROM lotest_stash_values; | |||||||
|  |  | ||||||
| TRUNCATE lotest_stash_values; | TRUNCATE lotest_stash_values; | ||||||
| \lo_unlink :newloid | \lo_unlink :newloid | ||||||
| \lo_import '@abs_builddir@/results/lotest.txt' | \lo_import 'results/lotest.txt' | ||||||
| \set newloid_1 :LASTOID | \set newloid_1 :LASTOID | ||||||
| SELECT lo_from_bytea(0, lo_get(:newloid_1)) AS newloid_2 | SELECT lo_from_bytea(0, lo_get(:newloid_1)) AS newloid_2 | ||||||
| \gset | \gset | ||||||
|   | |||||||
| @@ -101,13 +101,6 @@ exit 0; | |||||||
| sub installcheck | sub installcheck | ||||||
| { | { | ||||||
| 	my $schedule = shift || 'serial'; | 	my $schedule = shift || 'serial'; | ||||||
| 	installcheck_internal $schedule; |  | ||||||
| 	return; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| sub installcheck_internal |  | ||||||
| { |  | ||||||
| 	my ($schedule, @EXTRA_REGRESS_OPTS) = @_; |  | ||||||
| 	my @args = ( | 	my @args = ( | ||||||
| 		"../../../$Config/pg_regress/pg_regress", | 		"../../../$Config/pg_regress/pg_regress", | ||||||
| 		"--dlpath=.", | 		"--dlpath=.", | ||||||
| @@ -116,7 +109,6 @@ sub installcheck_internal | |||||||
| 		"--encoding=SQL_ASCII", | 		"--encoding=SQL_ASCII", | ||||||
| 		"--no-locale"); | 		"--no-locale"); | ||||||
| 	push(@args, $maxconn) if $maxconn; | 	push(@args, $maxconn) if $maxconn; | ||||||
| 	push(@args, @EXTRA_REGRESS_OPTS); |  | ||||||
| 	system(@args); | 	system(@args); | ||||||
| 	my $status = $? >> 8; | 	my $status = $? >> 8; | ||||||
| 	exit $status if $status; | 	exit $status if $status; | ||||||
| @@ -520,14 +512,6 @@ sub upgradecheck | |||||||
| 	$ENV{PATH} = "$bindir;$ENV{PATH}"; | 	$ENV{PATH} = "$bindir;$ENV{PATH}"; | ||||||
| 	my $data = "$tmp_root/data"; | 	my $data = "$tmp_root/data"; | ||||||
| 	$ENV{PGDATA} = "$data.old"; | 	$ENV{PGDATA} = "$data.old"; | ||||||
| 	my $outputdir          = "$tmp_root/regress"; |  | ||||||
| 	my @EXTRA_REGRESS_OPTS = ("--outputdir=$outputdir"); |  | ||||||
| 	rmtree("$outputdir"); |  | ||||||
| 	mkdir "$outputdir"                || die $!; |  | ||||||
| 	mkdir "$outputdir/sql"            || die $!; |  | ||||||
| 	mkdir "$outputdir/expected"       || die $!; |  | ||||||
| 	mkdir "$outputdir/testtablespace" || die $!; |  | ||||||
|  |  | ||||||
| 	my $logdir = "$topdir/src/bin/pg_upgrade/log"; | 	my $logdir = "$topdir/src/bin/pg_upgrade/log"; | ||||||
| 	(mkdir $logdir || die $!) unless -d $logdir; | 	(mkdir $logdir || die $!) unless -d $logdir; | ||||||
| 	print "\nRunning initdb on old cluster\n\n"; | 	print "\nRunning initdb on old cluster\n\n"; | ||||||
| @@ -542,7 +526,7 @@ sub upgradecheck | |||||||
| 	generate_db('',       91, 127, ''); | 	generate_db('',       91, 127, ''); | ||||||
|  |  | ||||||
| 	print "\nSetting up data for upgrading\n\n"; | 	print "\nSetting up data for upgrading\n\n"; | ||||||
| 	installcheck_internal('serial', @EXTRA_REGRESS_OPTS); | 	installcheck(); | ||||||
|  |  | ||||||
| 	# now we can chdir into the source dir | 	# now we can chdir into the source dir | ||||||
| 	chdir "$topdir/src/bin/pg_upgrade"; | 	chdir "$topdir/src/bin/pg_upgrade"; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user