File tree Expand file tree Collapse file tree 2 files changed +40
-6
lines changed Expand file tree Collapse file tree 2 files changed +40
-6
lines changed Original file line number Diff line number Diff line change 66import subprocess
77import threading
88import tempfile
9+ import platform
910from queue import Queue
1011
1112import time
@@ -1925,7 +1926,7 @@ def make_simple(
19251926
19261927 # Define delayed propertyes
19271928 if not ("unix_socket_directories" in options .keys ()):
1928- options ["unix_socket_directories" ] = __class__ ._gettempdir ()
1929+ options ["unix_socket_directories" ] = __class__ ._gettempdir_for_socket ()
19291930
19301931 # Set config values
19311932 node .set_auto_conf (options )
@@ -1938,6 +1939,33 @@ def make_simple(
19381939
19391940 return node
19401941
1942+ def _gettempdir_for_socket ():
1943+ platform_system_name = platform .system ().lower ()
1944+
1945+ if platform_system_name == "windows" :
1946+ return __class__ ._gettempdir ()
1947+
1948+ #
1949+ # [2025-02-17] Hot fix.
1950+ #
1951+ # Let's use hard coded path as Postgres likes.
1952+ #
1953+ # pg_config_manual.h:
1954+ #
1955+ # #ifndef WIN32
1956+ # #define DEFAULT_PGSOCKET_DIR "/tmp"
1957+ # #else
1958+ # #define DEFAULT_PGSOCKET_DIR ""
1959+ # #endif
1960+ #
1961+ # On the altlinux-10 tempfile.gettempdir() may return
1962+ # the path to "private" temp directiry - "/temp/.private/<username>/"
1963+ #
1964+ # But Postgres want to find a socket file in "/tmp" (see above).
1965+ #
1966+
1967+ return "/tmp"
1968+
19411969 def _gettempdir ():
19421970 v = tempfile .gettempdir ()
19431971
Original file line number Diff line number Diff line change @@ -1244,13 +1244,19 @@ def test_simple_with_bin_dir(self):
12441244 correct_bin_dir = app .make_simple (base_dir = node .base_dir , bin_dir = bin_dir )
12451245 correct_bin_dir .slow_start ()
12461246 correct_bin_dir .safe_psql ("SELECT 1;" )
1247+ correct_bin_dir .stop ()
1248+
1249+ while True :
1250+ try :
1251+ app .make_simple (base_dir = node .base_dir , bin_dir = "wrong/path" )
1252+ except FileNotFoundError :
1253+ break # Expected error
1254+ except ExecUtilException :
1255+ break # Expected error
12471256
1248- try :
1249- wrong_bin_dir = app .make_empty (base_dir = node .base_dir , bin_dir = "wrong/path" )
1250- wrong_bin_dir .slow_start ()
12511257 raise RuntimeError ("Error was expected." ) # We should not reach this
1252- except FileNotFoundError :
1253- pass # Expected error
1258+
1259+ return
12541260
12551261 def test_set_auto_conf (self ):
12561262 # elements contain [property id, value, storage value]
You can’t perform that action at this time.
0 commit comments