Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit24b0e57

Browse files
committed
Merge branch 'master' into syncrep
2 parents6fb7a70 +72d0373 commit24b0e57

File tree

3 files changed

+30
-27
lines changed

3 files changed

+30
-27
lines changed

‎testgres/node.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@
6868

6969
from .standbyimportFirst
7070

71-
7271
from .utilsimport \
72+
PgVer, \
7373
eprint, \
7474
get_bin_path, \
75+
get_pg_version, \
7576
file_tail, \
76-
pg_version_ge, \
7777
reserve_port, \
7878
release_port, \
7979
execute_utility, \
@@ -117,6 +117,7 @@ def __init__(self, name=None, port=None, base_dir=None):
117117
"""
118118

119119
# private
120+
self._pg_version=PgVer(get_pg_version())
120121
self._should_free_port=portisNone
121122
self._base_dir=base_dir
122123
self._logger=None
@@ -493,7 +494,7 @@ def get_auth_method(t):
493494
ifallow_streaming:
494495

495496
# select a proper wal_level for PostgreSQL
496-
ifpg_version_ge('9.6'):
497+
ifself._pg_version>='9.6':
497498
wal_level="replica"
498499
else:
499500
wal_level="hot_standby"
@@ -508,7 +509,7 @@ def get_auth_method(t):
508509
wal_level))# yapf: disable
509510

510511
ifallow_logical:
511-
ifnotpg_version_ge('10'):
512+
ifself._pg_version<'10':
512513
raiseInitNodeException(
513514
"Logical replication is only available for Postgres 10 "
514515
"and newer")
@@ -572,7 +573,7 @@ def get_control_data(self):
572573

573574
# this one is tricky (blame PG 9.4)
574575
_params= [get_bin_path("pg_controldata")]
575-
_params+= ["-D"]ifpg_version_ge('9.5')else []
576+
_params+= ["-D"]ifself._pg_version>='9.5'else []
576577
_params+= [self.data_dir]
577578

578579
data=execute_utility(_params,self.utils_log_file)
@@ -1064,7 +1065,7 @@ def set_synchronous_standbys(self, standbys):
10641065
master.restart()
10651066
10661067
"""
1067-
ifpg_version_ge('9.6'):
1068+
ifself._pg_version>='9.6':
10681069
ifisinstance(standbys,Iterable):
10691070
standbys=First(1,standbys)
10701071
else:
@@ -1085,7 +1086,7 @@ def catchup(self, dbname=None, username=None):
10851086
ifnotself.master:
10861087
raiseTestgresException("Node doesn't have a master")
10871088

1088-
ifpg_version_ge('10'):
1089+
ifself._pg_version>='10':
10891090
poll_lsn="select pg_catalog.pg_current_wal_lsn()::text"
10901091
wait_lsn="select pg_catalog.pg_last_wal_replay_lsn() >= '{}'::pg_lsn"
10911092
else:

‎testgres/utils.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222
# ports used by nodes
2323
bound_ports=set()
2424

25+
# re-export version type
26+
PgVer=LooseVersion
27+
2528

2629
defreserve_port():
2730
"""
@@ -180,17 +183,6 @@ def get_pg_version():
180183
returnversion
181184

182185

183-
defpg_version_ge(version):
184-
"""
185-
Check if PostgreSQL is 'version' or newer.
186-
"""
187-
188-
cur_ver=LooseVersion(get_pg_version())
189-
min_ver=LooseVersion(version)
190-
191-
returncur_ver>=min_ver
192-
193-
194186
deffile_tail(f,num_lines):
195187
"""
196188
Get last N lines of a file.

‎tests/test_simple.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
importlogging.config
1313

1414
fromcontextlibimportcontextmanager
15-
fromdistutils.versionimportLooseVersion
1615
fromshutilimportrmtree
1716

1817
fromtestgresimport \
@@ -32,17 +31,28 @@
3231

3332
fromtestgresimport \
3433
NodeStatus, \
34+
ProcessType, \
3535
IsolationLevel, \
3636
get_new_node
3737

3838
fromtestgresimport \
3939
get_bin_path, \
40-
get_pg_config
40+
get_pg_config, \
41+
get_pg_version
4142

43+
fromtestgresimport \
44+
First, \
45+
Any
46+
47+
# NOTE: those are ugly imports
4248
fromtestgresimportbound_ports
43-
fromtestgres.utilsimportpg_version_ge
44-
fromtestgres.enumsimportProcessType
45-
fromtestgres.standbyimportFirst,Any
49+
fromtestgres.utilsimportPgVer
50+
51+
52+
defpg_version_ge(version):
53+
cur_ver=PgVer(get_pg_version())
54+
min_ver=PgVer(version)
55+
returncur_ver>=min_ver
4656

4757

4858
defutil_exists(util):
@@ -111,7 +121,7 @@ def test_init_after_cleanup(self):
111121
node.init().start().execute('select 1')
112122

113123
@unittest.skipUnless(util_exists('pg_resetwal'),'might be missing')
114-
@unittest.skipUnless(pg_version_ge('9.6'),'query works on 9.6+')
124+
@unittest.skipUnless(pg_version_ge('9.6'),'requires 9.6+')
115125
deftest_init_unique_system_id(self):
116126
# this function exists in PostgreSQL 9.6+
117127
query='select system_identifier from pg_control_system()'
@@ -869,9 +879,9 @@ def test_exceptions(self):
869879
str(QueryException('msg','query'))
870880

871881
deftest_version_management(self):
872-
a=LooseVersion('10.0')
873-
b=LooseVersion('10')
874-
c=LooseVersion('9.6.5')
882+
a=PgVer('10.0')
883+
b=PgVer('10')
884+
c=PgVer('9.6.5')
875885

876886
self.assertTrue(a>b)
877887
self.assertTrue(b>c)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp