[SCM] PostGIS branch master updated. 3.6.0rc2-9-gba3c19f9e
git at osgeo.org
git at osgeo.org
Tue Aug 26 02:59:45 PDT 2025
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".
The branch, master has been updated
via ba3c19f9e35d16e5a20954a4e63d6e50bb145f0f (commit)
from b96e13bedc3fd6f569f22c85ee70cf1113c30337 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ba3c19f9e35d16e5a20954a4e63d6e50bb145f0f
Author: Sandro Santilli <strk at kbt.io>
Date: Tue Aug 26 11:55:00 2025 +0200
Have downgrades be also tested with standard conforming strings off
Confirms bug #5977
diff --git a/utils/check_all_downgrades.sh b/utils/check_all_downgrades.sh
index b5a766e2a..a437cace5 100755
--- a/utils/check_all_downgrades.sh
+++ b/utils/check_all_downgrades.sh
@@ -15,6 +15,8 @@ cd $(dirname $0)/..
SRCDIR=$PWD # TODO: allow override ?
cd - > /dev/null
+MAKE_ARGS="TESTS=${SRCDIR}/regress/core/regress.sql"
+
# This is useful to run database queries
export PGDATABASE=template1
@@ -161,41 +163,29 @@ is_downgrade()
return 0
}
-check_path()
+check_downgrade()
{
RUNTESTFLAGS="-v --extension --upgrade-path=${UPGRADE_PATH} ${USERTESTFLAGS}" \
${MAKE} -C ${REGDIR} check ${MAKE_ARGS} > ${TMPDIR}/log 2>&1
if test $? = 0; then
- echo "FAIL: ${test_label} did not error out"
- cat ${TMPDIR}/log
+ echo "FAIL: ${test_label} did not error out:"
+ tail ${TMPDIR}/log
failed
else
ERR=$( grep 'Downgrade .* forbidden' ${TMPDIR}/log )
test -n "$ERR" && {
echo "PASS: ${test_label} gave $ERR"
} || {
- echo "FAIL: ${test_label} gave some other error"
- cat ${TMPDIR}/log
+ echo "FAIL: ${test_label} gave some other error:"
+ tail ${TMPDIR}/log
failed
}
fi
}
-report_missing_versions()
-{
- if test -n "${MISSING_EXT_UPGRADES}"; then
- echo "INFO: missing downgrade scripts: ${MISSING_EXT_UPGRADES}"
- echo "HINT: use 'postgis install-extension-upgrades' to install them"
- fi
- cleanup
-}
-
-
to_version=$to_version_param
if expr $to_version : ':auto' >/dev/null; then
to_version=`psql -XAtc "select default_version from pg_available_extensions where name = 'postgis'"` || exit 1
- MISSING_EXT_UPGRADES=
- trap report_missing_versions EXIT
elif expr $to_version : '.*!$' >/dev/null; then
to_version=$(echo "${to_version}" | sed 's/\!$//')
fi
@@ -223,14 +213,6 @@ echo "INFO: installed extensions: $INSTALLED_EXTENSIONS"
USERTESTFLAGS=${RUNTESTFLAGS}
-# Make use of all public functions defined by source version
-# and use double-upgrade
-USERTESTFLAGS="\
- ${USERTESTFLAGS} \
- --before-upgrade-script ${SRCDIR}/regress/hooks/use-all-functions.sql \
- --after-upgrade-script ${SRCDIR}/regress/hooks/hook-after-upgrade.sql \
-"
-
for EXT in ${INSTALLED_EXTENSIONS}; do #{
if test "${EXT}" = "postgis"; then
REGDIR=${BUILDDIR}/regress
@@ -244,7 +226,7 @@ for EXT in ${INSTALLED_EXTENSIONS}; do #{
echo "SKIP: don't know where to find regress tests for extension ${EXT}"
fi
- # Check extension->extension upgrades
+ # Check extension->extension downgrades
files=`'ls' ${EXT}--* | grep -v -- '--.*--' | sed "s/^${EXT}--\(.*\)\.sql/\1/"`
for fname in $files; do
from_version="$fname"
@@ -267,84 +249,20 @@ for EXT in ${INSTALLED_EXTENSIONS}; do #{
" ) || exit 1
if test -z "${path}"; then
echo "SKIP: ${test_label} (no downgrade path from ${from_version} to ${to_version} known by postgresql)"
- MISSING_EXT_UPGRADES="${from_version} ${MISSING_EXT_UPGRADES}"
continue
fi
echo "Testing ${test_label}"
- check_path
- done
+ check_downgrade
- if ! kept_label "unpackaged"; then
- echo "SKIP: ${EXT} script-based upgrades (disabled by commandline)"
- continue;
- fi
-
- # Check unpackaged->extension upgrades
- for majmin in `'ls' -d ${CTBDIR}/postgis-* | sed 's/.*postgis-//'`; do
- UPGRADE_PATH="unpackaged${majmin}--${to_version_param}"
- test_label="${EXT} extension downgrade ${UPGRADE_PATH}"
- if expr $to_version_param : ':auto' >/dev/null; then
- test_label="${test_label} ($to_version)"
- fi
- kept_label "${test_label}" || continue
- is_downgrade "${test_label}" ${majmin} ${to_version} || continue
- path=$( psql -XAtc "
- SELECT path
- FROM pg_catalog.pg_extension_update_paths('${EXT}')
- WHERE source = 'unpackaged'
- AND target = '${to_version}'
- " ) || exit 1
- if test -z "${path}"; then
- echo "SKIP: ${test_label} (no downgrade path from unpackaged to ${to_version} known by postgresql)"
- continue
- fi
+ test_label="${test_label} with standard-conforming-strings off"
echo "Testing ${test_label}"
- check_path
+ USERTESTFLAGS="\
+ ${USERTESTFLAGS} \
+ --before-upgrade-script ${SRCDIR}/regress/hooks/standard-conforming-strings-off.sql \
+ " check_downgrade
done
- # Check unpackaged->unpackaged upgrades (if target version == current version)
-# CURRENTVERSION=`grep '^POSTGIS_' ${SRCDIR}/Version.config | cut -d= -f2 | paste -sd '.'`
- CURRENTVERSION=$(grep '^POSTGIS_' ${SRCDIR}/Version.config | cut -d= -f2 | tr '\n' '.' | sed 's/\.$//')
-
- if test "${to_version}" != "${CURRENTVERSION}"; then #{
- echo "SKIP: ${EXT} script-based upgrades (${to_version_param} [${to_version}] does not match built version ${CURRENTVERSION})"
- continue
- fi #}
-
- for majmin in `'ls' -d ${CTBDIR}/postgis-* | sed 's/.*postgis-//'`
- do #{
- UPGRADE_PATH="unpackaged${majmin}--:auto"
- test_label="${EXT} script soft downgrade ${UPGRADE_PATH}"
- if expr $to_version_param : ':auto' >/dev/null; then
- test_label="${test_label} ($to_version)"
- fi
-
- compatible_upgrade "${test_label}" ${majmin} ${to_version} || continue
-
- if kept_label "${test_label}"; then #{
- echo "Testing ${test_label}"
- RUNTESTFLAGS="-v --upgrade-path=${UPGRADE_PATH} ${USERTESTFLAGS}" \
- ${MAKE} -C ${REGDIR} check ${MAKE_ARGS} && {
- echo "PASS: ${test_label}"
- } || {
- echo "FAIL: ${test_label}"
- failed
- }
- fi #}
-
- test_label="${EXT} script hard downgrade ${UPGRADE_PATH}"
- if kept_label "${test_label}"; then #{
- echo "Testing ${test_label}"
- RUNTESTFLAGS="-v --dumprestore --upgrade-path=${UPGRADE_PATH} ${USERTESTFLAGS}" \
- ${MAKE} -C ${REGDIR} check ${MAKE_ARGS} && {
- echo "PASS: ${test_label}"
- } || {
- echo "FAIL: ${test_label}"
- failed
- }
- fi #}
-
- done #}
+ # TODO: Check unpackaged->unpackaged downgrades (if target version == current version)
done #}
-----------------------------------------------------------------------
Summary of changes:
utils/check_all_downgrades.sh | 112 ++++++------------------------------------
1 file changed, 15 insertions(+), 97 deletions(-)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list