From c1f635437592674db401f7f0383c08f9e36191c3 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Thu, 4 Jul 2013 00:50:08 +0200 Subject: [PATCH] parallel: Re-fixed bug #37042: -J foo is taken from the whole command line - not just the part before the command --- doc/FUTURE_IDEAS | 14 +--- doc/release_new_version | 11 +++ src/parallel | 67 +++++++++++++------ src/parallel.pod | 7 +- src/parallel.texi | 7 +- testsuite/tests-to-run/parallel-local1.sh | 20 ++++++ testsuite/tests-to-run/parallel-local150.sh | 8 +-- testsuite/tests-to-run/parallel-local164.sh | 2 +- testsuite/tests-to-run/parallel-local5.sh | 4 +- .../tests-to-run/parallel-virtualbox1.sh | 4 ++ testsuite/tests-to-run/test65.sh | 23 +++---- testsuite/wanted-results/parallel-local1 | 57 ++++++++++++++++ testsuite/wanted-results/parallel-local11 | 2 +- testsuite/wanted-results/parallel-local150 | 28 ++++++++ testsuite/wanted-results/parallel-local164 | 41 ++++++------ testsuite/wanted-results/parallel-localhost1 | 2 + testsuite/wanted-results/parallel-polarhome | 2 +- testsuite/wanted-results/test13 | 2 +- testsuite/wanted-results/test65 | 51 -------------- 19 files changed, 215 insertions(+), 137 deletions(-) diff --git a/doc/FUTURE_IDEAS b/doc/FUTURE_IDEAS index 0f955c76..88958adb 100644 --- a/doc/FUTURE_IDEAS +++ b/doc/FUTURE_IDEAS @@ -1,17 +1,9 @@ -Aliases for bash -c: - -bash -c 'shopt -s expand_aliases; alias llll="ls -l"; alias bbb=ls; -bbb; llll' - - Luk filen ved EOF - lad være med bare at læse videre. > /tmp/ged; tail -f /tmp/ged| xargs -n1 -E eof & sleep 1; echo echo a >>/tmp/ged; echo eof >>/tmp/ged; seq 4 >>/tmp/ged; wait > /tmp/ged; tail -f /tmp/ged| parallel -n1 -E eof & sleep 1; echo echo a >>/tmp/ged; echo eof >>/tmp/ged; seq 4 >>/tmp/ged; wait ---timeout auto: If a jobs takes > 3*moving average runtime then kill it. Only after job 3. - niceload seeks last column: iostat -x 1 2 @@ -59,8 +51,8 @@ locate .gz | parallel -X find {} -size +1000 -size -2000 | parallel --workdir .. == Compare == -http://code.google.com/p/spawntool/ -http://code.google.com/p/push/ +Unchanged since 2008 http://code.google.com/p/spawntool/ +Unchanged since 2011 http://code.google.com/p/push/ == Bug? == @@ -106,8 +98,6 @@ for potentiel: colsep = [sepchars]{no_of_sepchars} - -# TODO max_line_length on remote # TODO compute how many can be transferred within max_line_length Til inspiration. diff --git a/doc/release_new_version b/doc/release_new_version index 9f12d160..ff406bd9 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -204,6 +204,17 @@ Very few changes so this can be considered a stable release. New in this release: +* GNU Parallel was used (unfortunately with improper citation) in: + Understanding the Impact of E-Commerce Software on the Adoption of Structured Data on the Web + http://link.springer.com/chapter/10.1007/978-3-642-38366-3_9#page-1 + +* GNU Parallel was used (unfortunately with improper citation) in: + CWI at TREC 2012, KBA track and Session Track + http://trec.nist.gov/pubs/trec21/papers/CWI.kba.session.final.pdf + +* Mitigation of Adverse Effects Caused by Shock Wave Boundary Layer Interactions through Optimal Wall Shaping + http://arc.aiaa.org/doi/abs/10.2514/6.2013-2653 + * http://www.brunokim.com.br/blog/?p=18 * http://www.open-open.com/news/view/371301 diff --git a/src/parallel b/src/parallel index 35218418..b11f5730 100755 --- a/src/parallel +++ b/src/parallel @@ -643,6 +643,7 @@ sub get_options_from_array { # false if parsing failed # @array is changed my $array_ref = shift; + my @keep_only = @_; # A bit of shuffling of @ARGV needed as GetOptionsFromArray is not # supported everywhere my @save_argv; @@ -651,7 +652,17 @@ sub get_options_from_array { @save_argv = @::ARGV; @::ARGV = @{$array_ref}; } - my @retval = GetOptions(options_hash()); + # If @keep_only set: Ignore all values except @keep_only + my %options = options_hash(); + if(@keep_only) { + my (%keep,@dummy); + @keep{@keep_only} = @keep_only; + for my $k (grep { not $keep{$_} } keys %options) { + # Store the value of the option in @dummy + $options{$k} = \@dummy; + } + } + my @retval = GetOptions(%options); if(not $this_is_ARGV) { @{$array_ref} = @::ARGV; @::ARGV = @save_argv; @@ -1035,7 +1046,7 @@ sub read_options { Getopt::Long::Configure("bundling","require_order"); my @ARGV_copy = @ARGV; # Check if there is a --profile to set @opt::profile - get_options_from_array(\@ARGV_copy) || die_usage(); + get_options_from_array(\@ARGV_copy,"profile|J=s","plain") || die_usage(); my @ARGV_profile = (); my @ARGV_env = (); if(not $opt::plain) { @@ -2192,32 +2203,44 @@ sub now { sub multiply_binary_prefix { # Evalualte numbers with binary prefix - # k=10^3, m=10^6, g=10^9, t=10^12, p=10^15, e=10^18, z=10^21, y=10^24 - # K=2^10, M=2^20, G=2^30, T=2^40, P=2^50, E=2^70, Z=2^80, Y=2^80 # Ki=2^10, Mi=2^20, Gi=2^30, Ti=2^40, Pi=2^50, Ei=2^70, Zi=2^80, Yi=2^80 # ki=2^10, mi=2^20, gi=2^30, ti=2^40, pi=2^50, ei=2^70, zi=2^80, yi=2^80 + # K =2^10, M =2^20, G =2^30, T =2^40, P =2^50, E =2^70, Z =2^80, Y =2^80 + # k =10^3, m =10^6, g =10^9, t=10^12, p=10^15, e=10^18, z=10^21, y=10^24 # 13G = 13*1024*1024*1024 = 13958643712 my $s = shift; - $s =~ s/k/*1000/g; - $s =~ s/M/*1000*1000/g; - $s =~ s/G/*1000*1000*1000/g; - $s =~ s/T/*1000*1000*1000*1000/g; - $s =~ s/P/*1000*1000*1000*1000*1000/g; - $s =~ s/E/*1000*1000*1000*1000*1000*1000/g; - $s =~ s/Z/*1000*1000*1000*1000*1000*1000*1000/g; - $s =~ s/Y/*1000*1000*1000*1000*1000*1000*1000*1000/g; - $s =~ s/X/*1000*1000*1000*1000*1000*1000*1000*1000*1000/g; + $s =~ s/ki/*1024/gi; + $s =~ s/mi/*1024*1024/gi; + $s =~ s/gi/*1024*1024*1024/gi; + $s =~ s/ti/*1024*1024*1024*1024/gi; + $s =~ s/pi/*1024*1024*1024*1024*1024/gi; + $s =~ s/ei/*1024*1024*1024*1024*1024*1024/gi; + $s =~ s/zi/*1024*1024*1024*1024*1024*1024*1024/gi; + $s =~ s/yi/*1024*1024*1024*1024*1024*1024*1024*1024/gi; + $s =~ s/xi/*1024*1024*1024*1024*1024*1024*1024*1024*1024/gi; + + $s =~ s/K/*1024/g; + $s =~ s/M/*1024*1024/g; + $s =~ s/G/*1024*1024*1024/g; + $s =~ s/T/*1024*1024*1024*1024/g; + $s =~ s/P/*1024*1024*1024*1024*1024/g; + $s =~ s/E/*1024*1024*1024*1024*1024*1024/g; + $s =~ s/Z/*1024*1024*1024*1024*1024*1024*1024/g; + $s =~ s/Y/*1024*1024*1024*1024*1024*1024*1024*1024/g; + $s =~ s/X/*1024*1024*1024*1024*1024*1024*1024*1024*1024/g; + + $s =~ s/k/*1000/g; + $s =~ s/m/*1000*1000/g; + $s =~ s/g/*1000*1000*1000/g; + $s =~ s/t/*1000*1000*1000*1000/g; + $s =~ s/p/*1000*1000*1000*1000*1000/g; + $s =~ s/e/*1000*1000*1000*1000*1000*1000/g; + $s =~ s/z/*1000*1000*1000*1000*1000*1000*1000/g; + $s =~ s/y/*1000*1000*1000*1000*1000*1000*1000*1000/g; + $s =~ s/x/*1000*1000*1000*1000*1000*1000*1000*1000*1000/g; - $s =~ s/Ki?/*1024/gi; - $s =~ s/Mi?/*1024*1024/gi; - $s =~ s/Gi?/*1024*1024*1024/gi; - $s =~ s/Ti?/*1024*1024*1024*1024/gi; - $s =~ s/Pi?/*1024*1024*1024*1024*1024/gi; - $s =~ s/Ei?/*1024*1024*1024*1024*1024*1024/gi; - $s =~ s/Zi?/*1024*1024*1024*1024*1024*1024*1024/gi; - $s =~ s/Yi?/*1024*1024*1024*1024*1024*1024*1024*1024/gi; - $s =~ s/Xi?/*1024*1024*1024*1024*1024*1024*1024*1024*1024/gi; $s = eval $s; + ::debug($s); return $s; } diff --git a/src/parallel.pod b/src/parallel.pod index 19499485..5afae17e 100644 --- a/src/parallel.pod +++ b/src/parallel.pod @@ -2616,7 +2616,8 @@ B It needs to be quoted like this: -B +B +B Notice how spaces, \'s, "'s, and $'s need to be quoted. GNU B can do the quoting by using option -q: @@ -2651,8 +2652,8 @@ Or for substituting output: B>B<(gzip >>B<{}.tar.gz) | bzip2 >>B<{}.tar.bz2'> B: To avoid dealing with the quoting problems it may be -easier just to write a small script and have GNU B call that -script. +easier just to write a small script or a function (remember to +B the function) and have GNU B call that. =head1 LIST RUNNING JOBS diff --git a/src/parallel.texi b/src/parallel.texi index ffeff790..798e035a 100644 --- a/src/parallel.texi +++ b/src/parallel.texi @@ -2820,7 +2820,8 @@ This is particularly useful if you have lots of quoting. If you want to run a pe It needs to be quoted like this: -@strong{ls | parallel perl -ne '/^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\"'} +@strong{ls | parallel perl -ne '/^\\S+\\s+\\S+\$/\ and\ print\ \$ARGV,\"\\n\"'} +@strong{ls | parallel perl -ne \''/^\S+\s+\S+$/ and print $ARGV,"\n"'\'} Notice how spaces, \'s, "'s, and $'s need to be quoted. GNU @strong{parallel} can do the quoting by using option -q: @@ -2857,8 +2858,8 @@ Or for substituting output: @strong{ls | parallel -q bash -c 'tar c @{@} | tee }>@strong{(gzip }>@strong{@{@}.tar.gz) | bzip2 }>@strong{@{@}.tar.bz2'} @strong{Conclusion}: To avoid dealing with the quoting problems it may be -easier just to write a small script and have GNU @strong{parallel} call that -script. +easier just to write a small script or a function (remember to +@strong{export -f} the function) and have GNU @strong{parallel} call that. @chapter LIST RUNNING JOBS @anchor{LIST RUNNING JOBS} diff --git a/testsuite/tests-to-run/parallel-local1.sh b/testsuite/tests-to-run/parallel-local1.sh index 0f31c773..1e8d41e9 100644 --- a/testsuite/tests-to-run/parallel-local1.sh +++ b/testsuite/tests-to-run/parallel-local1.sh @@ -144,4 +144,24 @@ echo '### Test {#}' echo '### Test --seqreplace and line too long' seq 1 100 | stdout parallel -k --seqreplace I echo $(perl -e 'print "I"x130000') \|wc + +echo '### bug #37042: -J foo is taken from the whole command line - not just the part before the command' + echo '--tagstring foo' > ~/.parallel/bug_37042_profile; + parallel -J bug_37042_profile echo ::: tag_with_foo; + parallel --tagstring a -J bug_37042_profile echo ::: tag_with_a; + parallel --tagstring a echo -J bug_37042_profile ::: print_-J_bug_37042_profile; + +echo '### Bug introduce by fixing bug #37042' + parallel --xapply -a <(printf 'abc') --colsep '\t' echo {1} + +echo "### Test --header with -N" + (echo h1; echo h2; echo 1a;echo 1b; echo 2a;echo 2b; echo 3a)| parallel -j1 --pipe -N2 -k --header '\n.*\n' echo Start\;cat \; echo Stop + +echo "### Test --header with --block 1k" + (echo h1; echo h2; perl -e '$a="x"x110;for(1..22){print $_,$a,"\n"'})| parallel -j1 --pipe -k --block 1k --header '\n.*\n' echo Start\;cat \; echo Stop + +echo "### Test --header with multiple :::" + parallel --header : echo {a} {b} {1} {2} ::: b b1 ::: a a2 + + EOF diff --git a/testsuite/tests-to-run/parallel-local150.sh b/testsuite/tests-to-run/parallel-local150.sh index 3a3170c6..1b9a012d 100644 --- a/testsuite/tests-to-run/parallel-local150.sh +++ b/testsuite/tests-to-run/parallel-local150.sh @@ -18,12 +18,12 @@ echo '### Test --timeout'; nice parallel -j0 -k --timeout 1 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9 echo '### Test retired'; - stdout parallel -B; + stdout parallel -B foo; stdout parallel -g; - stdout parallel -H; + stdout parallel -H 1; stdout parallel -T; - stdout parallel -U; - stdout parallel -W; + stdout parallel -U foo; + stdout parallel -W foo; stdout parallel -Y; echo '### Test --joblog followed by --resume --joblog' diff --git a/testsuite/tests-to-run/parallel-local164.sh b/testsuite/tests-to-run/parallel-local164.sh index d342512a..ca827a63 100644 --- a/testsuite/tests-to-run/parallel-local164.sh +++ b/testsuite/tests-to-run/parallel-local164.sh @@ -142,7 +142,7 @@ echo '### Negative replacement strings' parallel --colsep ' ' echo '{-3}orrect' ::: "1 c 3 4" echo 'bug #38439: "open files" with --files --pipe blocks after a while' - ulimit -n 20; yes |head -n 10M | parallel --pipe -k echo {#} of 21 + ulimit -n 20; yes |head -n 10M | parallel --pipe -k echo {#} of 20 echo 'bug #34241: --pipe should not spawn unneeded processes - part 2' seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null; diff --git a/testsuite/tests-to-run/parallel-local5.sh b/testsuite/tests-to-run/parallel-local5.sh index b65b7b9b..62268b15 100644 --- a/testsuite/tests-to-run/parallel-local5.sh +++ b/testsuite/tests-to-run/parallel-local5.sh @@ -17,7 +17,7 @@ echo '### Test 200M records with too small block'; echo start; seq 1 44 | parallel -uj1 cat /tmp/blocktest\;true; echo end; - ) | stdout parallel -k --block 200M -j2 --pipe --recend 'end\n' wc -c | + ) | stdout parallel -k --block 200m -j2 --pipe --recend 'end\n' wc -c | egrep -v '^0$' echo '### Test -N with multiple jobslots and multiple args' @@ -90,7 +90,7 @@ echo '### Test -N even+2'; seq 1 12 | parallel -j2 -k -N 2 --pipe cat";echo ole;sleep 1.\$PARALLEL_SEQ" echo '### Test --recstart + --recend'; - cat /tmp/blocktest | parallel --block 1m -k --recstart 44 --recend "44" -j10 --pipe sort -n |md5sum + cat /tmp/blocktest | parallel --block 1M -k --recstart 44 --recend "44" -j10 --pipe sort -n |md5sum echo '### Race condition bug - 1 - would block'; seq 1 80 | nice parallel -j0 'seq 1 10| parallel --block 1 --recend "" --pipe cat;true' >/dev/null diff --git a/testsuite/tests-to-run/parallel-virtualbox1.sh b/testsuite/tests-to-run/parallel-virtualbox1.sh index 36a495e7..d4ec1e69 100644 --- a/testsuite/tests-to-run/parallel-virtualbox1.sh +++ b/testsuite/tests-to-run/parallel-virtualbox1.sh @@ -10,6 +10,10 @@ VBoxManage startvm CentOS3-root:centos3 >/dev/null 2>&1 VBoxManage startvm CentOS5-root:centos5 >/dev/null 2>&1 VBoxManage startvm RedHat9-root:redhat9 >/dev/null 2>&1 VBoxManage startvm FreeBSD71 >/dev/null 2>&1 +ping -c 1 centos3.tange.dk >/dev/null 2>&1 +ping -c 1 centos5.tange.dk >/dev/null 2>&1 +ping -c 1 redhat9.tange.dk >/dev/null 2>&1 +ping -c 1 freebsd7.tange.dk >/dev/null 2>&1 echo "### bug #37589: Red Hat 9 (Shrike) perl v5.8.0 built for i386-linux-thread-multi error" cp `which parallel` /tmp/parallel diff --git a/testsuite/tests-to-run/test65.sh b/testsuite/tests-to-run/test65.sh index 49ee8c0c..2c1e928b 100644 --- a/testsuite/tests-to-run/test65.sh +++ b/testsuite/tests-to-run/test65.sh @@ -2,24 +2,17 @@ # -L1 will join lines ending in ' ' cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -j10 -k -L1 +echo "### Test memory consumption stays (almost) the same for 30 and 300 jobs" + out30=$( stdout memusg parallel -j2 true :::: <(perl -e '$a="x"x100000;for(1..30){print $a,"\n"}') ); + out300=$( stdout memusg parallel -j2 true :::: <(perl -e '$a="x"x100000;for(1..300){print $a,"\n"}') ); + mem30=$(echo $out30 | tr -cd 0-9); + mem300=$(echo $out300 | tr -cd 0-9); + echo "Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 150% "; + echo $(($mem300*100 < $mem30 * 150)) + EOF -echo "### Test memory consumption stays (almost) the same for 30 and 300 jobs"; -out30=$( stdout memusg parallel -j2 true :::: <(perl -e '$a="x"x100000;for(1..30){print $a,"\n"}') ); -out300=$( stdout memusg parallel -j2 true :::: <(perl -e '$a="x"x100000;for(1..300){print $a,"\n"}') ); -mem30=$(echo $out30 | tr -cd 0-9); -mem300=$(echo $out300 | tr -cd 0-9); -echo "Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 150% "; -echo $(($mem300*100 < $mem30 * 150)) -echo "### Test --header with -N"; -(echo h1; echo h2; echo 1a;echo 1b; echo 2a;echo 2b; echo 3a)| parallel -j1 --pipe -N2 -k --header '\n.*\n' echo Start\;cat \; echo Stop - -echo "### Test --header with --block 1k"; -(echo h1; echo h2; perl -e '$a="x"x110;for(1..22){print $_,$a,"\n"'})| parallel -j1 --pipe -k --block 1k --header '\n.*\n' echo Start\;cat \; echo Stop - -echo "### Test --header with multiple :::" -parallel --header : echo {a} {b} {1} {2} ::: b b1 ::: a a2 echo '### Test --shellquote' cat <<'_EOF' | parallel --shellquote diff --git a/testsuite/wanted-results/parallel-local1 b/testsuite/wanted-results/parallel-local1 index cbc59645..33c1fe0f 100644 --- a/testsuite/wanted-results/parallel-local1 +++ b/testsuite/wanted-results/parallel-local1 @@ -266,3 +266,60 @@ o 1 1 130001 1 1 130001 parallel: Command line too long (260009 >= 131071) at number 9: 10... +### bug #37042: -J foo is taken from the whole command line - not just the part before the command +foo tag_with_foo +a tag_with_a +a -J bug_37042_profile print_-J_bug_37042_profile +### Bug introduce by fixing bug #37042 +abc +### Test --header with -N +Start +h1 +h2 +1a +1b +Stop +Start +h1 +h2 +2a +2b +Stop +Start +h1 +h2 +3a +Stop +### Test --header with --block 1k +Start +h1 +h2 +1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +11xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +12xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +13xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +14xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +15xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +16xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +17xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +Stop +Start +h1 +h2 +18xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +19xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +20xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +21xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +22xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +Stop +### Test --header with multiple ::: +a2 b1 b1 a2 diff --git a/testsuite/wanted-results/parallel-local11 b/testsuite/wanted-results/parallel-local11 index fbacaa44..f91003ba 100644 --- a/testsuite/wanted-results/parallel-local11 +++ b/testsuite/wanted-results/parallel-local11 @@ -1,7 +1,7 @@ ### Test if we can deal with output > 4 GB 46a318993dfc8e2afd71ff2bc6f605f1 - ### Test Force outside the file handle limit, 2009-02-17 Gave fork error -parallel: Warning: Only enough filehandles to run 507 jobs in parallel. Raising ulimit -n may help. +parallel: Warning: Only enough filehandles to run 506 jobs in parallel. Raising ulimit -n may help. Start end ### Test of --retries on unreachable host diff --git a/testsuite/wanted-results/parallel-local150 b/testsuite/wanted-results/parallel-local150 index 474fdc94..2112614e 100644 --- a/testsuite/wanted-results/parallel-local150 +++ b/testsuite/wanted-results/parallel-local150 @@ -45,6 +45,34 @@ parallel: Error: -U has been retired. Use --er. parallel: Error: -W has been retired. Use --wd. parallel: Error: -Y has been retired. Use --shebang. parallel: Error: -H has been retired. Use --halt. +parallel: Error: -g has been retired. Use --group. +parallel: Error: -B has been retired. Use --bf. +parallel: Error: -T has been retired. Use --tty. +parallel: Error: -U has been retired. Use --er. +parallel: Error: -W has been retired. Use --wd. +parallel: Error: -Y has been retired. Use --shebang. +parallel: Error: -H has been retired. Use --halt. +parallel: Error: -g has been retired. Use --group. +parallel: Error: -B has been retired. Use --bf. +parallel: Error: -T has been retired. Use --tty. +parallel: Error: -U has been retired. Use --er. +parallel: Error: -W has been retired. Use --wd. +parallel: Error: -Y has been retired. Use --shebang. +parallel: Error: -H has been retired. Use --halt. +parallel: Error: -g has been retired. Use --group. +parallel: Error: -B has been retired. Use --bf. +parallel: Error: -T has been retired. Use --tty. +parallel: Error: -U has been retired. Use --er. +parallel: Error: -W has been retired. Use --wd. +parallel: Error: -Y has been retired. Use --shebang. +parallel: Error: -H has been retired. Use --halt. +parallel: Error: -g has been retired. Use --group. +parallel: Error: -B has been retired. Use --bf. +parallel: Error: -T has been retired. Use --tty. +parallel: Error: -U has been retired. Use --er. +parallel: Error: -W has been retired. Use --wd. +parallel: Error: -Y has been retired. Use --shebang. +parallel: Error: -H has been retired. Use --halt. ### Test --joblog followed by --resume --joblog 5 49 ### Test --resume --joblog followed by --resume --joblog diff --git a/testsuite/wanted-results/parallel-local164 b/testsuite/wanted-results/parallel-local164 index 596557f4..37353b66 100644 --- a/testsuite/wanted-results/parallel-local164 +++ b/testsuite/wanted-results/parallel-local164 @@ -239,27 +239,26 @@ correct 2 + 4 = 2 + 4= 6 correct bug #38439: "open files" with --files --pipe blocks after a while -1 of 21 -2 of 21 -3 of 21 -4 of 21 -5 of 21 -6 of 21 -7 of 21 -8 of 21 -9 of 21 -10 of 21 -11 of 21 -12 of 21 -13 of 21 -14 of 21 -15 of 21 -16 of 21 -17 of 21 -18 of 21 -19 of 21 -20 of 21 -21 of 21 +1 of 20 +2 of 20 +3 of 20 +4 of 20 +5 of 20 +6 of 20 +7 of 20 +8 of 20 +9 of 20 +10 of 20 +11 of 20 +12 of 20 +13 of 20 +14 of 20 +15 of 20 +16 of 20 +17 of 20 +18 of 20 +19 of 20 +20 of 20 bug #34241: --pipe should not spawn unneeded processes - part 2 2 No .par should exist diff --git a/testsuite/wanted-results/parallel-localhost1 b/testsuite/wanted-results/parallel-localhost1 index fa84ae3d..b4d22d0d 100644 --- a/testsuite/wanted-results/parallel-localhost1 +++ b/testsuite/wanted-results/parallel-localhost1 @@ -1 +1,3 @@ ### Test --env all chars except \n,\92,\160 - single and double - no output is good +### bug #37262: --slf + --filter-hosts fails +OK diff --git a/testsuite/wanted-results/parallel-polarhome b/testsuite/wanted-results/parallel-polarhome index bcd56cb6..c22c4d90 100644 --- a/testsuite/wanted-results/parallel-polarhome +++ b/testsuite/wanted-results/parallel-polarhome @@ -207,7 +207,7 @@ hurd.polarhome.com Welcome to hurd ...member of polarhome.com realm. hurd.polarhome.com Works on hurd.polarhome.com irix.polarhome.com irix.polarhome.com IRIX64 6.5 07202013 IP35 -irix.polarhome.com Unknown open() mode '>&' at bin/parallel line 1274, <$fh> line 1. +irix.polarhome.com Unknown open() mode '>&' at bin/parallel line 1310. irix.polarhome.com Welcome to irix ...member of polarhome.com realm mandriva.polarhome.com mandriva.polarhome.com diff --git a/testsuite/wanted-results/test13 b/testsuite/wanted-results/test13 index c18ee2e5..2ae8b3db 100644 --- a/testsuite/wanted-results/test13 +++ b/testsuite/wanted-results/test13 @@ -1,5 +1,5 @@ ### Test -k -parallel: Warning: Only enough filehandles to run 20 jobs in parallel. Raising ulimit -n may help. +parallel: Warning: Only enough filehandles to run 19 jobs in parallel. Raising ulimit -n may help. begin 1 2 diff --git a/testsuite/wanted-results/test65 b/testsuite/wanted-results/test65 index 4b5e35d8..a2497f88 100644 --- a/testsuite/wanted-results/test65 +++ b/testsuite/wanted-results/test65 @@ -1,56 +1,5 @@ ### Test memory consumption stays (almost) the same for 30 and 300 jobs Test if memory consumption(300 jobs) < memory consumption(30 jobs) * 150% 1 -### Test --header with -N -Start -h1 -h2 -1a -1b -Stop -Start -h1 -h2 -2a -2b -Stop -Start -h1 -h2 -3a -Stop -### Test --header with --block 1k -Start -h1 -h2 -1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -10xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -11xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -12xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -13xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -14xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -15xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -16xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -17xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -Stop -Start -h1 -h2 -18xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -19xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -20xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -21xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -22xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -Stop -### Test --header with multiple ::: -a2 b1 b1 a2 ### Test --shellquote awk\ -v\ FS=\"\\\",\\\"\"\ \'\{print\ \$1,\ \$3,\ \$4,\ \$5,\ \$9,\ \$14\}\'\ \|\ grep\ -v\ \"\#\"\ \|\ sed\ -e\ \'1d\'\ -e\ \'s/\\\"//g\'\ -e\ \'s/\\/\\/\\//\\t/g\'\ \|\ cut\ -f1-6,11\ \|\ sed\ -e\ \'s/\\/\\//\\t/g\'\ -e\ \'s/\ /\\t/g