mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-23 05:07:54 +00:00
parallel: Fixed bug #51039: --dry-run --timeout 3600 -u breaks.
This commit is contained in:
parent
54200832e4
commit
dd25255ca8
|
@ -148,7 +148,7 @@ parcat.html: parcat niceload.html
|
|||
|| echo "Warning: pod2html not found. Using old parcat.html"
|
||||
rm -f $(srcdir)/pod2htm*
|
||||
|
||||
# Depending on niceload.html to avoid stupid pod2html race condition
|
||||
# Depending on parcat.html to avoid stupid pod2html race condition
|
||||
parset.html: parset.pod parcat.html
|
||||
pod2html --title "GNU parset" $(srcdir)/parset.pod > $(srcdir)/parset.htmln \
|
||||
&& mv $(srcdir)/parset.htmln $(srcdir)/parset.html \
|
||||
|
|
|
@ -736,7 +736,7 @@ parcat.html: parcat niceload.html
|
|||
|| echo "Warning: pod2html not found. Using old parcat.html"
|
||||
rm -f $(srcdir)/pod2htm*
|
||||
|
||||
# Depending on niceload.html to avoid stupid pod2html race condition
|
||||
# Depending on parcat.html to avoid stupid pod2html race condition
|
||||
parset.html: parset.pod parcat.html
|
||||
pod2html --title "GNU parset" $(srcdir)/parset.pod > $(srcdir)/parset.htmln \
|
||||
&& mv $(srcdir)/parset.htmln $(srcdir)/parset.html \
|
||||
|
|
|
@ -1217,6 +1217,11 @@ sub parse_options {
|
|||
$opt::decompress_program = "cat >/dev/null";
|
||||
}
|
||||
}
|
||||
if(defined $opt::dryrun) {
|
||||
# Force grouping due to bug #51039: --dry-run --timeout 3600 -u breaks
|
||||
$opt::ungroup = 0;
|
||||
$opt::group = 1;
|
||||
}
|
||||
if(defined $opt::nonall) {
|
||||
# Append a dummy empty argument if there are no arguments
|
||||
# on the command line to avoid reading from STDIN.
|
||||
|
@ -1371,7 +1376,7 @@ sub check_invalid_option_combinations {
|
|||
|
||||
sub init_globals {
|
||||
# Defaults:
|
||||
$Global::version = 20170512;
|
||||
$Global::version = 20170515;
|
||||
$Global::progname = 'parallel';
|
||||
$Global::infinity = 2**31;
|
||||
$Global::debug = 0;
|
||||
|
|
|
@ -2300,9 +2300,9 @@ computed as a percentage of the median average runtime of successful
|
|||
jobs. Only values > 100% will make sense.
|
||||
|
||||
I<duration> is normally in seconds, but can be floats postfixed with
|
||||
s, m, h, or d which would multiply the float by 1, 60, 3600, or
|
||||
86400. Thus these are equivalent: B<--timeout 100000> and B<--timeout
|
||||
1d3h46.6m4s>.
|
||||
B<s>, B<m>, B<h>, or B<d> which would multiply the float by 1, 60,
|
||||
3600, or 86400. Thus these are equivalent: B<--timeout 100000> and
|
||||
B<--timeout 1d3.5h16.6m4s>.
|
||||
|
||||
|
||||
=item B<--verbose>
|
||||
|
|
|
@ -317,7 +317,7 @@ par_plus_dyn_repl() {
|
|||
par_slow_total_jobs() {
|
||||
echo 'bug #51006: Slow total_jobs() eats job'
|
||||
(echo a; sleep 6; echo b; sleep 6; seq 2) |
|
||||
parallel echo '{=total_jobs()=}'
|
||||
parallel -k echo '{=total_jobs()=}'
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
|
|
|
@ -113,6 +113,10 @@ echo finish {}'
|
|||
echo finish {}'
|
||||
}
|
||||
|
||||
par_dryrun_timeout_ungroup() {
|
||||
echo 'bug #51039: --dry-run --timeout 3600 -u breaks'
|
||||
seq 1000 | stdout parallel --dry-run --timeout 100 -u --jobs 10 echo | wc
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | sort | parallel -j6 --tag -k '{} 2>&1'
|
||||
|
|
|
@ -80,7 +80,8 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' ../../src/
|
|||
s/cat: input_file: No such file or directory\n//;
|
||||
s{rsync: link_stat ".*/home/parallel/input_file.out" .*\n}{};
|
||||
s{rsync error: some files/attrs were not transferred .*\n}{};
|
||||
'
|
||||
' |
|
||||
uniq
|
||||
# 3+3 .par files (from --files), 1 .tms-file from tmux attach
|
||||
find {$TMPDIR,/var/tmp,/tmp}/{fif,tms,par[^a]}* -mmin -10 2>/dev/null | wc -l
|
||||
find {$TMPDIR,/var/tmp,/tmp}/{fif,tms,par[^a]}* -mmin -10 2>/dev/null | parallel rm
|
||||
|
|
|
@ -4,6 +4,8 @@ par_children_receive_sig Got TERM
|
|||
par_children_receive_sig Got TERM
|
||||
par_children_receive_sig Got INT
|
||||
par_children_receive_sig Got TERM
|
||||
par_dryrun_timeout_ungroup bug #51039: --dry-run --timeout 3600 -u breaks
|
||||
par_dryrun_timeout_ungroup 1000 2000 8893
|
||||
par_keeporder_roundrobin bug #50081: --keep-order --round-robin should give predictable results
|
||||
par_keeporder_roundrobin OK
|
||||
par_kill_int_twice ### Are children killed if GNU Parallel receives INT twice? There should be no sleep at the end
|
||||
|
|
|
@ -15,14 +15,6 @@
|
|||
(echo %head1; echo %head2; \
|
||||
sleep .3
|
||||
/bin/bash: -c: line 2: syntax error: unexpected end of file
|
||||
sleep .3
|
||||
sleep .3
|
||||
sleep .3
|
||||
sleep .3
|
||||
sleep .3
|
||||
sleep .3
|
||||
sleep .3
|
||||
sleep .3
|
||||
sleep .3
|
||||
perl -e 'for(1..10){print "$_\n"}') > num_%header
|
||||
/bin/bash: -c: line 0: syntax error near unexpected token `)'
|
||||
|
@ -155,7 +147,6 @@ C
|
|||
A
|
||||
B
|
||||
(echo 1; echo; echo 2) | parallel --no-run-if-empty echo
|
||||
9
|
||||
9
|
||||
parallel ::: ls 'echo foo' pwd
|
||||
abc-file
|
||||
|
@ -191,12 +182,8 @@ A
|
|||
parallel echo {/.} ::: A/B.C
|
||||
B
|
||||
parallel echo {#} ::: A B C
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel -j 2 echo {%} ::: A B C
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel -I ,, echo ,, ::: A/B.C
|
||||
A/B.C
|
||||
|
@ -209,12 +196,8 @@ A
|
|||
parallel --basenameextensionreplace ,, echo ,, ::: A/B.C
|
||||
B
|
||||
parallel --seqreplace ,, echo ,, ::: A B C
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel -j2 --slotreplace ,, echo ,, ::: A B C
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel echo '{= s:\.[^.]+$::;s:\.[^.]+$::; =}' ::: foo.tar.gz
|
||||
foo
|
||||
|
@ -227,9 +210,6 @@ Job 5 of 5
|
|||
parallel echo {} shell quoted is {= '$_=Q($_)' =} ::: '*/!#$'
|
||||
*/!#$ shell quoted is \*/\!\#\$
|
||||
parallel echo {= 'if($_==3) { skip() }' =} ::: {1..5}
|
||||
9
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel echo {= 'if($arg[1]==$arg[2]) { skip() }' =} \
|
||||
::: {1..3} ::: {1..3}
|
||||
|
@ -313,13 +293,6 @@ f1=C f2=D
|
|||
parallel --plus echo {+/}/{/..}.{+..} ::: dir/sub/file.ex1.ex2.ex3
|
||||
parallel --plus echo {...}.{+...} ::: dir/sub/file.ex1.ex2.ex3
|
||||
parallel --plus echo {+/}/{/...}.{+...} ::: dir/sub/file.ex1.ex2.ex3
|
||||
dir/sub/file.ex1.ex2.ex3
|
||||
dir/sub/file.ex1.ex2.ex3
|
||||
dir/sub/file.ex1.ex2.ex3
|
||||
dir/sub/file.ex1.ex2.ex3
|
||||
dir/sub/file.ex1.ex2.ex3
|
||||
dir/sub/file.ex1.ex2.ex3
|
||||
dir/sub/file.ex1.ex2.ex3
|
||||
dir/sub/file.ex1.ex2.ex3
|
||||
parallel --plus echo Job {#} of {##} ::: {1..5}
|
||||
Job 1 of 5
|
||||
|
@ -330,53 +303,38 @@ Job 5 of 5
|
|||
unset myvar
|
||||
echo ${myvar:-myval}
|
||||
parallel --plus echo {:-myval} ::: "$myvar"
|
||||
myval
|
||||
myval
|
||||
myvar=abcAaAdef
|
||||
echo ${myvar:2}
|
||||
parallel --plus echo {:2} ::: "$myvar"
|
||||
cAaAdef
|
||||
cAaAdef
|
||||
echo ${myvar:2:3}
|
||||
parallel --plus echo {:2:3} ::: "$myvar"
|
||||
|
||||
|
||||
echo ${myvar#bc}
|
||||
parallel --plus echo {#bc} ::: "$myvar"
|
||||
echo ${myvar#abc}
|
||||
parallel --plus echo {#abc} ::: "$myvar"
|
||||
|
||||
|
||||
|
||||
|
||||
echo ${myvar%de}
|
||||
parallel --plus echo {%de} ::: "$myvar"
|
||||
echo ${myvar%def}
|
||||
parallel --plus echo {%def} ::: "$myvar"
|
||||
|
||||
|
||||
|
||||
|
||||
echo ${myvar/def/ghi}
|
||||
parallel --plus echo {/def/ghi} ::: "$myvar"
|
||||
|
||||
|
||||
echo ${myvar^a}
|
||||
parallel --plus echo {^a} ::: "$myvar"
|
||||
echo ${myvar^^a}
|
||||
parallel --plus echo {^^a} ::: "$myvar"
|
||||
|
||||
|
||||
|
||||
|
||||
myvar=AbcAaAdef
|
||||
echo ${myvar,A}
|
||||
parallel --plus echo '{,A}' ::: "$myvar"
|
||||
echo ${myvar,,A}
|
||||
parallel --plus echo '{,,A}' ::: "$myvar"
|
||||
abcAaAdef
|
||||
abcAaAdef
|
||||
abcaaadef
|
||||
abcaaadef
|
||||
cat num30000 | parallel --xargs echo | wc -l
|
||||
9
|
||||
|
@ -403,8 +361,6 @@ G H
|
|||
1=D 2=E 3=F
|
||||
1=G 2=H 3=
|
||||
parallel -N0 echo foo ::: 1 2 3
|
||||
foo
|
||||
foo
|
||||
foo
|
||||
perl -e 'print "@ARGV\n"' A
|
||||
A
|
||||
|
@ -508,12 +464,8 @@ echo C
|
|||
1-middle
|
||||
1-end
|
||||
parallel --files echo ::: A B C
|
||||
/tmp/parallel-tutorial-tmpdir/parXXXXX.par
|
||||
/tmp/parallel-tutorial-tmpdir/parXXXXX.par
|
||||
/tmp/parallel-tutorial-tmpdir/parXXXXX.par
|
||||
parallel --tmpdir /var/tmp --files echo ::: A B C
|
||||
/var/tmp/parXXXXX.par
|
||||
/var/tmp/parXXXXX.par
|
||||
/var/tmp/parXXXXX.par
|
||||
parallel --results outdir echo ::: A B C
|
||||
A
|
||||
|
@ -582,32 +534,6 @@ B D
|
|||
9
|
||||
parallel --use-cpus-instead-of-cores -N0 sleep 1 :::: num8
|
||||
parallel --shuf echo ::: 1 2 3 ::: a b c ::: A B C
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
123 abc ABC
|
||||
|
||||
seq 10 20 | parallel --tmux 'echo start {}; sleep {}; echo done {}'
|
||||
|
@ -622,12 +548,8 @@ DATE OUTPUT
|
|||
Starting 3
|
||||
DATE OUTPUT
|
||||
parallel --timeout 4.1 sleep {}\; echo {} ::: 2 4 6 8
|
||||
9
|
||||
9
|
||||
parallel --timeout 200% sleep {}\; echo {} ::: 2.1 2.2 3 7 2.3
|
||||
9
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel --eta sleep ::: 1 3 2 2 1 3 3 2 1
|
||||
|
||||
|
@ -697,9 +619,6 @@ Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
|||
2 : TIMESTAMP 9.999 0 0 2 0 exit 2
|
||||
3 : TIMESTAMP 9.999 0 0 3 0 exit 3
|
||||
9
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel: This job failed:
|
||||
echo X; exit X
|
||||
parallel: Starting no more jobs. Waiting for 1 jobs to finish.
|
||||
|
@ -707,16 +626,11 @@ parallel: This job failed:
|
|||
echo X; exit X
|
||||
parallel -j2 --halt now,fail=1 echo {}\; exit {} ::: 0 0 1 2 3
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel: This job failed:
|
||||
echo X; exit X
|
||||
parallel -j2 --halt soon,fail=20% echo {}\; exit {} \
|
||||
::: 0 1 2 3 4 5 6 7 8 9
|
||||
9
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel: This job failed:
|
||||
echo X; exit X
|
||||
parallel: This job failed:
|
||||
|
@ -726,11 +640,6 @@ parallel: This job failed:
|
|||
echo X; exit X
|
||||
parallel -j2 --halt now,success=1 echo {}\; exit {} ::: 1 2 3 0 4 5 6
|
||||
9
|
||||
9
|
||||
9
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel: This job succeeded:
|
||||
echo X; exit X
|
||||
parallel -k --retries 3 \
|
||||
|
@ -741,7 +650,6 @@ completed 2
|
|||
completed 0
|
||||
tried 1
|
||||
tried 0
|
||||
tried 1
|
||||
tried 1
|
||||
show_signals() {
|
||||
perl -e 'for(keys %SIG) {
|
||||
|
@ -824,12 +732,8 @@ foo
|
|||
BASE64
|
||||
/mnt/4tb/home/parallel/.TMPWORKDIR
|
||||
parallel -S $SERVER1 --sshdelay 0.2 echo ::: 1 2 3
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel --controlmaster -S $SERVER1 echo ::: 1 2 3
|
||||
9
|
||||
9
|
||||
9
|
||||
parallel --filter-hosts -S 173.194.32.46,$SERVER1 echo ::: bar
|
||||
bar
|
||||
|
@ -1079,48 +983,20 @@ ssh -l parallel lo -- mkdir -p ./.TMPWORKDIR && rsync --protocol 30 -rlDzR -essh
|
|||
seq ::: 10 ::: 12 13 14
|
||||
cat /tmp/log.csv
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,_Signal,Command,V1,V2,Stdout,Stderr
|
||||
1,:,000000000.000,0.000,0,9,0,0,"seq 10 12",10,12,"10
|
||||
99
|
||||
99
|
||||
",
|
||||
2,:,000000000.000,0.000,0,12,0,0,"seq 10 13",10,13,"10
|
||||
99
|
||||
99
|
||||
99
|
||||
",
|
||||
3,:,000000000.000,0.000,0,15,0,0,"seq 10 14",10,14,"10
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
",
|
||||
parallel --results outdir --sqlandworker csv:////%2Ftmp%2Flog2.csv \
|
||||
seq ::: 10 ::: 12 13 14
|
||||
cat /tmp/log2.csv
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
99
|
||||
Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,_Signal,Command,V1,V2,Stdout,Stderr
|
||||
1,:,000000000.000,0.000,0,9,0,0,"seq 10 12",10,12,outdir/1/10/2/12/stdout,outdir/1/10/2/12/stderr
|
||||
2,:,000000000.000,0.000,0,12,0,0,"seq 10 13",10,13,outdir/1/10/2/13/stdout,outdir/1/10/2/13/stderr
|
||||
|
@ -1148,38 +1024,18 @@ parallel: Error: echo is not a valid DBURL
|
|||
parallel --sqlworker $DBURLTABLE echo ::: foo bar ::: baz quuz
|
||||
parallel: Error: echo is not a valid DBURL
|
||||
cat num1000000 | parallel --pipe wc
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
85352 85352 597465
|
||||
cat num1000000 | parallel --pipe --block 2M wc
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
85349 85349 597444
|
||||
cat num1000000 | parallel --pipe -j4 --round-robin wc
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
cat num1000000 | parallel --pipe -N140000 wc
|
||||
140000 140000 868895
|
||||
140000 140000 980000
|
||||
140000 140000 980000
|
||||
140000 140000 980000
|
||||
140000 140000 980000
|
||||
140000 140000 980000
|
||||
140000 140000 980000
|
||||
20000 20000 140001
|
||||
cat num1000000 | parallel --pipe -L75 wc
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
85500 85500 598500
|
||||
25 25 176
|
||||
|
@ -1248,7 +1104,6 @@ cat: num_%header: No such file or directory
|
|||
cat: num_%header: No such file or directory
|
||||
parallel --pipepart -a num1000000 --block 3m wc
|
||||
999999 999999 9999999
|
||||
999999 999999 9999999
|
||||
126984 126984 888889
|
||||
cat input_file | parallel command
|
||||
/bin/bash: This is input_file: command not found
|
||||
|
@ -1273,7 +1128,6 @@ cat: num_%header: No such file or directory
|
|||
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
|
||||
Error: no such file "@ARGV\n"
|
||||
parallel perl_echo ::: foo bar
|
||||
/bin/bash: perl_echo: command not found
|
||||
/bin/bash: perl_echo: command not found
|
||||
#!/usr/bin/parallel --shebang-wrap /usr/bin/perl
|
||||
print "@ARGV\n"
|
||||
|
@ -1288,7 +1142,6 @@ Unescaped left brace in regex is deprecated, passed through in regex; marked by
|
|||
Error: no such file "Arguments @ARGV\n"
|
||||
#!/usr/bin/parallel --shebang-wrap /usr/bin/python
|
||||
|
||||
|
||||
print 'Arguments', str(sys.argv)
|
||||
/bin/bash: -c: line 3: syntax error near unexpected token `('
|
||||
/bin/bash: -c: line 3: ` print 'Arguments', str(sys.argv)'
|
||||
|
@ -1497,10 +1350,8 @@ If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
|||
If you send a copy of your published article to tange@gnu.org, it will be
|
||||
mentioned in the release notes of next version of GNU Parallel.
|
||||
|
||||
|
||||
parallel --number-of-cpus
|
||||
parallel --number-of-cores
|
||||
9
|
||||
9
|
||||
echo '--nice 17' > ~/.parallel/nicetimeout
|
||||
echo '--timeout 300%' >> ~/.parallel/nicetimeout
|
||||
|
|
Loading…
Reference in a new issue