Add TAP test in pg_dump with --format=tar and --compress
authorMichael Paquier <michael@paquier.xyz>
Wed, 30 Mar 2022 04:34:01 +0000 (13:34 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 30 Mar 2022 04:34:01 +0000 (13:34 +0900)
This combination of options has never been supported, and it has never
been checked in the regression tests.  When building the code without
zlib support, pg_dump is allowed to run and it generates a warning to
inform that any contents are dumped as uncompressed.  The tests added by
this commit check both behaviors.

Author: Georgios Kokolatos, Rachel Heaton
Discussion: https://postgr.es/m/faUNEOpts9vunEaLnmxmG-DldLSg_ql137OC3JYDmgrOMHm1RvvWY2IdBkv_CRxm5spCCb_OmKNk2T03TMm0fBEWveFF9wA1WizPuAgB7Ss=@protonmail.com

src/bin/pg_dump/t/001_basic.pl

index e0bf3eb032a1842a07803808dcaaf4fd0b052471..65e6c01fed7762077d41f7756b88fcd59191c177 100644 (file)
@@ -125,6 +125,22 @@ command_fails_like(
        qr/\Qpg_dump: error: -Z\/--compress must be in range 0..9\E/,
        'pg_dump: -Z/--compress must be in range');
 
+if (check_pg_config("#define HAVE_LIBZ 1"))
+{
+       command_fails_like(
+               [ 'pg_dump', '--compress', '1', '--format', 'tar' ],
+               qr/\Qpg_dump: error: compression is not supported by tar archive format\E/,
+               'pg_dump: compression is not supported by tar archive format');
+}
+else
+{
+       # --jobs > 1 forces an error with tar format.
+       command_fails_like(
+               [ 'pg_dump', '--compress', '1', '--format', 'tar', '-j3' ],
+               qr/\Qpg_dump: warning: requested compression not available in this installation -- archive will be uncompressed\E/,
+               'pg_dump: warning: compression not available in this installation');
+}
+
 command_fails_like(
        [ 'pg_dump', '--extra-float-digits', '-16' ],
        qr/\Qpg_dump: error: --extra-float-digits must be in range\E/,