Add PG_TEST_PG_COMBINEBACKUP_MODE to CI tasks
authorTomas Vondra <[email protected]>
Tue, 10 Sep 2024 14:27:55 +0000 (16:27 +0200)
committerTomas Vondra <[email protected]>
Tue, 10 Sep 2024 14:30:38 +0000 (16:30 +0200)
The environment variable PG_TEST_PG_COMBINEBACKUP_MODE has been
available since 35a7b288b975, but was not set by any built-in CI tasks.
This commit modifies two of the CI tasks to use the alternative modes,
to exercise the pg_combinebackup code.

The Linux task uses --copy-file-range, macOS uses --clone.

This is not an exhaustive test of combinations. The supported modes
depend on the operating system and filesystem, and it would be nice to
test all supported combinations. Right now we have just one task for
each OS, and it doesn't seem worth adding more just for this.

Reported-by: Peter Eisentraut
Reviewed-by: Peter Eisentraut
Discussion: https://postgr.es/m/48da4a1f-ccd9-4988-9622-24f37b1de2b4%40eisentraut.org

.cirrus.tasks.yml

index 1ce6c443a8c3e89ddd5cd431c86707d02f036cb8..90cb95c86813139892343681e5cf042757658d3f 100644 (file)
@@ -321,6 +321,7 @@ task:
 
       env:
         SANITIZER_FLAGS: -fsanitize=address
+        PG_TEST_PG_COMBINEBACKUP_MODE: --copy-file-range
 
       # Normally, the "relation segment" code basically has no coverage in our
       # tests, because we (quite reasonably) don't generate tables large
@@ -435,6 +436,7 @@ task:
     CXXFLAGS: -Og -ggdb
 
     PG_TEST_PG_UPGRADE_MODE: --clone
+    PG_TEST_PG_COMBINEBACKUP_MODE: --clone
 
   <<: *macos_task_template