From 92e65305dfde35906496cd8f9871aff82f92518f Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Mon, 19 Jan 2015 00:08:07 +0100 Subject: [PATCH] testsuite: Special char file and dir transfer return and cleanup. --- src/parallel | 1 - testsuite/tests-to-run/parallel-local-ssh3.sh | 19 +++++++++++++++++++ testsuite/wanted-results/parallel-local-ssh3 | 5 +++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/parallel b/src/parallel index 0ca28538..a03f4e89 100755 --- a/src/parallel +++ b/src/parallel @@ -7418,7 +7418,6 @@ sub replaced { my $regexp = join('|', map { my $s = $_; $s =~ s/(\W)/\\$1/g; $s } sort { length $b <=> length $a } keys %replace); for(@target) { - # ::debug("replace","Replace in ",::my_dump($_)); s/($regexp)/join(" ",@{$replace{$1}})/ge; } } diff --git a/testsuite/tests-to-run/parallel-local-ssh3.sh b/testsuite/tests-to-run/parallel-local-ssh3.sh index 4d5e4dd9..4d2fab1b 100644 --- a/testsuite/tests-to-run/parallel-local-ssh3.sh +++ b/testsuite/tests-to-run/parallel-local-ssh3.sh @@ -35,4 +35,23 @@ echo '### --hostgroup -S @group1+grp2' echo '### trailing space in sshlogin' echo 'sshlogin trailing space' | parallel --sshlogin "ssh -l parallel localhost " echo +echo '### Special char file and dir transfer return and cleanup' + cd /tmp; + mkdir -p d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; + echo local > d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; + ssh parallel@lo rm -rf d'*'/; + mytouch() { + cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" > d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; + echo remote OK >> d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; + }; + export -f mytouch; + parallel --env mytouch -Sparallel@lo --transfer + --return d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" + mytouch + ::: d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; + cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; + + +# Should be changed to --return '{=s:/f:/g:=}' and tested with csh + EOF diff --git a/testsuite/wanted-results/parallel-local-ssh3 b/testsuite/wanted-results/parallel-local-ssh3 index 2a7db90a..4e65f2fa 100644 --- a/testsuite/wanted-results/parallel-local-ssh3 +++ b/testsuite/wanted-results/parallel-local-ssh3 @@ -91,3 +91,8 @@ echo '### trailing space in sshlogin' ### trailing space in sshlogin echo 'sshlogin trailing space' | parallel --sshlogin "ssh -l parallel localhost " echo sshlogin trailing space +echo '### Special char file and dir transfer return and cleanup' +### Special char file and dir transfer return and cleanup + cd /tmp; mkdir -p d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; echo local > d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; ssh parallel@lo rm -rf d'*'/; mytouch() { cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" > d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; echo remote OK >> d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; }; export -f mytouch; parallel --env mytouch -Sparallel@lo --transfer --return d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" mytouch ::: d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; # Should be changed to --return '{=s:/f:/g:=}' +local +remote OK