citus/src/test/regress/citus_tests/utils.py

60 lines
1.2 KiB
Python

import subprocess
import os
USER = "postgres"
def psql(pg_path, port, command):
return subprocess.run(
[
os.path.join(pg_path, "psql"),
"-U",
USER,
"-p",
str(port),
"-c",
command,
"-P",
"pager=off",
"--no-psqlrc",
],
check=True,
)
def psql_capture(pg_path, port, command):
return subprocess.check_output(
[
os.path.join(pg_path, "psql"),
"-U",
USER,
"-p",
str(port),
"-c",
command,
"-P",
"pager=off",
"--no-psqlrc",
"--tuples-only",
],
)
# Taken from https://stackoverflow.com/questions/431684/how-do-i-change-directory-cd-in-python/13197763#13197763
class cd(object):
"""Context manager for changing the current working directory"""
def __init__(self, newPath):
self.newPath = os.path.expanduser(newPath)
def __enter__(self):
self.savedPath = os.getcwd()
print(self.savedPath)
os.chdir(self.newPath)
def __exit__(self, etype, value, traceback):
os.chdir(self.savedPath)