Re: [PATCH] t9700: fix test for perl older than 5.14
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:08:37
Jeff King [off-list ref] writes:
One workaround would therefore be for him to tweak PERL_PATH, but obviously that does not help anyone else. I think we should do this: -- >8 -- Subject: t9700: fix test for perl older than 5.14 Commit d53c2c6 (mingw: fix t9700's assumption about directory separators, 2016-01-27) uses perl's "/r" regex modifier to do a non-destructive replacement on a string, leaving the original unmodified and returning the result.
Will apply on js/mingw-tests and merge to 'master' before -rc1. Thanks.
quoted hunk
This feature was introduced in perl 5.14, but systems with older perl are still common (e.g., CentOS 6.5 still has perl 5.10). Let's work around it by providing a helper function that does the same thing using older syntax. While we're at it, let's switch to using an alternate regex separator, which is slightly more readable. Reported-by: Christian Couder <redacted> Helped-by: Dennis Kaarsemaker [off-list ref] Signed-off-by: Jeff King <redacted> --- And yes, before anyone checks, the alternate separators are available even in ancient versions of perl. :) t/t9700/test.pl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)diff --git a/t/t9700/test.pl b/t/t9700/test.pl index 7e8c40b..1b75c91 100755 --- a/t/t9700/test.pl +++ b/t/t9700/test.pl@@ -17,6 +17,12 @@ BEGIN { use Cwd; use File::Basename; +sub adjust_dirsep { + my $path = shift; + $path =~ s{\\}{/}g; + return $path; +} + BEGIN { use_ok('Git') } # set up@@ -33,7 +39,7 @@ is($r->config_int("test.int"), 2048, "config_int: integer"); is($r->config_int("test.nonexistent"), undef, "config_int: nonexistent"); ok($r->config_bool("test.booltrue"), "config_bool: true"); ok(!$r->config_bool("test.boolfalse"), "config_bool: false"); -is($r->config_path("test.path") =~ s/\\/\//gr, $r->config("test.pathexpanded"), +is(adjust_dirsep($r->config_path("test.path")), $r->config("test.pathexpanded"), "config_path: ~/foo expansion"); is_deeply([$r->config_path("test.pathmulti")], ["foo", "bar"], "config_path: multiple values");