Skip to content

Commit 8dda7e0

Browse files
committed
feat: run pgrouting pg_regress tests from nixos test VM
1 parent f2816c5 commit 8dda7e0

File tree

5 files changed

+203
-93
lines changed

5 files changed

+203
-93
lines changed

nix/ext/tests/pgrouting.nix

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ let
3636
};
3737
in
3838
pkg;
39+
pg_regress = pkgs.callPackage ../pg_regress.nix {
40+
postgresql = self.packages.${pkgs.system}.postgresql_15;
41+
};
3942
in
4043
self.inputs.nixpkgs.lib.nixos.runTest {
4144
name = pname;
@@ -118,6 +121,13 @@ self.inputs.nixpkgs.lib.nixos.runTest {
118121
def run_sql(query):
119122
return server.succeed(f"""sudo -u postgres psql -t -A -F\",\" -c \"{query}\" """).strip()
120123
124+
def run_pg_regress(sql_file, pg_version):
125+
try:
126+
server.succeed(f"""sudo -u postgres ${pg_regress}/bin/pg_regress --inputdir=${../../tests} --use-existing --dbname=postgres --outputdir=/tmp/regression_output_{pg_version} "{sql_file}" """)
127+
except:
128+
server.copy_from_vm(f"/tmp/regression_output_{pg_version}", "")
129+
raise
130+
121131
def check_upgrade_path(pg_version):
122132
with subtest("Check ${pname} upgrade path"):
123133
firstVersion = versions[pg_version][0]
@@ -129,6 +139,7 @@ self.inputs.nixpkgs.lib.nixos.runTest {
129139
run_sql(f"""ALTER EXTENSION ${pname} UPDATE TO '{version}';""")
130140
installed_version = run_sql(r"""SELECT extversion FROM pg_extension WHERE extname = '${pname}';""")
131141
assert installed_version == version, f"Expected ${pname} version {version}, but found {installed_version}"
142+
run_pg_regress("${pname}", pg_version)
132143
133144
start_all()
134145

nix/tests/expected/pgrouting.out

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ select * from pgr_dijkstra(
1919
1, -- start node
2020
4 -- end node
2121
);
22-
seq | path_seq | node | edge | cost | agg_cost
23-
-----+----------+------+------+------+----------
24-
1 | 1 | 1 | 1 | 1 | 0
25-
2 | 2 | 2 | 2 | 1 | 1
26-
3 | 3 | 3 | 3 | 1 | 2
27-
4 | 4 | 4 | -1 | 0 | 3
22+
seq | path_seq | start_vid | end_vid | node | edge | cost | agg_cost
23+
-----+----------+-----------+---------+------+------+------+----------
24+
1 | 1 | 1 | 4 | 1 | 1 | 1 | 0
25+
2 | 2 | 1 | 4 | 2 | 2 | 1 | 1
26+
3 | 3 | 1 | 4 | 3 | 3 | 1 | 2
27+
4 | 4 | 1 | 4 | 4 | -1 | 0 | 3
2828
(4 rows)
2929

3030
drop schema v cascade;

0 commit comments

Comments
 (0)