From 70006774e875640ae5bdbb3a522da3ec7ccdc6b4 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Sun, 5 Feb 2017 03:24:23 +0100 Subject: [PATCH] Fixed bug #50228: --pipe --tagstring broken. --- src/parallel | 7 ++++++- testsuite/tests-to-run/parallel-local-0.3s.sh | 5 +++++ testsuite/wanted-results/parallel-local-0.3s | 4 ++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/parallel b/src/parallel index 0ecb240a..ca9f5812 100755 --- a/src/parallel +++ b/src/parallel @@ -96,7 +96,10 @@ sub set_input_source_header { for my $s (split /$delimiter/o, $line) { ::debug("init", "Colname: '$s'"); # Replace {colname} with {2} - for(@command,@Global::ret_files,@Global::transfer_files) { + for(@command,@Global::ret_files,@Global::transfer_files, + $opt::tagstring, $opt::workdir, $opt::results, $opt::retries) { + # Skip if undefined + $_ or next; s:\{$s(|/|//|\.|/\.)\}:\{$id$1\}:g; # {=header1 ... =} => {=1 ... =} s:$left $s (.*?) $right:$l$id$1$r:gx; @@ -7930,6 +7933,8 @@ sub start { $command = "true"; } $job->openoutputfiles(); + # Call slot to store the slot value + $job->slot(); my($stdout_fh,$stderr_fh) = ($job->fh(1,"w"),$job->fh(2,"w")); if($opt::ungroup or $opt::sqlworker) { print_dryrun_and_verbose($stdout_fh,$job,$command); diff --git a/testsuite/tests-to-run/parallel-local-0.3s.sh b/testsuite/tests-to-run/parallel-local-0.3s.sh index 1f9b02f7..58a82571 100644 --- a/testsuite/tests-to-run/parallel-local-0.3s.sh +++ b/testsuite/tests-to-run/parallel-local-0.3s.sh @@ -677,6 +677,11 @@ par_tee() { seq 1000000 | parallel 'echo {%};LANG=C wc' ::: {1..5} ::: {a..b} } +par_tagstring_pipe() { + echo 'bug #50228: --pipe --tagstring broken' + seq 3000 | parallel -j4 --pipe -N1000 -k --tagstring {%} LANG=C wc +} + export -f $(compgen -A function | grep par_) compgen -A function | grep par_ | sort | parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1' diff --git a/testsuite/wanted-results/parallel-local-0.3s b/testsuite/wanted-results/parallel-local-0.3s index 0385f4f9..34ef6b5b 100644 --- a/testsuite/wanted-results/parallel-local-0.3s +++ b/testsuite/wanted-results/parallel-local-0.3s @@ -1630,6 +1630,10 @@ par_retries_replacement_string 22 par_retries_replacement_string 33 par_retries_replacement_string 33 par_retries_replacement_string 33 +par_tagstring_pipe bug #50228: --pipe --tagstring broken +par_tagstring_pipe 1 1000 1000 3893 +par_tagstring_pipe 2 1000 1000 5000 +par_tagstring_pipe 3 1000 1000 5000 par_tee 1 a 1 par_tee 1 a 1000000 1000000 6888896 par_tee 1 b 2