@@ -115,10 +115,12 @@ def __init__(self, name=None, port=None, base_dir=None):
115
115
# private
116
116
self ._pg_version = PgVer (get_pg_version ())
117
117
self ._should_free_port = port is None
118
- self ._base_dir = base_dir
119
118
self ._logger = None
120
119
self ._master = None
121
120
121
+ self ._custom_base_dir = base_dir
122
+ self ._base_dir = base_dir
123
+
122
124
# basic
123
125
self .host = '127.0.0.1'
124
126
self .name = name or generate_app_name ()
@@ -796,11 +798,13 @@ def cleanup(self, max_attempts=3):
796
798
797
799
self ._try_shutdown (max_attempts )
798
800
799
- # choose directory to be removed
800
- if testgres_config .node_cleanup_full :
801
- rm_dir = self .base_dir # everything
802
- else :
803
- rm_dir = self .data_dir # just data, save logs
801
+ # only remove if base directory was temporary
802
+ if not self ._custom_base_dir :
803
+ # choose directory to be removed
804
+ if testgres_config .node_cleanup_full :
805
+ rm_dir = self .base_dir # everything
806
+ else :
807
+ rm_dir = self .data_dir # just data, save logs
804
808
805
809
rmtree (rm_dir ,ignore_errors = True )
806
810