On 6/19/15 10:52 AM, Robert Haas wrote:
> Change TAP test framework to not rely on having a chmod executable.
> 
> This might not work at all on Windows, and is not ever efficient.
> 
> Michael Paquier

I came across this on an unrelated mission and noticed it was
unnecessarily complicated.  How about this patch instead?

>From 3062d1ad69774f7dd68eb8f307997ae32d3535f2 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pete...@gmx.net>
Date: Tue, 25 Aug 2015 09:58:49 -0400
Subject: [PATCH] Simplify Perl chmod calls

The Perl chmod function already takes multiple file arguments, so we
don't need a separate looping function.
---
 src/test/ssl/ServerSetup.pm | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/src/test/ssl/ServerSetup.pm b/src/test/ssl/ServerSetup.pm
index 8c1b517..a8228b0 100644
--- a/src/test/ssl/ServerSetup.pm
+++ b/src/test/ssl/ServerSetup.pm
@@ -43,20 +43,6 @@ sub copy_files
 	}
 }
 
-# Perform chmod on a set of files, taking into account wildcards
-sub chmod_files
-{
-	my $mode = shift;
-	my $file_expr = shift;
-
-	my @all_files = glob $file_expr;
-	foreach my $file_entry (@all_files)
-	{
-		chmod $mode, $file_entry
-		  or die "Could not run chmod with mode $mode on $file_entry";
-	}
-}
-
 sub configure_test_server_for_ssl
 {
 	my $tempdir = $_[0];
@@ -82,7 +68,7 @@ sub configure_test_server_for_ssl
 # Copy all server certificates and keys, and client root cert, to the data dir
 	copy_files("ssl/server-*.crt", "$tempdir/pgdata");
 	copy_files("ssl/server-*.key", "$tempdir/pgdata");
-	chmod_files(0600, "$tempdir/pgdata/server-*.key");
+	chmod(0600, glob "$tempdir/pgdata/server-*.key") or die $!;
 	copy_files("ssl/root+client_ca.crt", "$tempdir/pgdata");
 	copy_files("ssl/root+client.crl",    "$tempdir/pgdata");
 
-- 
2.5.0

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to