2015-07-29 00:33:28 +00:00
|
|
|
|
echo '### Test bug #45619: "--halt" erroneous error exit code (should give 0)'; seq 10 | parallel --halt now,fail=1 true; echo $?
|
|
|
|
|
### Test bug #45619: "--halt" erroneous error exit code (should give 0)
|
|
|
|
|
0
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2014-07-15 00:40:38 +00:00
|
|
|
|
echo '### Test exit val - true'; echo true | parallel; echo $?
|
2013-12-19 01:19:19 +00:00
|
|
|
|
### Test exit val - true
|
|
|
|
|
0
|
2014-07-15 00:40:38 +00:00
|
|
|
|
echo '**'
|
2013-12-19 01:19:19 +00:00
|
|
|
|
**
|
2014-07-15 00:40:38 +00:00
|
|
|
|
echo '### Test exit val - false'; echo false | parallel; echo $?
|
2013-12-19 01:19:19 +00:00
|
|
|
|
### Test exit val - false
|
|
|
|
|
1
|
2014-07-15 00:40:38 +00:00
|
|
|
|
echo '**'
|
2013-12-19 01:19:19 +00:00
|
|
|
|
**
|
2014-09-23 18:14:57 +00:00
|
|
|
|
echo '### Test bug #43284: {%} and {#} with --xapply'; parallel --xapply 'echo {1} {#} {%} {2}' ::: a ::: b; parallel -N2 'echo {%}' ::: a b
|
|
|
|
|
### Test bug #43284: {%} and {#} with --xapply
|
|
|
|
|
a 1 1 b
|
|
|
|
|
1
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2016-04-04 21:37:54 +00:00
|
|
|
|
echo '### bug #47501: --xapply for some input sources'
|
|
|
|
|
### bug #47501: --xapply for some input sources
|
|
|
|
|
# Wrapping does not work yet
|
|
|
|
|
parallel -k echo ::: a b c aWRAP :::+ aa bb cc ::: A B :::+ AA BB AAwrap
|
|
|
|
|
a aa A AA
|
|
|
|
|
a aa B BB
|
|
|
|
|
b bb A AA
|
|
|
|
|
b bb B BB
|
|
|
|
|
c cc A AA
|
|
|
|
|
c cc B BB
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2014-10-14 20:56:03 +00:00
|
|
|
|
echo '### Test bug #43376: {%} and {#} with --pipe'
|
|
|
|
|
### Test bug #43376: {%} and {#} with --pipe
|
2015-01-02 21:32:00 +00:00
|
|
|
|
echo foo | parallel -q --pipe -k echo {#}
|
2014-10-14 20:56:03 +00:00
|
|
|
|
1
|
2015-01-02 21:32:00 +00:00
|
|
|
|
echo foo | parallel --pipe -k echo {%}
|
2014-10-14 20:56:03 +00:00
|
|
|
|
1
|
2015-01-02 21:32:00 +00:00
|
|
|
|
echo foo | parallel -q --pipe -k echo {%}
|
2014-10-14 20:56:03 +00:00
|
|
|
|
1
|
2015-01-02 21:32:00 +00:00
|
|
|
|
echo foo | parallel --pipe -k echo {#}
|
2014-10-14 20:56:03 +00:00
|
|
|
|
1
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2014-12-12 12:30:54 +00:00
|
|
|
|
echo '### {= and =} in different groups separated by space'
|
|
|
|
|
### {= and =} in different groups separated by space
|
2015-01-02 21:32:00 +00:00
|
|
|
|
parallel echo {= s/a/b/ =} ::: a
|
|
|
|
|
b
|
|
|
|
|
parallel echo {= s/a/b/=} ::: a
|
|
|
|
|
b
|
|
|
|
|
parallel echo {= s/a/b/=}{= s/a/b/=} ::: a
|
|
|
|
|
bb
|
|
|
|
|
parallel echo {= s/a/b/=}{=s/a/b/=} ::: a
|
|
|
|
|
bb
|
|
|
|
|
parallel echo {= s/a/b/=}{= {= s/a/b/=} ::: a
|
|
|
|
|
b{= b
|
|
|
|
|
parallel echo {= s/a/b/=}{={=s/a/b/=} ::: a
|
|
|
|
|
b{=b
|
|
|
|
|
parallel echo {= s/a/b/ =} {={==} ::: a
|
|
|
|
|
b {=a
|
|
|
|
|
parallel echo {={= =} ::: a
|
|
|
|
|
{=a
|
|
|
|
|
parallel echo {= {= =} ::: a
|
|
|
|
|
{= a
|
|
|
|
|
parallel echo {= {= =} =} ::: a
|
|
|
|
|
{= a =}
|
2014-12-12 12:30:54 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
|
|
|
|
echo '### {} as part of the command'
|
|
|
|
|
### {} as part of the command
|
|
|
|
|
echo p /bin/ls | parallel l{= s/p/s/ =}
|
|
|
|
|
/bin/ls
|
|
|
|
|
echo /bin/ls-p | parallel --colsep '-' l{=2 s/p/s/ =} {1}
|
|
|
|
|
/bin/ls
|
|
|
|
|
echo s /bin/ls | parallel l{}
|
|
|
|
|
/bin/ls
|
|
|
|
|
echo /bin/ls | parallel ls {}
|
|
|
|
|
/bin/ls
|
|
|
|
|
echo ls /bin/ls | parallel {}
|
|
|
|
|
/bin/ls
|
|
|
|
|
echo ls /bin/ls | parallel
|
|
|
|
|
/bin/ls
|
2014-12-14 08:44:32 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
|
|
|
|
echo '### bug #43817: Some JP char cause problems in positional replacement strings'
|
|
|
|
|
### bug #43817: Some JP char cause problems in positional replacement strings
|
|
|
|
|
parallel -k echo ::: '<27><<3C>>' '<27><1 $_=2<>>' 'ワ'
|
|
|
|
|
<EFBFBD><<3C>>
|
|
|
|
|
<EFBFBD><1 $_=2<>>
|
|
|
|
|
ワ
|
|
|
|
|
parallel -k echo {1} ::: '<27><<3C>>' '<27><1 $_=2<>>' 'ワ'
|
|
|
|
|
<EFBFBD><<3C>>
|
|
|
|
|
<EFBFBD><1 $_=2<>>
|
|
|
|
|
ワ
|
|
|
|
|
parallel -Xj1 echo ::: '<27><<3C>>' '<27><1 $_=2<>>' 'ワ'
|
|
|
|
|
<EFBFBD><<3C>> <20><1 $_=2<>> ワ
|
|
|
|
|
parallel -Xj1 echo {1} ::: '<27><<3C>>' '<27><1 $_=2<>>' 'ワ'
|
|
|
|
|
<EFBFBD><<3C>>
|
2015-03-16 18:51:08 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-03-17 20:36:12 +00:00
|
|
|
|
echo '### --rpl % that is a substring of longer --rpl %D'
|
|
|
|
|
### --rpl % that is a substring of longer --rpl %D
|
2015-03-16 18:51:08 +00:00
|
|
|
|
parallel --plus --rpl '%' --rpl '%D $_=::shell_quote(::dirname($_));' --rpl '%B s:.*/::;s:\.[^/.]+$::;' --rpl '%E s:.*\.::' 'echo {}=%;echo %D={//};echo %B={/.};echo %E={+.};echo %D/%B.%E={}' ::: a.b/c.d/e.f
|
|
|
|
|
a.b/c.d/e.f=a.b/c.d/e.f
|
|
|
|
|
a.b/c.d=a.b/c.d
|
|
|
|
|
e=e
|
|
|
|
|
f=f
|
|
|
|
|
a.b/c.d/e.f=a.b/c.d/e.f
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-03-17 20:36:12 +00:00
|
|
|
|
echo '### Disk full'
|
|
|
|
|
### Disk full
|
2015-07-22 06:28:05 +00:00
|
|
|
|
cat /dev/zero >$SMALLDISK/out; parallel --tmpdir $SMALLDISK echo ::: OK; rm $SMALLDISK/out
|
2015-03-17 20:36:12 +00:00
|
|
|
|
cat: write error: No space left on device
|
|
|
|
|
parallel: Error: Output is incomplete. Cannot append to buffer file in /mnt/ram. Is the disk full?
|
|
|
|
|
parallel: Error: Change $TMPDIR with --tmpdir or use --compress.
|
2015-03-22 00:51:30 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
|
|
|
|
echo '### bug #44546: If --compress-program fails: fail'
|
|
|
|
|
### bug #44546: If --compress-program fails: fail
|
|
|
|
|
parallel --line-buffer --compress-program false echo \;ls ::: /no-existing; echo $?
|
|
|
|
|
1
|
2015-04-15 20:32:46 +00:00
|
|
|
|
parallel: Error: false failed.
|
|
|
|
|
parallel: Error: false failed.
|
2015-03-22 00:51:30 +00:00
|
|
|
|
parallel --tag --line-buffer --compress-program false echo \;ls ::: /no-existing; echo $?
|
|
|
|
|
1
|
2015-04-15 20:32:46 +00:00
|
|
|
|
parallel: Error: false failed.
|
|
|
|
|
parallel: Error: false failed.
|
2015-03-22 00:51:30 +00:00
|
|
|
|
(parallel --files --tag --line-buffer --compress-program false echo \;sleep 1\;ls ::: /no-existing; echo $?) | tail -n1
|
|
|
|
|
1
|
2015-04-15 20:32:46 +00:00
|
|
|
|
parallel: Error: false failed.
|
|
|
|
|
parallel: Error: false failed.
|
|
|
|
|
parallel: Error: false failed.
|
|
|
|
|
parallel: Error: false failed.
|
2015-03-22 00:51:30 +00:00
|
|
|
|
parallel --tag --compress-program false echo \;ls ::: /no-existing; echo $?
|
|
|
|
|
1
|
2015-04-15 20:32:46 +00:00
|
|
|
|
parallel: Error: false failed.
|
|
|
|
|
parallel: Error: false failed.
|
2015-03-22 00:51:30 +00:00
|
|
|
|
parallel --line-buffer --compress-program false echo \;ls ::: /no-existing; echo $?
|
|
|
|
|
1
|
2015-04-15 20:32:46 +00:00
|
|
|
|
parallel: Error: false failed.
|
|
|
|
|
parallel: Error: false failed.
|
2015-03-22 00:51:30 +00:00
|
|
|
|
parallel --compress-program false echo \;ls ::: /no-existing; echo $?
|
|
|
|
|
1
|
2015-04-15 20:32:46 +00:00
|
|
|
|
parallel: Error: false failed.
|
|
|
|
|
parallel: Error: false failed.
|
|
|
|
|
echo 'bug #41613: --compress --line-buffer - no newline'; echo 'pipe compress tagstring'
|
|
|
|
|
bug #41613: --compress --line-buffer - no newline
|
|
|
|
|
pipe compress tagstring
|
|
|
|
|
perl -e 'print "O"'| parallel --compress --tagstring {#} --pipe --line-buffer cat; echo "K"
|
|
|
|
|
1 OK
|
|
|
|
|
echo 'pipe compress notagstring'
|
|
|
|
|
pipe compress notagstring
|
|
|
|
|
perl -e 'print "O"'| parallel --compress --pipe --line-buffer cat; echo "K"
|
|
|
|
|
OK
|
|
|
|
|
echo 'pipe nocompress tagstring'
|
|
|
|
|
pipe nocompress tagstring
|
|
|
|
|
perl -e 'print "O"'| parallel --tagstring {#} --pipe --line-buffer cat; echo "K"
|
|
|
|
|
1 OK
|
|
|
|
|
echo 'pipe nocompress notagstring'
|
|
|
|
|
pipe nocompress notagstring
|
|
|
|
|
perl -e 'print "O"'| parallel --pipe --line-buffer cat; echo "K"
|
|
|
|
|
OK
|
|
|
|
|
echo 'nopipe compress tagstring'
|
|
|
|
|
nopipe compress tagstring
|
|
|
|
|
parallel --compress --tagstring {#} --line-buffer echo {} O ::: -n; echo "K"
|
|
|
|
|
1 OK
|
|
|
|
|
echo 'nopipe compress notagstring'
|
|
|
|
|
nopipe compress notagstring
|
|
|
|
|
parallel --compress --line-buffer echo {} O ::: -n; echo "K"
|
|
|
|
|
OK
|
|
|
|
|
echo 'nopipe nocompress tagstring'
|
|
|
|
|
nopipe nocompress tagstring
|
|
|
|
|
parallel --tagstring {#} --line-buffer echo {} O ::: -n; echo "K"
|
|
|
|
|
1 OK
|
|
|
|
|
echo 'nopipe nocompress notagstring'
|
|
|
|
|
nopipe nocompress notagstring
|
|
|
|
|
parallel --line-buffer echo {} O ::: -n; echo "K"
|
|
|
|
|
OK
|
|
|
|
|
echo 'Compress with failing (de)compressor'
|
|
|
|
|
Compress with failing (de)compressor
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --tag --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: tag true true
|
2015-04-15 20:32:46 +00:00
|
|
|
|
tag tag
|
|
|
|
|
true true
|
|
|
|
|
true true
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --tag --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: tag false true
|
2015-04-15 20:32:46 +00:00
|
|
|
|
tag tag
|
|
|
|
|
false false
|
|
|
|
|
true true
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --tag --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: tag false false
|
2015-04-15 20:32:46 +00:00
|
|
|
|
tag tag
|
|
|
|
|
false false
|
|
|
|
|
false false
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --tag --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: tag true false
|
2015-04-15 20:32:46 +00:00
|
|
|
|
tag tag
|
|
|
|
|
true true
|
|
|
|
|
false false
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: true true
|
2015-04-15 20:32:46 +00:00
|
|
|
|
true
|
|
|
|
|
true
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: false true
|
2015-04-15 20:32:46 +00:00
|
|
|
|
false
|
|
|
|
|
true
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: false false
|
2015-04-15 20:32:46 +00:00
|
|
|
|
false
|
|
|
|
|
false
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: true false
|
2015-04-15 20:32:46 +00:00
|
|
|
|
true
|
|
|
|
|
false
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --line-buffer --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: line-buffer true true
|
2015-04-15 20:32:46 +00:00
|
|
|
|
line-buffer
|
|
|
|
|
true
|
|
|
|
|
true
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --line-buffer --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: line-buffer false true
|
2015-04-15 20:32:46 +00:00
|
|
|
|
line-buffer
|
|
|
|
|
false
|
|
|
|
|
true
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --line-buffer --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: line-buffer false false
|
2015-04-15 20:32:46 +00:00
|
|
|
|
line-buffer
|
|
|
|
|
false
|
|
|
|
|
false
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel -k --tag --line-buffer --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: tag line-buffer true false
|
|
|
|
|
tag tag
|
|
|
|
|
line-buffer line-buffer
|
|
|
|
|
true true
|
|
|
|
|
false false
|
|
|
|
|
parallel -k --tag --line-buffer --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: tag line-buffer true true
|
|
|
|
|
tag tag
|
|
|
|
|
line-buffer line-buffer
|
|
|
|
|
true true
|
|
|
|
|
true true
|
|
|
|
|
parallel -k --tag --line-buffer --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: tag line-buffer false true
|
|
|
|
|
tag tag
|
|
|
|
|
line-buffer line-buffer
|
|
|
|
|
false false
|
|
|
|
|
true true
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel -k --tag --line-buffer --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: tag line-buffer false false
|
|
|
|
|
tag tag
|
|
|
|
|
line-buffer line-buffer
|
|
|
|
|
false false
|
|
|
|
|
false false
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel -k --tag --line-buffer --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: tag line-buffer true false
|
|
|
|
|
tag tag
|
|
|
|
|
line-buffer line-buffer
|
|
|
|
|
true true
|
|
|
|
|
false false
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --files --compress --compress-program 'cat;true' --decompress-program 'cat;true' echo ::: files true true | parallel rm
|
|
|
|
|
parallel -k --files --compress --compress-program 'cat;false' --decompress-program 'cat;true' echo ::: files false true | parallel rm
|
2015-04-15 20:32:46 +00:00
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --files --compress --compress-program 'cat;false' --decompress-program 'cat;false' echo ::: files false false | parallel rm
|
2015-04-15 20:32:46 +00:00
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
|
|
|
|
parallel: Error: cat;false failed.
|
2016-02-19 21:15:08 +00:00
|
|
|
|
parallel -k --files --compress --compress-program 'cat;true' --decompress-program 'cat;false' echo ::: files true false | parallel rm
|
2015-04-15 20:32:46 +00:00
|
|
|
|
echo 'bug #44250: pxz complains File format not recognized but decompresses anyway'
|
|
|
|
|
bug #44250: pxz complains File format not recognized but decompresses anyway
|
|
|
|
|
# The first line dumps core if run from make file. Why?!
|
|
|
|
|
stdout parallel --compress --compress-program pxz ls /{} ::: OK-if-missing-file
|
|
|
|
|
parallel: Error: pxz failed.
|
|
|
|
|
stdout parallel --compress --compress-program pixz --decompress-program 'pixz -d' ls /{} ::: OK-if-missing-file
|
|
|
|
|
ls: cannot access /OK-if-missing-file: No such file or directory
|
|
|
|
|
stdout parallel --compress --compress-program pixz --decompress-program 'pixz -d' true ::: OK-if-no-output
|
|
|
|
|
stdout parallel --compress --compress-program pxz true ::: OK-if-no-output
|
|
|
|
|
echo 'bug #41613: --compress --line-buffer no newline'; perl -e 'print "It worked"'| parallel --pipe --compress --line-buffer cat; echo
|
|
|
|
|
bug #41613: --compress --line-buffer no newline
|
|
|
|
|
It worked
|
2015-03-24 23:14:50 +00:00
|
|
|
|
echo '### bug #44614: --pipepart --header off by one'
|
|
|
|
|
### bug #44614: --pipepart --header off by one
|
|
|
|
|
seq 10 >/tmp/parallel_44616; parallel --pipepart -a /tmp/parallel_44616 -k --block 5 'echo foo; cat'; parallel --pipepart -a /tmp/parallel_44616 -k --block 2 --regexp --recend 3'\n' 'echo foo; cat'; rm /tmp/parallel_44616
|
|
|
|
|
foo
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
3
|
|
|
|
|
foo
|
|
|
|
|
4
|
|
|
|
|
5
|
|
|
|
|
6
|
|
|
|
|
foo
|
|
|
|
|
7
|
|
|
|
|
8
|
|
|
|
|
9
|
|
|
|
|
foo
|
|
|
|
|
10
|
|
|
|
|
foo
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
3
|
|
|
|
|
foo
|
|
|
|
|
4
|
|
|
|
|
5
|
|
|
|
|
6
|
|
|
|
|
7
|
|
|
|
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
2015-03-28 11:14:30 +00:00
|
|
|
|
echo '### TMUX not found'
|
|
|
|
|
### TMUX not found
|
|
|
|
|
TMUX=not-existing parallel --tmux echo ::: 1
|
|
|
|
|
parallel: Error: not-existing not found in $PATH.
|
2015-04-20 22:08:08 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-07-22 06:28:05 +00:00
|
|
|
|
parallel -j4 --halt 2 ::: 'sleep 1' burnP6 false; killall burnP6 && echo ERROR: burnP6 should be killed
|
2015-04-20 22:08:08 +00:00
|
|
|
|
parallel: This job failed:
|
|
|
|
|
false
|
|
|
|
|
burnP6: no process found
|
2015-07-22 06:28:05 +00:00
|
|
|
|
parallel -j4 --halt -2 ::: 'sleep 1' burnP5 true; killall burnP5 && echo ERROR: burnP5 should be killed
|
2015-04-20 22:08:08 +00:00
|
|
|
|
parallel: This job succeeded:
|
|
|
|
|
true
|
|
|
|
|
burnP5: no process found
|
2015-05-15 06:47:44 +00:00
|
|
|
|
parallel --halt error echo ::: should not print
|
|
|
|
|
parallel: Error: --halt must have 'never', 'soon', or 'now'.
|
|
|
|
|
parallel --halt soon echo ::: should not print
|
|
|
|
|
parallel: Error: --halt soon must be followed by ,success or ,fail.
|
|
|
|
|
parallel --halt now echo ::: should not print
|
|
|
|
|
parallel: Error: --halt now must be followed by ,success or ,fail.
|
2015-05-06 22:40:36 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
|
|
|
|
echo '### bug #44995: parallel echo {#} ::: 1 2 ::: 1 2'
|
|
|
|
|
### bug #44995: parallel echo {#} ::: 1 2 ::: 1 2
|
|
|
|
|
parallel -k echo {#} ::: 1 2 ::: 1 2
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
3
|
|
|
|
|
4
|
2015-05-25 20:07:37 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-05-25 22:08:31 +00:00
|
|
|
|
testquote() { printf '"#&/\n()*=?'"'" | PARALLEL_SHELL=$1 parallel -0 echo; }; export -f testquote; parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh posh rbash rc rzsh sash sh static-sh tcsh yash zsh
|
|
|
|
|
ash "#&/
|
|
|
|
|
ash ()*=?'
|
|
|
|
|
bash "#&/
|
|
|
|
|
bash ()*=?'
|
|
|
|
|
csh "#&/
|
|
|
|
|
csh ()*=?'
|
|
|
|
|
dash "#&/
|
|
|
|
|
dash ()*=?'
|
|
|
|
|
fdsh "#&/
|
|
|
|
|
fdsh ()*=?'
|
|
|
|
|
fish "#&/
|
|
|
|
|
fish ()*=?'
|
|
|
|
|
fizsh "#&/
|
|
|
|
|
fizsh ()*=?'
|
|
|
|
|
ksh "#&/
|
|
|
|
|
ksh ()*=?'
|
|
|
|
|
ksh93 "#&/
|
|
|
|
|
ksh93 ()*=?'
|
|
|
|
|
mksh "#&/
|
|
|
|
|
mksh ()*=?'
|
|
|
|
|
pdksh "#&/
|
|
|
|
|
pdksh ()*=?'
|
|
|
|
|
posh "#&/
|
|
|
|
|
posh ()*=?'
|
2015-06-21 17:40:58 +00:00
|
|
|
|
rbash "#&/
|
|
|
|
|
rbash ()*=?'
|
2015-05-25 22:08:31 +00:00
|
|
|
|
rc "#&/
|
|
|
|
|
rc ()*=?'
|
2015-06-21 17:40:58 +00:00
|
|
|
|
rzsh "#&/
|
|
|
|
|
rzsh ()*=?'
|
2015-05-25 22:08:31 +00:00
|
|
|
|
sash "#&/
|
|
|
|
|
sash ()*=?'
|
|
|
|
|
sh "#&/
|
|
|
|
|
sh ()*=?'
|
|
|
|
|
static-sh "#&/
|
|
|
|
|
static-sh ()*=?'
|
|
|
|
|
tcsh "#&/
|
|
|
|
|
tcsh ()*=?'
|
|
|
|
|
yash "#&/
|
|
|
|
|
yash ()*=?'
|
|
|
|
|
zsh "#&/
|
|
|
|
|
zsh ()*=?'
|
2015-05-25 20:07:37 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-08-27 20:28:32 +00:00
|
|
|
|
echo '### bug #45769: --round-robin --pipepart gives wrong results'
|
|
|
|
|
### bug #45769: --round-robin --pipepart gives wrong results
|
|
|
|
|
seq 10000 >/tmp/seq10000; parallel -j2 --pipepart -a /tmp/seq10000 --block 14 --round-robin wc | wc -l; rm /tmp/seq10000
|
|
|
|
|
2
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-08-30 23:57:14 +00:00
|
|
|
|
echo '### bug #45842: Do not evaluate {= =} twice'
|
|
|
|
|
### bug #45842: Do not evaluate {= =} twice
|
|
|
|
|
parallel -k echo '{= $_=++$::G =}' ::: {1001..1004}
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
3
|
|
|
|
|
4
|
|
|
|
|
parallel -k echo '{=1 $_=++$::G =}' ::: {1001..1004}
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
3
|
|
|
|
|
4
|
|
|
|
|
parallel -k echo '{= $_=++$::G =}' ::: {1001..1004} ::: {a..c}
|
|
|
|
|
1 2
|
|
|
|
|
3 4
|
|
|
|
|
5 6
|
|
|
|
|
7 8
|
|
|
|
|
9 10
|
|
|
|
|
11 12
|
|
|
|
|
13 14
|
|
|
|
|
15 16
|
|
|
|
|
17 18
|
|
|
|
|
19 20
|
|
|
|
|
21 22
|
|
|
|
|
23 24
|
|
|
|
|
parallel -k echo '{=1 $_=++$::G =}' ::: {1001..1004} ::: {a..c}
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
3
|
|
|
|
|
4
|
|
|
|
|
5
|
|
|
|
|
6
|
|
|
|
|
7
|
|
|
|
|
8
|
|
|
|
|
9
|
|
|
|
|
10
|
|
|
|
|
11
|
|
|
|
|
12
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-09-12 15:51:43 +00:00
|
|
|
|
echo '### bug #45939: {2} in {= =} fails'
|
|
|
|
|
### bug #45939: {2} in {= =} fails
|
|
|
|
|
parallel echo '{= s/O{2}//=}' ::: OOOK
|
|
|
|
|
OK
|
|
|
|
|
parallel echo '{2}-{=1 s/O{2}//=}' ::: OOOK ::: OK
|
|
|
|
|
OK-OK
|
2015-09-18 20:28:47 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
|
|
|
|
echo '### bug #45998: --pipe to function broken'
|
|
|
|
|
### bug #45998: --pipe to function broken
|
|
|
|
|
myfunc() { echo $1; cat; }; export -f myfunc; echo OK | parallel --pipe myfunc {#}
|
|
|
|
|
1
|
|
|
|
|
OK
|
2015-09-21 23:35:52 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
|
|
|
|
echo 'bug #46016: --joblog should not log when --dryrun'
|
|
|
|
|
bug #46016: --joblog should not log when --dryrun
|
|
|
|
|
parallel --dryrun --joblog - echo ::: Only_this
|
|
|
|
|
echo Only_this
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-09-24 23:29:34 +00:00
|
|
|
|
echo 'bug #45993: --wd ... should also work when run locally'
|
|
|
|
|
bug #45993: --wd ... should also work when run locally
|
|
|
|
|
parallel --wd /bi 'pwd; echo $OLDPWD; echo' ::: fail
|
2016-04-20 21:35:06 +00:00
|
|
|
|
parallel: Error: Cannot change into non-executable dir /bi: No such file or directory
|
2015-09-24 23:29:34 +00:00
|
|
|
|
parallel --wd /bin 'pwd; echo $OLDPWD; echo' ::: OK
|
|
|
|
|
/bin
|
|
|
|
|
/home/tange/privat/parallel/testsuite
|
|
|
|
|
OK
|
|
|
|
|
parallel --wd / 'pwd; echo $OLDPWD; echo' ::: OK
|
|
|
|
|
/
|
|
|
|
|
/home/tange/privat/parallel/testsuite
|
|
|
|
|
OK
|
|
|
|
|
parallel --wd /tmp 'pwd; echo $OLDPWD; echo' ::: OK
|
|
|
|
|
/tmp
|
|
|
|
|
/home/tange/privat/parallel/testsuite
|
|
|
|
|
OK
|
|
|
|
|
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
|
|
|
|
|
/home/tange/.parallel/tmp/aspire-0-0
|
|
|
|
|
/home/tange/privat/parallel/testsuite
|
|
|
|
|
OK
|
|
|
|
|
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
|
|
|
|
|
/home/tange/privat/parallel/testsuite
|
|
|
|
|
/home/tange/privat/parallel/testsuite
|
|
|
|
|
OK
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-10-17 14:54:15 +00:00
|
|
|
|
echo 'bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken'
|
|
|
|
|
bug #46232: {%} with --bar/--eta/--shuf or --halt xx% broken
|
2015-10-18 13:18:30 +00:00
|
|
|
|
parallel --bar -kj2 --delay 0.1 echo {%} ::: a b ::: c d e 2>/dev/null
|
2015-10-17 14:54:15 +00:00
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
|
|
|
|
2
|
2015-10-18 13:18:30 +00:00
|
|
|
|
parallel --halt now,fail=10% -kj2 --delay 0.1 echo {%} ::: a b ::: c d e
|
2015-10-17 14:54:15 +00:00
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
|
|
|
|
2
|
2015-10-18 13:18:30 +00:00
|
|
|
|
parallel --eta -kj2 --delay 0.1 echo {%} ::: a b ::: c d e 2>/dev/null
|
2015-10-17 14:54:15 +00:00
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
|
|
|
|
2
|
2015-10-18 13:18:30 +00:00
|
|
|
|
parallel --shuf -kj2 --delay 0.1 echo {%} ::: a b ::: c d e 2>/dev/null
|
2015-10-17 14:54:15 +00:00
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
|
|
|
|
echo 'bug #46231: {%} with --pipepart broken. Should give 1+2'
|
|
|
|
|
bug #46231: {%} with --pipepart broken. Should give 1+2
|
|
|
|
|
seq 10000 > /tmp/num10000; parallel --pipepart -ka /tmp/num10000 --block 10k -j2 echo {%}; rm /tmp/num10000
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
1
|
2015-10-17 15:10:04 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-10-18 09:44:02 +00:00
|
|
|
|
echo '{##} bug #45841: Replacement string for total no of jobs'
|
|
|
|
|
{##} bug #45841: Replacement string for total no of jobs
|
2015-11-29 23:47:21 +00:00
|
|
|
|
parallel -k --plus echo {##} ::: {a..j}; parallel -k 'echo {= $::G++ > 3 and ($_=$Global::JobQueue->total_jobs());=}' ::: {1..10}
|
2015-10-18 09:44:02 +00:00
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
3
|
|
|
|
|
4
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
|
|
|
|
10
|
2015-11-29 23:47:21 +00:00
|
|
|
|
parallel -k -N7 --plus echo {#} {##} ::: {1..14}
|
2015-10-18 13:18:30 +00:00
|
|
|
|
1 2 2 2 2 2 2 2
|
|
|
|
|
2 2 2 2 2 2 2 2
|
2015-11-29 23:47:21 +00:00
|
|
|
|
parallel -k -N7 --plus echo {#} {##} ::: {1..15}
|
2015-10-18 13:18:30 +00:00
|
|
|
|
1 3 3 3 3 3 3 3
|
|
|
|
|
2 3 3 3 3 3 3 3
|
|
|
|
|
3 3
|
2016-01-23 08:54:05 +00:00
|
|
|
|
parallel -k -S 8/: -X --plus echo {#} {##} ::: {1..15}
|
2015-10-18 13:18:30 +00:00
|
|
|
|
1 15 15
|
|
|
|
|
2 15 15
|
|
|
|
|
3 15 15
|
|
|
|
|
4 15 15
|
|
|
|
|
5 15 15
|
|
|
|
|
6 15 15
|
|
|
|
|
7 15 15
|
|
|
|
|
8 15
|
2015-10-18 09:44:02 +00:00
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2016-01-28 22:45:11 +00:00
|
|
|
|
echo 'bug #47002: --tagstring with -d \n\n'
|
|
|
|
|
bug #47002: --tagstring with -d \n\n
|
|
|
|
|
(seq 3;echo;seq 4) | parallel -d '\n\n' --tagstring {%} echo ABC';'echo
|
|
|
|
|
1 ABC
|
|
|
|
|
1 1
|
|
|
|
|
1 2
|
|
|
|
|
1 3
|
|
|
|
|
2 ABC
|
|
|
|
|
2 1
|
|
|
|
|
2 2
|
|
|
|
|
2 3
|
|
|
|
|
2 4
|
|
|
|
|
2
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2016-02-19 21:15:08 +00:00
|
|
|
|
echo 'bug #47086: [PATCH] Initialize total_completed from joblog'
|
|
|
|
|
bug #47086: [PATCH] Initialize total_completed from joblog
|
|
|
|
|
rm -f /tmp/parallel-47086; parallel -j1 --joblog /tmp/parallel-47086 --halt now,fail=1 echo '{= $_=$Global::total_completed =};exit {}' ::: 0 0 0 1 0 0; parallel -j1 --joblog /tmp/parallel-47086 --halt now,fail=1 --resume echo '{= $_=$Global::total_completed =};exit {}' ::: 0 0 0 1 0 0
|
|
|
|
|
0
|
|
|
|
|
1
|
|
|
|
|
2
|
|
|
|
|
3
|
|
|
|
|
4
|
|
|
|
|
5
|
|
|
|
|
parallel: This job failed:
|
|
|
|
|
echo 3;exit 1
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2016-03-26 09:35:13 +00:00
|
|
|
|
echo 'bug #47290: xargs: Warning: a NUL character occurred in the input'
|
|
|
|
|
bug #47290: xargs: Warning: a NUL character occurred in the input
|
|
|
|
|
perl -e 'print "foo\0not printed"' | parallel echo
|
|
|
|
|
foo
|
|
|
|
|
parallel: Warning: a NUL character occurred in the input.
|
|
|
|
|
parallel: Warning: It cannot be passed through in the argument list.
|
|
|
|
|
parallel: Warning: Did you mean to use the --null option?
|
|
|
|
|
echo '**'
|
|
|
|
|
**
|
2015-04-09 23:20:51 +00:00
|
|
|
|
### 1 .par file from --files expected
|
|
|
|
|
1
|