]> granicus.if.org Git - postgresql/commitdiff
Work around an apparent bug in the Msys DTK perl's regex engine.
authorAndrew Dunstan <andrew@dunslane.net>
Mon, 10 Aug 2015 14:42:05 +0000 (10:42 -0400)
committerAndrew Dunstan <andrew@dunslane.net>
Mon, 10 Aug 2015 14:42:05 +0000 (10:42 -0400)
Several versions of the perl that comes with the Msys DTK have been
found to have a bug that fails to recognize a ' before a multiline $ in
some circumstances. To work around the problem, use a character class
for the '. Another solution would have been to use \n instead of $, but
that would have changed the test semantics very slightly.

src/bin/pg_basebackup/t/010_pg_basebackup.pl

index 5fa0caa3053469e6422401a14938c0516746d5a4..dc96bbf2067dc2a2a7ad9fd634b9cb0a77835f50 100644 (file)
@@ -153,7 +153,9 @@ command_ok([ 'pg_basebackup', '-D', "$tempdir/backupR", '-R' ],
        'pg_basebackup -R runs');
 ok(-f "$tempdir/backupR/recovery.conf", 'recovery.conf was created');
 my $recovery_conf = slurp_file "$tempdir/backupR/recovery.conf";
-like($recovery_conf, qr/^standby_mode = 'on'$/m, 'recovery.conf sets standby_mode');
+# using a character class for the final "'" here works around an apparent
+# bug in several version of the Msys DTK perl
+like($recovery_conf, qr/^standby_mode = 'on[']$/m, 'recovery.conf sets standby_mode');
 like($recovery_conf, qr/^primary_conninfo = '.*port=$ENV{PGPORT}.*'$/m, 'recovery.conf sets primary_conninfo');
 
 command_ok([ 'pg_basebackup', '-D', "$tempdir/backupxf", '-X', 'fetch' ],