mirror of
https://github.com/neondatabase/neon.git
synced 2026-05-23 16:10:37 +00:00
fix mypy warnings
This commit is contained in:
@@ -18,56 +18,62 @@ def test_cloud_regress(remote_pg: RemotePostgres):
|
||||
"""
|
||||
Run the regression tests
|
||||
"""
|
||||
pg_version = re.search(r"\-pg(\d+)\]", os.environ.get("PYTEST_CURRENT_TEST")).group(1)
|
||||
conn = psycopg2.connect(remote_pg.connstr())
|
||||
cur = conn.cursor()
|
||||
cur.execute("SELECT COUNT(*) FROM pg_extension WHERE extname = 'regress_so'")
|
||||
num_ext = cur.fetchone()[0]
|
||||
assert int(num_ext) < 2
|
||||
if num_ext == 1:
|
||||
log.info("The extension is found")
|
||||
else:
|
||||
log.info("Creating the extension")
|
||||
cur.execute("CREATE EXTENSION regress_so")
|
||||
conn.commit()
|
||||
cur_test = os.environ.get("PYTEST_CURRENT_TEST")
|
||||
assert cur_test
|
||||
pg_version_match = re.match(r"\-pg(\d+)\]", cur_test)
|
||||
assert pg_version_match
|
||||
pg_version = int(pg_version_match.group(1))
|
||||
with psycopg2.connect(remote_pg.connstr()) as conn:
|
||||
with conn.cursor() as cur:
|
||||
cur = conn.cursor()
|
||||
cur.execute("SELECT COUNT(*) FROM pg_extension WHERE extname = 'regress_so'")
|
||||
for r in cur:
|
||||
num_ext = r[0]
|
||||
assert int(num_ext) < 2
|
||||
if num_ext == 1:
|
||||
log.info("The extension is found")
|
||||
else:
|
||||
log.info("Creating the extension")
|
||||
cur.execute("CREATE EXTENSION regress_so")
|
||||
conn.commit()
|
||||
|
||||
log.info("Creating a C function to check availability of regress.so")
|
||||
cur.execute(
|
||||
"CREATE FUNCTION get_columns_length(oid[]) "
|
||||
"RETURNS int AS 'regress.so' LANGUAGE C STRICT STABLE PARALLEL SAFE;"
|
||||
)
|
||||
conn.rollback()
|
||||
neondir = os.path.abspath(os.path.join(os.path.dirname(os.path.relpath(__file__)), "../../"))
|
||||
runpath = f"{neondir}/vendor/postgres-v{pg_version}/src/test/regress"
|
||||
artpath = "/tmp/neon"
|
||||
prefix = f"{artpath}/pg_install/v{pg_version}"
|
||||
binpath = f"{prefix}/bin"
|
||||
regress_bin = f"{prefix}/lib/postgresql/pgxs/src/test/regress/pg_regress"
|
||||
log.info("Creating a C function to check availability of regress.so")
|
||||
cur.execute(
|
||||
"CREATE FUNCTION get_columns_length(oid[]) "
|
||||
"RETURNS int AS 'regress.so' LANGUAGE C STRICT STABLE PARALLEL SAFE;"
|
||||
)
|
||||
conn.rollback()
|
||||
neondir = os.path.abspath(os.path.join(os.path.dirname(os.path.relpath(__file__)), "../../"))
|
||||
runpath = f"{neondir}/vendor/postgres-v{pg_version}/src/test/regress"
|
||||
artpath = "/tmp/neon"
|
||||
prefix = f"{artpath}/pg_install/v{pg_version}"
|
||||
binpath = f"{prefix}/bin"
|
||||
regress_bin = f"{prefix}/lib/postgresql/pgxs/src/test/regress/pg_regress"
|
||||
|
||||
env_vars = {
|
||||
"PGHOST": remote_pg.default_options["host"],
|
||||
"PGPORT": str(
|
||||
remote_pg.default_options["port"] if "port" in remote_pg.default_options else 5432
|
||||
),
|
||||
"PGUSER": remote_pg.default_options["user"],
|
||||
"PGPASSWORD": remote_pg.default_options["password"],
|
||||
"PGDATABASE": remote_pg.default_options["dbname"],
|
||||
}
|
||||
regress_cmd = [
|
||||
regress_bin,
|
||||
"--inputdir=.",
|
||||
f"--bindir={binpath}",
|
||||
"--dlpath=/usr/local/lib",
|
||||
"--max-concurrent-tests=20",
|
||||
"--schedule=./parallel_schedule",
|
||||
"--max-connections=5",
|
||||
]
|
||||
try:
|
||||
remote_pg.pg_bin.run(regress_cmd, env=env_vars, cwd=runpath)
|
||||
except subprocess.CalledProcessError as e:
|
||||
log.error("Error(s) occurred while running the regression tests")
|
||||
with open(f"{runpath}/regression.out", "r") as f:
|
||||
print(f.read())
|
||||
with open(f"{runpath}/regression.diffs", "r") as f:
|
||||
print(f.read())
|
||||
raise e
|
||||
env_vars = {
|
||||
"PGHOST": remote_pg.default_options["host"],
|
||||
"PGPORT": str(
|
||||
remote_pg.default_options["port"] if "port" in remote_pg.default_options else 5432
|
||||
),
|
||||
"PGUSER": remote_pg.default_options["user"],
|
||||
"PGPASSWORD": remote_pg.default_options["password"],
|
||||
"PGDATABASE": remote_pg.default_options["dbname"],
|
||||
}
|
||||
regress_cmd = [
|
||||
regress_bin,
|
||||
"--inputdir=.",
|
||||
f"--bindir={binpath}",
|
||||
"--dlpath=/usr/local/lib",
|
||||
"--max-concurrent-tests=20",
|
||||
"--schedule=./parallel_schedule",
|
||||
"--max-connections=5",
|
||||
]
|
||||
try:
|
||||
remote_pg.pg_bin.run(regress_cmd, env=env_vars, cwd=runpath)
|
||||
except subprocess.CalledProcessError as e:
|
||||
log.error("Error(s) occurred while running the regression tests")
|
||||
with open(f"{runpath}/regression.out", "r") as f:
|
||||
print(f.read())
|
||||
with open(f"{runpath}/regression.diffs", "r") as f:
|
||||
print(f.read())
|
||||
raise e
|
||||
|
||||
Reference in New Issue
Block a user