@@ -127,7 +127,7 @@ def __repr__(self):
127127
128128
129129class PostgresNode (object ):
130- def __init__ (self ,name = None ,port = None ,base_dir = None ,conn_params :ConnectionParams = ConnectionParams (),bin_dir = None ,prefix = None ):
130+ def __init__ (self ,name = None ,base_dir = None ,port = None ,conn_params :ConnectionParams = ConnectionParams (),bin_dir = None ,prefix = None ):
131131"""
132132 PostgresNode constructor.
133133
@@ -156,9 +156,9 @@ def __init__(self, name=None, port=None, base_dir=None, conn_params: ConnectionP
156156else :
157157self .os_ops = LocalOperations (conn_params )
158158
159+ self .host = self .os_ops .host
159160self .port = port or reserve_port ()
160161
161- self .host = self .os_ops .host
162162self .ssh_key = self .os_ops .ssh_key
163163
164164# defaults for __exit__()
@@ -1690,12 +1690,13 @@ def __init__(self, test_path, nodes_to_cleanup, os_ops=LocalOperations()):
16901690
16911691def make_empty (
16921692self ,
1693- base_dir = None ):
1693+ base_dir = None ,
1694+ port = None ):
16941695real_base_dir = os .path .join (self .test_path ,base_dir )
16951696self .os_ops .rmdirs (real_base_dir ,ignore_errors = True )
16961697self .os_ops .makedirs (real_base_dir )
16971698
1698- node = PostgresNode (base_dir = real_base_dir )
1699+ node = PostgresNode (base_dir = real_base_dir , port = port )
16991700node .should_rm_dirs = True
17001701self .nodes_to_cleanup .append (node )
17011702
@@ -1704,14 +1705,15 @@ def make_empty(
17041705def make_simple (
17051706self ,
17061707base_dir = None ,
1708+ port = None ,
17071709set_replication = False ,
17081710ptrack_enable = False ,
17091711initdb_params = [],
17101712pg_options = {},
17111713checksum = True ):
17121714if checksum and '--data-checksums' not in initdb_params :
17131715initdb_params .append ('--data-checksums' )
1714- node = self .make_empty (base_dir )
1716+ node = self .make_empty (base_dir , port )
17151717node .init (
17161718initdb_params = initdb_params ,allow_streaming = set_replication )
17171719