1010 let
1111 pname = extension_name ;
1212 inherit ( pkgs ) lib ;
13+
14+ support_upgrade = if pname == "pg_repack" then false else true ;
15+ run_pg_regress = if pname == "pg_repack" then false else true ;
16+
1317 installedExtension =
1418 postgresMajorVersion : self . packages . ${ pkgs . system } . "psql_${ postgresMajorVersion } /exts/${ pname } -all" ;
1519 versions = postgresqlMajorVersion : ( installedExtension postgresqlMajorVersion ) . versions ;
148152 extension_name = "${ pname } "
149153 pg17_configuration = "${ pg17-configuration } "
150154 ext_has_background_worker = ${
151- if ( installedExtension "15" ) ? hasBackgroundWorker then "True" else "False"
155+ if support_upgrade && ( installedExtension "15" ) ? hasBackgroundWorker then "True" else "False"
152156 }
153157 sql_test_directory = Path("${ ../../tests } ")
154158 pg_regress_test_name = "${ ( installedExtension "15" ) . pgRegressTestName or pname } "
@@ -160,24 +164,40 @@ let
160164 server.wait_for_unit("multi-user.target")
161165 server.wait_for_unit("postgresql.service")
162166
163- test = PostgresExtensionTest(server, extension_name, versions, sql_test_directory)
167+ test = PostgresExtensionTest(server, extension_name, versions, sql_test_directory, ${
168+ if support_upgrade then "True" else "False"
169+ } )
164170
165171 with subtest("Check upgrade path with postgresql 15"):
166172 test.check_upgrade_path("15")
167173
168- with subtest("Check pg_regress with postgresql 15 after extension upgrade"):
169- test.check_pg_regress(Path("${ psql_15 } /lib/pgxs/src/test/regress/pg_regress"), "15", pg_regress_test_name)
174+ ${
175+ if run_pg_regress then
176+ ''
177+ with subtest("Check pg_regress with postgresql 15 after extension upgrade"):
178+ test.check_pg_regress(Path("${ psql_15 } /lib/pgxs/src/test/regress/pg_regress"), "15", pg_regress_test_name)
179+ ''
180+ else
181+ ""
182+ }
170183
171184 last_version = None
172185 with subtest("Check the install of the last version of the extension"):
173186 last_version = test.check_install_last_version("15")
174187
175- if ext_has_background_worker:
176- with subtest("Test switch_${ pname } _version"):
177- test.check_switch_extension_with_background_worker(Path("${ psql_15 } /lib/${ pname } .so"), "15")
188+ ${
189+ if support_upgrade then
190+ ''
191+ if ext_has_background_worker:
192+ with subtest("Test switch_${ pname } _version"):
193+ test.check_switch_extension_with_background_worker(Path("${ psql_15 } /lib/${ pname } .so"), "15")
178194
179- with subtest("Check pg_regress with postgresql 15 after installing the last version"):
180- test.check_pg_regress(Path("${ psql_15 } /lib/pgxs/src/test/regress/pg_regress"), "15", pg_regress_test_name)
195+ with subtest("Check pg_regress with postgresql 15 after installing the last version"):
196+ test.check_pg_regress(Path("${ psql_15 } /lib/pgxs/src/test/regress/pg_regress"), "15", pg_regress_test_name)
197+ ''
198+ else
199+ ""
200+ }
181201
182202 with subtest("switch to postgresql 17"):
183203 server.succeed(
@@ -190,14 +210,21 @@ let
190210 with subtest("Check upgrade path with postgresql 17"):
191211 test.check_upgrade_path("17")
192212
193- with subtest("Check pg_regress with postgresql 17 after extension upgrade"):
194- test.check_pg_regress(Path("${ psql_17 } /lib/pgxs/src/test/regress/pg_regress"), "17", pg_regress_test_name)
213+ ${
214+ if run_pg_regress then
215+ ''
216+ with subtest("Check pg_regress with postgresql 17 after extension upgrade"):
217+ test.check_pg_regress(Path("${ psql_17 } /lib/pgxs/src/test/regress/pg_regress"), "17", pg_regress_test_name)
195218
196- with subtest("Check the install of the last version of the extension"):
197- test.check_install_last_version("17")
219+ with subtest("Check the install of the last version of the extension"):
220+ test.check_install_last_version("17")
198221
199- with subtest("Check pg_regress with postgresql 17 after installing the last version"):
200- test.check_pg_regress(Path("${ psql_17 } /lib/pgxs/src/test/regress/pg_regress"), "17", pg_regress_test_name)
222+ with subtest("Check pg_regress with postgresql 17 after installing the last version"):
223+ test.check_pg_regress(Path("${ psql_17 } /lib/pgxs/src/test/regress/pg_regress"), "17", pg_regress_test_name)
224+ ''
225+ else
226+ ""
227+ }
201228 '' ;
202229 } ;
203230in
@@ -221,6 +248,7 @@ builtins.listToAttrs (
221248 "pg_hashids"
222249 "pg_jsonschema"
223250 "pg_net"
251+ "pg_repack"
224252 "pg_stat_monitor"
225253 "pg_tle"
226254 "pgaudit"
0 commit comments