Put the temporary socket directory under TMPDIR, if that environment
variable is set, instead of the hardcoded /tmp.
This allows running the tests if there is no /tmp at all (for example
on Windows, although running the tests with Unix-domain sockets is not
enabled on Windows yet). We also use TMPDIR everywhere else /tmp is
hardcoded, so this makes the behavior consistent.
Reviewed-by: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Discussion: https://www.postgresql.org/message-id/flat/
54bde68c-d134-4eb8-5bd3-
8af33b72a010@2ndquadrant.com
static const char *
make_temp_sockdir(void)
{
- char *template = pg_strdup("/tmp/pg_regress-XXXXXX");
+ char *template = psprintf("%s/pg_regress-XXXXXX",
+ getenv("TMPDIR") ? getenv("TMPDIR") : "/tmp");
temp_sockdir = mkdtemp(template);
if (temp_sockdir == NULL)