Content-Length: 2593 | pFad | http://github.com/postgrespro/testgres/pull/101.patch
thub.com
From e0a807ce1e065e6d610f93e8b8031abb92580174 Mon Sep 17 00:00:00 2001
From: vshepard
Date: Thu, 18 Jan 2024 13:28:56 +0100
Subject: [PATCH] Fix get_pg_version for linux mint issue #100
---
testgres/utils.py | 15 +++++++++------
tests/test_simple.py | 12 +++++++++++-
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/testgres/utils.py b/testgres/utils.py
index d84bb2b5..745a2555 100644
--- a/testgres/utils.py
+++ b/testgres/utils.py
@@ -177,20 +177,23 @@ def get_pg_version(bin_dir=None):
Return PostgreSQL version provided by postmaster.
"""
- # get raw version (e.g. postgres (PostgreSQL) 9.5.7)
+ # Get raw version (e.g., postgres (PostgreSQL) 9.5.7)
postgres_path = os.path.join(bin_dir, 'postgres') if bin_dir else get_bin_path('postgres')
_params = [postgres_path, '--version']
raw_ver = tconf.os_ops.exec_command(_params, encoding='utf-8')
- # Remove "(Homebrew)" if present
- raw_ver = raw_ver.replace('(Homebrew)', '').strip()
+ return parse_pg_version(raw_ver)
- # cook version of PostgreSQL
- version = raw_ver.strip().split(' ')[-1] \
+
+def parse_pg_version(version_out):
+ # Generalize removal of system-specific suffixes (anything in parentheses)
+ raw_ver = re.sub(r'\([^)]*\)', '', version_out).strip()
+
+ # Cook version of PostgreSQL
+ version = raw_ver.split(' ')[-1] \
.partition('devel')[0] \
.partition('beta')[0] \
.partition('rc')[0]
-
return version
diff --git a/tests/test_simple.py b/tests/test_simple.py
index a013f478..8cb0d94e 100644
--- a/tests/test_simple.py
+++ b/tests/test_simple.py
@@ -48,7 +48,7 @@
# NOTE: those are ugly imports
from testgres import bound_ports
-from testgres.utils import PgVer
+from testgres.utils import PgVer, parse_pg_version
from testgres.node import ProcessProxy
@@ -1023,6 +1023,16 @@ def test_upgrade_node(self):
node_new.start()
self.assertTrue(b'Upgrade Complete' in res)
+ def test_parse_pg_version(self):
+ # Linux Mint
+ assert parse_pg_version("postgres (PostgreSQL) 15.5 (Ubuntu 15.5-1.pgdg22.04+1)") == "15.5"
+ # Linux Ubuntu
+ assert parse_pg_version("postgres (PostgreSQL) 12.17") == "12.17"
+ # Windows
+ assert parse_pg_version("postgres (PostgreSQL) 11.4") == "11.4"
+ # Macos
+ assert parse_pg_version("postgres (PostgreSQL) 14.9 (Homebrew)") == "14.9"
+
if __name__ == '__main__':
if os.environ.get('ALT_CONFIG'):
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://github.com/postgrespro/testgres/pull/101.patch
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy