mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 14:07:55 +00:00
testsuite: --joblog added to many tests.
This commit is contained in:
parent
40668af537
commit
8d3bc91cc0
|
@ -21,7 +21,7 @@ freepl >/dev/null &
|
||||||
|
|
||||||
# niceload -q -l 5 perl -e '$a=join"",<>; while(1){push @a,$a}' &
|
# niceload -q -l 5 perl -e '$a=join"",<>; while(1){push @a,$a}' &
|
||||||
|
|
||||||
cat <<'EOF' | stdout parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### --rm and --runmem'
|
echo '### --rm and --runmem'
|
||||||
niceload -H --rm 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
|
niceload -H --rm 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
|
||||||
niceload -H --runmem 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
|
niceload -H --runmem 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
|
||||||
|
@ -34,13 +34,13 @@ EOF
|
||||||
# force load > 10
|
# force load > 10
|
||||||
while uptime | grep -v age:.[1-9][0-9].[0-9][0-9] >/dev/null ; do (timeout 5 nice burnP6 2>/dev/null &) done
|
while uptime | grep -v age:.[1-9][0-9].[0-9][0-9] >/dev/null ; do (timeout 5 nice burnP6 2>/dev/null &) done
|
||||||
|
|
||||||
cat <<'EOF' | stdout parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### -H and --hard'
|
echo '### -H and --hard'
|
||||||
niceload -H -l 9.9 uptime | grep ':.[1-9][0-9].[0-9][0-9],' || echo OK-l9.9
|
niceload -H -l 9.9 uptime | grep ':.[1-9][0-9].[0-9][0-9],' || echo OK-l9.9
|
||||||
niceload --hard -l 9 uptime | grep ':.[1-9][0-9].[0-9][0-9],' || echo OK-l9
|
niceload --hard -l 9 uptime | grep ':.[1-9][0-9].[0-9][0-9],' || echo OK-l9
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat <<'EOF' | stdout parallel -vj0 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### -f and --factor'
|
echo '### -f and --factor'
|
||||||
niceload -H --factor 10 -l6 echo factor 10 finish last
|
niceload -H --factor 10 -l6 echo factor 10 finish last
|
||||||
niceload -H -f 0.01 -l6 echo f 0.1 finish first
|
niceload -H -f 0.01 -l6 echo f 0.1 finish first
|
||||||
|
|
|
@ -8,7 +8,7 @@ int() {
|
||||||
}
|
}
|
||||||
export -f int
|
export -f int
|
||||||
|
|
||||||
cat <<'EOF' | stdout parallel -k -vj0 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
# The seq 30000000 should take > 1 cpu sec to run.
|
# The seq 30000000 should take > 1 cpu sec to run.
|
||||||
echo '### --soft -f and test if child is actually suspended and thus takes longer'
|
echo '### --soft -f and test if child is actually suspended and thus takes longer'
|
||||||
niceload --soft -f 0.5 'seq 30000000 | nice wc;echo This should finish last' &
|
niceload --soft -f 0.5 'seq 30000000 | nice wc;echo This should finish last' &
|
||||||
|
|
|
@ -9,7 +9,7 @@ ping -c 1 freebsd7.tange.dk >/dev/null 2>&1
|
||||||
ssh freebsd7.tange.dk touch .parallel/will-cite
|
ssh freebsd7.tange.dk touch .parallel/will-cite
|
||||||
scp -q .*/src/{parallel,sem,sql,niceload} freebsd7.tange.dk:bin/
|
scp -q .*/src/{parallel,sem,sql,niceload} freebsd7.tange.dk:bin/
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -S freebsd7.tange.dk -vj9 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj9 -k --joblog /tmp/jl-`basename $0` -L1 -S freebsd7.tange.dk
|
||||||
echo 'bug #40136: FreeBSD: No more processes'
|
echo 'bug #40136: FreeBSD: No more processes'
|
||||||
sem --jobs 3 --id my_id -u 'echo First started; sleep 5; echo The first finished' &&
|
sem --jobs 3 --id my_id -u 'echo First started; sleep 5; echo The first finished' &&
|
||||||
sem --jobs 3 --id my_id -u 'echo Second started; sleep 6; echo The second finished' &&
|
sem --jobs 3 --id my_id -u 'echo Second started; sleep 6; echo The second finished' &&
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Simple jobs that never fails
|
# Simple jobs that never fails
|
||||||
# Each should be taking 0.3-1s and be possible to run in parallel
|
# Each should be taking 0.3-1s and be possible to run in parallel
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -vj4 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test exit val - true';
|
echo '### Test exit val - true';
|
||||||
echo true | parallel;
|
echo true | parallel;
|
||||||
echo $?
|
echo $?
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Simple jobs that never fails
|
# Simple jobs that never fails
|
||||||
# Each should be taking >100s and be possible to run in parallel
|
# Each should be taking >100s and be possible to run in parallel
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -vj4 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test if we can deal with output > 4 GB'
|
echo '### Test if we can deal with output > 4 GB'
|
||||||
## echo | niceload --io 10 parallel -q perl -e '"\$a=\"x\"x1000000;for(0..4300){print \$a}"' | md5sum
|
## echo | niceload --io 10 parallel -q perl -e '"\$a=\"x\"x1000000;for(0..4300){print \$a}"' | md5sum
|
||||||
echo | parallel --tmpdir /dev/shm -q perl -e '$a="x"x1000000;for(0..4300){print $a}' | md5sum
|
echo | parallel --tmpdir /dev/shm -q perl -e '$a="x"x1000000;for(0..4300){print $a}' | md5sum
|
||||||
|
|
|
@ -3,5 +3,5 @@
|
||||||
# Simple jobs that never fails
|
# Simple jobs that never fails
|
||||||
# Each should be taking 10-30s and be possible to run in parallel
|
# Each should be taking 10-30s and be possible to run in parallel
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -vj4 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -10,7 +10,7 @@ mkdir -p $SHM
|
||||||
sudo umount -l $SHM
|
sudo umount -l $SHM
|
||||||
sudo mount -t tmpfs -o size=10% none $SHM
|
sudo mount -t tmpfs -o size=10% none $SHM
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -vj4 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj4 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test race condition on 8 CPU (my laptop)';
|
echo '### Test race condition on 8 CPU (my laptop)';
|
||||||
seq 1 5000000 > /tmp/parallel_test;
|
seq 1 5000000 > /tmp/parallel_test;
|
||||||
seq 1 10 | parallel -k "cat /tmp/parallel_test | parallel --pipe --recend '' -k gzip >/dev/null; echo {}"
|
seq 1 10 | parallel -k "cat /tmp/parallel_test | parallel --pipe --recend '' -k gzip >/dev/null; echo {}"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Simple jobs that never fails
|
# Simple jobs that never fails
|
||||||
# Each should be taking 3-10s and be possible to run in parallel
|
# Each should be taking 3-10s and be possible to run in parallel
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -vj4 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj4 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### bug #42089: --results with arg > 256 chars (should be 1 char shorter)'
|
echo '### bug #42089: --results with arg > 256 chars (should be 1 char shorter)'
|
||||||
parallel --results parallel_test_dir echo ::: 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456;
|
parallel --results parallel_test_dir echo ::: 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456;
|
||||||
ls parallel_test_dir/1/
|
ls parallel_test_dir/1/
|
||||||
|
|
|
@ -5,7 +5,7 @@ rm -rf tmp
|
||||||
mkdir tmp
|
mkdir tmp
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | stdout parallel -vj5 -k -L1
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | stdout parallel -vj5 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Stop if all hosts are filtered and there are no hosts left to run on'
|
echo '### Stop if all hosts are filtered and there are no hosts left to run on'
|
||||||
stdout parallel --filter-hosts -S no-such.host echo ::: 1
|
stdout parallel --filter-hosts -S no-such.host echo ::: 1
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | stdout parallel -vj6 -k -L1
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | stdout parallel -vj6 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo "### bug #43518: GNU Parallel doesn't obey servers' jobs capacity when an ssh login file is reloaded"
|
echo "### bug #43518: GNU Parallel doesn't obey servers' jobs capacity when an ssh login file is reloaded"
|
||||||
# Pre-20141106 Would reset the number of jobs run on all sshlogin if --slf changed
|
# Pre-20141106 Would reset the number of jobs run on all sshlogin if --slf changed
|
||||||
# Thus must take at least 25 sec to run
|
# Thus must take at least 25 sec to run
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# SSH only allowed to localhost/lo
|
# SSH only allowed to localhost/lo
|
||||||
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj2 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | stdout parallel -vj2 -k -L1
|
|
||||||
echo '### --hostgroup force ncpu'
|
echo '### --hostgroup force ncpu'
|
||||||
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.{} ::: {1..8} | sort
|
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.{} ::: {1..8} | sort
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat <<'EOF' | parallel -vj0 -k
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo "bug #43654: --bar with command not using {} - only last output line "
|
echo "bug #43654: --bar with command not using {} - only last output line "
|
||||||
COLUMNS=80 stdout parallel --bar true {.} ::: 1 | perl -pe 's/.*\r/\r/'
|
COLUMNS=80 stdout parallel --bar true {.} ::: 1 | perl -pe 's/.*\r/\r/'
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ echo '### Test of bug: If input is empty string'
|
||||||
(echo ; echo abcbdbebf;echo abc) | parallel -k --colsep b -v echo {1}{2}
|
(echo ; echo abcbdbebf;echo abc) | parallel -k --colsep b -v echo {1}{2}
|
||||||
|
|
||||||
echo '### Test bug #34241: --pipe should not spawn unneeded processes'
|
echo '### Test bug #34241: --pipe should not spawn unneeded processes'
|
||||||
seq 3 | parallel -j30 --pipe --block-size 10 cat\;echo o
|
seq 3 | parallel -j30 --pipe --block-size 10 cat\;echo o
|
||||||
|
|
||||||
echo '### Test :::: mixed with :::'
|
echo '### Test :::: mixed with :::'
|
||||||
echo '### Test :::: < ::: :::'
|
echo '### Test :::: < ::: :::'
|
||||||
|
@ -152,7 +152,7 @@ echo '### bug #37042: -J foo is taken from the whole command line - not just the
|
||||||
echo '--tagstring foo' > ~/.parallel/bug_37042_profile;
|
echo '--tagstring foo' > ~/.parallel/bug_37042_profile;
|
||||||
parallel -J bug_37042_profile echo ::: tag_with_foo;
|
parallel -J bug_37042_profile echo ::: tag_with_foo;
|
||||||
parallel --tagstring a -J bug_37042_profile echo ::: tag_with_a;
|
parallel --tagstring a -J bug_37042_profile echo ::: tag_with_a;
|
||||||
parallel --tagstring a echo -J bug_37042_profile ::: print_-J_bug_37042_profile;
|
parallel --tagstring a echo -J bug_37042_profile ::: print_-J_bug_37042_profile
|
||||||
|
|
||||||
echo '### Bug introduce by fixing bug #37042'
|
echo '### Bug introduce by fixing bug #37042'
|
||||||
parallel --xapply -a <(printf 'abc') --colsep '\t' echo {1}
|
parallel --xapply -a <(printf 'abc') --colsep '\t' echo {1}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo "### --line-buffer"
|
echo "### --line-buffer"
|
||||||
seq 10 | parallel -j20 --line-buffer 'seq {} 10 | pv -qL 10' > /tmp/parallel_l$$;
|
seq 10 | parallel -j20 --line-buffer 'seq {} 10 | pv -qL 10' > /tmp/parallel_l$$;
|
||||||
seq 10 | parallel -j20 'seq {} 10 | pv -qL 10' > /tmp/parallel_$$;
|
seq 10 | parallel -j20 'seq {} 10 | pv -qL 10' > /tmp/parallel_$$;
|
||||||
|
|
|
@ -5,7 +5,7 @@ echo '### Tests from xargs'
|
||||||
rsync -Ha --delete input-files/xargs-inputs/ tmp/
|
rsync -Ha --delete input-files/xargs-inputs/ tmp/
|
||||||
cd tmp
|
cd tmp
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### -0 -n3 echo < files0.xi'
|
echo '### -0 -n3 echo < files0.xi'
|
||||||
stdout xargs -0 -n3 echo < files0.xi
|
stdout xargs -0 -n3 echo < files0.xi
|
||||||
stdout parallel -k -0 -n3 echo < files0.xi
|
stdout parallel -k -0 -n3 echo < files0.xi
|
||||||
|
|
|
@ -17,7 +17,7 @@ echo '### Check that we can have more input than max procs (-j 0) - touch'
|
||||||
perl -e 'print map {"more_than_5000-$_\n" } (4000..9999)' | parallel -vj 0 touch | sort | tail
|
perl -e 'print map {"more_than_5000-$_\n" } (4000..9999)' | parallel -vj 0 touch | sort | tail
|
||||||
echo '### rm'
|
echo '### rm'
|
||||||
perl -e 'print map {"more_than_5000-$_\n" } (4000..9900)' | parallel -j 0 rm | sort
|
perl -e 'print map {"more_than_5000-$_\n" } (4000..9900)' | parallel -j 0 rm | sort
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout nice parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
ls | parallel -j500 'sleep 1; find {} -type f | perl -ne "END{print $..\" {}\n\"}"' | sort
|
ls | parallel -j500 'sleep 1; find {} -type f | perl -ne "END{print $..\" {}\n\"}"' | sort
|
||||||
ls | parallel --group -j500 'sleep 1; find {} -type f | perl -ne "END{print $..\" {}\n\"}"' | sort
|
ls | parallel --group -j500 'sleep 1; find {} -type f | perl -ne "END{print $..\" {}\n\"}"' | sort
|
||||||
find . -type f | parallel --group "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
find . -type f | parallel --group "perl -ne '/^\\S+\\s+\\S+$/ and print \$ARGV,\"\\n\"'" | sort
|
||||||
|
|
|
@ -7,7 +7,7 @@ median() { perl -e '@a=sort {$a<=>$b} <>;print $a[$#a/2]';}
|
||||||
export -f median
|
export -f median
|
||||||
|
|
||||||
# -L1 will join lines ending in ' '
|
# -L1 will join lines ending in ' '
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### bug #41565: Print happens in blocks - not after each job complete'
|
echo '### bug #41565: Print happens in blocks - not after each job complete'
|
||||||
echo 'The timing here is important: a full second between each'
|
echo 'The timing here is important: a full second between each'
|
||||||
perl -e 'for(1..10){print("$_\n");`sleep 1`}' | parallel -j3 'echo {#}' | timestamp -dd | perl -pe '$_=int($_+0.3)."\n"' | median
|
perl -e 'for(1..10){print("$_\n");`sleep 1`}' | parallel -j3 'echo {#}' | timestamp -dd | perl -pe '$_=int($_+0.3)."\n"' | median
|
||||||
|
@ -23,17 +23,17 @@ echo '### Test --tagstring'
|
||||||
echo '### Bug in --load';
|
echo '### Bug in --load';
|
||||||
nice parallel -k --load 30 sleep 0.1\;echo ::: 1 2 3
|
nice parallel -k --load 30 sleep 0.1\;echo ::: 1 2 3
|
||||||
|
|
||||||
echo '### Test --timeout';
|
echo '### Test --timeout'
|
||||||
nice parallel -j0 -k --timeout 1 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
|
nice parallel -j0 -k --timeout 1 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
|
||||||
|
|
||||||
echo '### Test retired';
|
echo '### Test retired'
|
||||||
stdout parallel -B foo;
|
stdout parallel -B foo
|
||||||
stdout parallel -g;
|
stdout parallel -g
|
||||||
stdout parallel -H 1;
|
stdout parallel -H 1
|
||||||
stdout parallel -T;
|
stdout parallel -T
|
||||||
stdout parallel -U foo;
|
stdout parallel -U foo
|
||||||
stdout parallel -W foo;
|
stdout parallel -W foo
|
||||||
stdout parallel -Y;
|
stdout parallel -Y
|
||||||
|
|
||||||
echo '### Test --joblog followed by --resume --joblog'
|
echo '### Test --joblog followed by --resume --joblog'
|
||||||
rm -f /tmp/joblog;
|
rm -f /tmp/joblog;
|
||||||
|
@ -49,16 +49,16 @@ echo '### Test --resume --joblog followed by --resume --joblog';
|
||||||
cat /tmp/joblog2 | wc -lw;
|
cat /tmp/joblog2 | wc -lw;
|
||||||
rm -f /tmp/joblog2;
|
rm -f /tmp/joblog2;
|
||||||
|
|
||||||
echo '### Test --header';
|
echo '### Test --header'
|
||||||
printf "a\tb\n1.2\t3/4.5" | parallel --colsep "\t" --header "\n" echo {b} {a} {b.} {b/} {b//} {b/.};
|
printf "a\tb\n1.2\t3/4.5" | parallel --colsep "\t" --header "\n" echo {b} {a} {b.} {b/} {b//} {b/.}
|
||||||
|
|
||||||
echo '### 64-bit wierdness - this did not complete on a 64-bit machine';
|
echo '### 64-bit wierdness - this did not complete on a 64-bit machine';
|
||||||
seq 1 2 | parallel -j1 'seq 1 1 | parallel true'
|
seq 1 2 | parallel -j1 'seq 1 1 | parallel true'
|
||||||
|
|
||||||
echo "### BUG-fix: bash -c 'parallel -a <(seq 1 3) echo'";
|
echo "### BUG-fix: bash -c 'parallel -a <(seq 1 3) echo'"
|
||||||
stdout bash -c 'parallel -k -a <(seq 1 3) echo'
|
stdout bash -c 'parallel -k -a <(seq 1 3) echo'
|
||||||
|
|
||||||
echo "### bug #35268: shell_quote doesn't treats [] brackets correctly";
|
echo "### bug #35268: shell_quote doesn't treats [] brackets correctly"
|
||||||
touch /tmp/foo1;
|
touch /tmp/foo1;
|
||||||
stdout parallel echo ::: '/tmp/foo[123]'
|
stdout parallel echo ::: '/tmp/foo[123]'
|
||||||
|
|
||||||
|
@ -71,38 +71,38 @@ echo '### Test of segfaulting issue'
|
||||||
echo 'before adding wait() before exit';
|
echo 'before adding wait() before exit';
|
||||||
seq 1 300 | stdout parallel ./trysegfault
|
seq 1 300 | stdout parallel ./trysegfault
|
||||||
|
|
||||||
echo '### Test basic --arg-sep';
|
echo '### Test basic --arg-sep'
|
||||||
parallel -k echo ::: a b
|
parallel -k echo ::: a b
|
||||||
|
|
||||||
echo '### Run commands using --arg-sep';
|
echo '### Run commands using --arg-sep'
|
||||||
parallel -kv ::: 'echo a' 'echo b'
|
parallel -kv ::: 'echo a' 'echo b'
|
||||||
|
|
||||||
echo '### Change --arg-sep';
|
echo '### Change --arg-sep'
|
||||||
parallel --arg-sep ::: -kv ::: 'echo a' 'echo b';
|
parallel --arg-sep ::: -kv ::: 'echo a' 'echo b'
|
||||||
parallel --arg-sep .--- -kv .--- 'echo a' 'echo b';
|
parallel --arg-sep .--- -kv .--- 'echo a' 'echo b'
|
||||||
parallel --argsep ::: -kv ::: 'echo a' 'echo b';
|
parallel --argsep ::: -kv ::: 'echo a' 'echo b'
|
||||||
parallel --argsep .--- -kv .--- 'echo a' 'echo b'
|
parallel --argsep .--- -kv .--- 'echo a' 'echo b'
|
||||||
|
|
||||||
echo '### Test stdin goes to first command only'
|
echo '### Test stdin goes to first command only'
|
||||||
echo via cat |parallel --arg-sep .--- -kv .--- 'cat' 'echo b'
|
echo via cat |parallel --arg-sep .--- -kv .--- 'cat' 'echo b'
|
||||||
echo via cat |parallel -kv ::: 'cat' 'echo b'
|
echo via cat |parallel -kv ::: 'cat' 'echo b'
|
||||||
|
|
||||||
echo '### Bug made 4 5 go before 1 2 3';
|
echo '### Bug made 4 5 go before 1 2 3'
|
||||||
parallel -k ::: "sleep 1; echo 1" "echo 2" "echo 3" "echo 4" "echo 5"
|
parallel -k ::: "sleep 1; echo 1" "echo 2" "echo 3" "echo 4" "echo 5"
|
||||||
|
|
||||||
echo '### Bug made 3 go before 1 2';
|
echo '### Bug made 3 go before 1 2'
|
||||||
parallel -kj 1 ::: "sleep 1; echo 1" "echo 2" "echo 3"
|
parallel -kj 1 ::: "sleep 1; echo 1" "echo 2" "echo 3"
|
||||||
|
|
||||||
echo '### Bug did not quote';
|
echo '### Bug did not quote'
|
||||||
echo '>' | parallel -v echo;
|
echo '>' | parallel -v echo
|
||||||
parallel -v echo ::: '>';
|
parallel -v echo ::: '>'
|
||||||
(echo '>'; echo 2) | parallel -j1 -vX echo;
|
(echo '>'; echo 2) | parallel -j1 -vX echo
|
||||||
parallel -X -j1 echo ::: '>' 2
|
parallel -X -j1 echo ::: '>' 2
|
||||||
|
|
||||||
echo '### Must not quote';
|
echo '### Must not quote';
|
||||||
echo 'echo | wc -l' | parallel -v;
|
echo 'echo | wc -l' | parallel -v
|
||||||
parallel -v ::: 'echo | wc -l';
|
parallel -v ::: 'echo | wc -l'
|
||||||
echo 'echo a b c | wc -w' | parallel -v;
|
echo 'echo a b c | wc -w' | parallel -v
|
||||||
parallel -kv ::: 'echo a b c | wc -w' 'echo a b | wc -w'
|
parallel -kv ::: 'echo a b c | wc -w' 'echo a b | wc -w'
|
||||||
|
|
||||||
echo '### Test bug #35820: sem breaks if $HOME is not writable'
|
echo '### Test bug #35820: sem breaks if $HOME is not writable'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# -L1 will join lines ending in ' '
|
# -L1 will join lines ending in ' '
|
||||||
cat <<'EOF' | parallel -vj10 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### bug #38354: -J profile_name should read from `pwd`/profile_name before ~/.parallel/profile_name'
|
echo '### bug #38354: -J profile_name should read from `pwd`/profile_name before ~/.parallel/profile_name'
|
||||||
echo "echo echo from ./local_test_profile" > local_test_profile;
|
echo "echo echo from ./local_test_profile" > local_test_profile;
|
||||||
parallel --profile local_test_profile echo ::: 1;
|
parallel --profile local_test_profile echo ::: 1;
|
||||||
|
@ -56,9 +56,9 @@ echo "### Computing length of command line"
|
||||||
parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d'
|
parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d'
|
||||||
parallel -k -C %+ echo {4} ::: 'a% c %%b'
|
parallel -k -C %+ echo {4} ::: 'a% c %%b'
|
||||||
|
|
||||||
echo "### test08";
|
echo "### test08"
|
||||||
cd input-files/test08;
|
cd input-files/test08;
|
||||||
ls | parallel -q perl -ne '/_PRE (\d+)/ and $p=$1; /hatchname> (\d+)/ and $1!=$p and print $ARGV,"\n"' | sort;
|
ls | parallel -q perl -ne '/_PRE (\d+)/ and $p=$1; /hatchname> (\d+)/ and $1!=$p and print $ARGV,"\n"' | sort
|
||||||
|
|
||||||
seq 1 10 | parallel -j 1 echo | sort
|
seq 1 10 | parallel -j 1 echo | sort
|
||||||
seq 1 10 | parallel -j 2 echo | sort
|
seq 1 10 | parallel -j 2 echo | sort
|
||||||
|
|
|
@ -15,7 +15,7 @@ forceload () {
|
||||||
# Force load avg > number of cpu cores
|
# Force load avg > number of cpu cores
|
||||||
forceload $(parallel --number-of-cores)
|
forceload $(parallel --number-of-cores)
|
||||||
|
|
||||||
cat <<'EOF' | parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo "bug #38441: CPU usage goes to 100% if load is higher than --load at first job"
|
echo "bug #38441: CPU usage goes to 100% if load is higher than --load at first job"
|
||||||
/usr/bin/time -f %e parallel --load 100% true ::: a 2>&1 |
|
/usr/bin/time -f %e parallel --load 100% true ::: a 2>&1 |
|
||||||
perl -ne '$_ > 1 and print "More than 1 secs wall clock: OK\n"'
|
perl -ne '$_ > 1 and print "More than 1 secs wall clock: OK\n"'
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test of xargs -m command lines > 130k';
|
echo '### Test of xargs -m command lines > 130k';
|
||||||
seq 1 60000 | parallel -m -j1 echo a{}b{}c | tee >(wc >/tmp/awc$$) >(sort | md5sum) >/tmp/a$$;
|
seq 1 60000 | parallel -m -j1 echo a{}b{}c | tee >(wc >/tmp/awc$$) >(sort | md5sum) >/tmp/a$$;
|
||||||
wait;
|
wait;
|
||||||
|
|
|
@ -6,7 +6,7 @@ cp -a input-files/testdir2 tmp
|
||||||
NICEPAR="nice nice parallel"
|
NICEPAR="nice nice parallel"
|
||||||
export NICEPAR
|
export NICEPAR
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### bug #42329: --line-buffer gives wrong output';
|
echo '### bug #42329: --line-buffer gives wrong output';
|
||||||
$NICEPAR --line-buffer --tag seq ::: 10000000 | wc -c;
|
$NICEPAR --line-buffer --tag seq ::: 10000000 | wc -c;
|
||||||
$NICEPAR --line-buffer seq ::: 10000000 | wc -c
|
$NICEPAR --line-buffer seq ::: 10000000 | wc -c
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat <<'EOF' | parallel -vj0 -vk
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### bug #36595: silent loss of input with --pipe and --sshlogin'
|
echo '### bug #36595: silent loss of input with --pipe and --sshlogin'
|
||||||
seq 10000 | xargs | parallel --pipe -S 10/localhost cat | wc
|
seq 10000 | xargs | parallel --pipe -S 10/localhost cat | wc
|
||||||
|
|
||||||
|
@ -32,12 +32,12 @@ echo '### How do we deal with missing $SHELL'
|
||||||
unset SHELL; stdout perl -w $(which parallel) -k echo ::: 1 2 3
|
unset SHELL; stdout perl -w $(which parallel) -k echo ::: 1 2 3
|
||||||
|
|
||||||
echo '### Test if length is computed correctly - first should give one line, second 2 lines each'
|
echo '### Test if length is computed correctly - first should give one line, second 2 lines each'
|
||||||
seq 4 | parallel -s 29 -X -kj1 echo a{}b{}c
|
seq 4 | parallel -s 29 -X -kj1 echo a{}b{}c
|
||||||
seq 4 | parallel -s 28 -X -kj1 echo a{}b{}c
|
seq 4 | parallel -s 28 -X -kj1 echo a{}b{}c
|
||||||
seq 4 | parallel -s 21 -X -kj1 echo {} {}
|
seq 4 | parallel -s 21 -X -kj1 echo {} {}
|
||||||
seq 4 | parallel -s 20 -X -kj1 echo {} {}
|
seq 4 | parallel -s 20 -X -kj1 echo {} {}
|
||||||
seq 4 | parallel -s 23 -m -kj1 echo a{}b{}c
|
seq 4 | parallel -s 23 -m -kj1 echo a{}b{}c
|
||||||
seq 4 | parallel -s 22 -m -kj1 echo a{}b{}c
|
seq 4 | parallel -s 22 -m -kj1 echo a{}b{}c
|
||||||
seq 4 | parallel -s 21 -m -kj1 echo {} {}
|
seq 4 | parallel -s 21 -m -kj1 echo {} {}
|
||||||
seq 4 | parallel -s 20 -m -kj1 echo {} {}
|
seq 4 | parallel -s 20 -m -kj1 echo {} {}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ echo '### Test --pipe'
|
||||||
seq 1 1000000 >/tmp/parallel-seq
|
seq 1 1000000 >/tmp/parallel-seq
|
||||||
shuf --random-source=/tmp/parallel-seq /tmp/parallel-seq >/tmp/blocktest
|
shuf --random-source=/tmp/parallel-seq /tmp/parallel-seq >/tmp/blocktest
|
||||||
|
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj2 -k -L1
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj2 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test 200M records with too small block';
|
echo '### Test 200M records with too small block';
|
||||||
(
|
(
|
||||||
echo start;
|
echo start;
|
||||||
|
|
|
@ -7,7 +7,7 @@ export XAP
|
||||||
NICEPAR="nice nice parallel"
|
NICEPAR="nice nice parallel"
|
||||||
export NICEPAR
|
export NICEPAR
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo 'bug #41613: --compress --line-buffer no newline';
|
echo 'bug #41613: --compress --line-buffer no newline';
|
||||||
perl -e 'print "It worked"'| $NICEPAR --pipe --compress --line-buffer cat; echo
|
perl -e 'print "It worked"'| $NICEPAR --pipe --compress --line-buffer cat; echo
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -v -k --joblog /tmp/jl-`basename $0` -L1
|
# -L1 will join lines ending in ' '
|
||||||
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test mutex. This should not mix output';
|
echo '### Test mutex. This should not mix output';
|
||||||
parallel --semaphore --id mutex -u seq 1 10 '|' pv -qL 20;
|
parallel --semaphore --id mutex -u seq 1 10 '|' pv -qL 20;
|
||||||
parallel --semaphore --id mutex -u seq 11 20 '|' pv -qL 100;
|
parallel --semaphore --id mutex -u seq 11 20 '|' pv -qL 100;
|
||||||
|
|
|
@ -132,7 +132,7 @@ echo /tmp/parallel_f1 /tmp/parallel_f2 | stdout parallel -kv --delimiter ' ' gzi
|
||||||
rm /tmp/parallel_f*
|
rm /tmp/parallel_f*
|
||||||
|
|
||||||
|
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -j10 -k -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj10 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test -i and --replace: Replace with argument'
|
echo '### Test -i and --replace: Replace with argument'
|
||||||
(echo a; echo END; echo b) | parallel -k -i -eEND echo repl{}ce
|
(echo a; echo END; echo b) | parallel -k -i -eEND echo repl{}ce
|
||||||
(echo a; echo END; echo b) | parallel -k --replace -eEND echo repl{}ce
|
(echo a; echo END; echo b) | parallel -k --replace -eEND echo repl{}ce
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat <<'EOF' | parallel -vj0 -k
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj10 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test of --eta'
|
echo '### Test of --eta'
|
||||||
seq 1 10 | stdout parallel --eta "sleep 1; echo {}" | wc -l
|
seq 1 10 | stdout parallel --eta "sleep 1; echo {}" | wc -l
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ SERVER1=parallel-server3
|
||||||
SERVER2=parallel-server1
|
SERVER2=parallel-server1
|
||||||
|
|
||||||
# -L1 will join lines ending in ' '
|
# -L1 will join lines ending in ' '
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj10 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo "### BUG: The length for -X is not close to max (131072)";
|
echo "### BUG: The length for -X is not close to max (131072)";
|
||||||
seq 1 60000 | nice parallel -X echo {.} aa {}{.} {}{}d{} {}dd{}d{.} |head -n 1 |wc
|
seq 1 60000 | nice parallel -X echo {.} aa {}{.} {}{}d{} {}dd{}d{.} |head -n 1 |wc
|
||||||
seq 1 60000 | nice parallel -X echo a{}b{}c |head -n 1 |wc
|
seq 1 60000 | nice parallel -X echo a{}b{}c |head -n 1 |wc
|
||||||
|
|
|
@ -6,7 +6,7 @@ SSHLOGIN1=parallel@$SERVER1
|
||||||
SSHLOGIN2=parallel@$SERVER2
|
SSHLOGIN2=parallel@$SERVER2
|
||||||
|
|
||||||
# -L1 will join lines ending in ' '
|
# -L1 will join lines ending in ' '
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/\;s/\$SSHLOGIN1/$SSHLOGIN1/\;s/\$SSHLOGIN2/$SSHLOGIN2/ | parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/\;s/\$SSHLOGIN1/$SSHLOGIN1/\;s/\$SSHLOGIN2/$SSHLOGIN2/ | parallel -vj10 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test --onall';
|
echo '### Test --onall';
|
||||||
parallel --onall -S $SSHLOGIN1,$SSHLOGIN2 '(echo {1} {2}) | awk \{print\ \$2}' ::: a b c ::: 1 2
|
parallel --onall -S $SSHLOGIN1,$SSHLOGIN2 '(echo {1} {2}) | awk \{print\ \$2}' ::: a b c ::: 1 2
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
SERVER1=parallel-server3
|
SERVER1=parallel-server3
|
||||||
SERVER2=parallel-server2
|
SERVER2=parallel-server2
|
||||||
|
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj0 -k -L1
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj10 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo '### Test --return of weirdly named file'
|
echo '### Test --return of weirdly named file'
|
||||||
stdout parallel --return {} -vv -S parallel\@$SERVER1 echo '>'{} ::: 'aa<${#}" b' |
|
stdout parallel --return {} -vv -S parallel\@$SERVER1 echo '>'{} ::: 'aa<${#}" b' |
|
||||||
perl -pe 's/\S*parallel-server\S*/one-server/;s/[a-f0-9]{500,}/hex/;s/\d{5,8}/pId/g;'; rm 'aa<${#}" b'
|
perl -pe 's/\S*parallel-server\S*/one-server/;s/[a-f0-9]{500,}/hex/;s/\d{5,8}/pId/g;'; rm 'aa<${#}" b'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# -L1 will join lines ending in ' '
|
# -L1 will join lines ending in ' '
|
||||||
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj10 -k -L1
|
cat <<'EOF' | sed -e s/\$SERVER1/$SERVER1/\;s/\$SERVER2/$SERVER2/ | parallel -vj10 -k --joblog /tmp/jl-`basename $0` -L1
|
||||||
echo "### Test memory consumption stays (almost) the same for 30 and 300 jobs"
|
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"}') );
|
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"}') );
|
out300=$( stdout memusg parallel -j2 true :::: <(perl -e '$a="x"x100000;for(1..300){print $a,"\n"}') );
|
||||||
|
|
|
@ -15,9 +15,8 @@ echo 'Test --compress --pipe'
|
||||||
Test --compress --pipe
|
Test --compress --pipe
|
||||||
jot 1000 | parallel --compress --pipe cat | wc
|
jot 1000 | parallel --compress --pipe cat | wc
|
||||||
1000 1000 3893
|
1000 1000 3893
|
||||||
echo 'bug #41613: --compress --line-buffer no newline';
|
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
|
bug #41613: --compress --line-buffer no newline
|
||||||
perl -e 'print "It worked"'| parallel --pipe --compress --line-buffer cat; echo
|
|
||||||
It worked
|
It worked
|
||||||
echo 'bug #40135: FreeBSD: sem --fg does not finish under /bin/sh'
|
echo 'bug #40135: FreeBSD: sem --fg does not finish under /bin/sh'
|
||||||
bug #40135: FreeBSD: sem --fg does not finish under /bin/sh
|
bug #40135: FreeBSD: sem --fg does not finish under /bin/sh
|
||||||
|
|
|
@ -211,7 +211,7 @@ echo ac
|
||||||
ac
|
ac
|
||||||
echo '### Test bug #34241: --pipe should not spawn unneeded processes'
|
echo '### Test bug #34241: --pipe should not spawn unneeded processes'
|
||||||
### Test bug #34241: --pipe should not spawn unneeded processes
|
### Test bug #34241: --pipe should not spawn unneeded processes
|
||||||
seq 3 | parallel -j30 --pipe --block-size 10 cat\;echo o
|
seq 3 | parallel -j30 --pipe --block-size 10 cat\;echo o
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
3
|
3
|
||||||
|
@ -369,12 +369,9 @@ echo '### Test --seqreplace and line too long'
|
||||||
1 parallel: Error: Command line too long (309 >= 210) at number 0: 100...
|
1 parallel: Error: Command line too long (309 >= 210) at number 0: 100...
|
||||||
echo '### bug #37042: -J foo is taken from the whole command line - not just the part before the command'
|
echo '### bug #37042: -J foo is taken from the whole command line - not just the part before the command'
|
||||||
### bug #37042: -J foo is taken from the whole command line - not just the part before the command
|
### 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;
|
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
|
||||||
parallel -J bug_37042_profile echo ::: tag_with_foo;
|
|
||||||
foo tag_with_foo
|
foo tag_with_foo
|
||||||
parallel --tagstring a -J bug_37042_profile echo ::: tag_with_a;
|
|
||||||
a tag_with_a
|
a tag_with_a
|
||||||
parallel --tagstring a echo -J bug_37042_profile ::: print_-J_bug_37042_profile;
|
|
||||||
a -J bug_37042_profile print_-J_bug_37042_profile
|
a -J bug_37042_profile print_-J_bug_37042_profile
|
||||||
echo '### Bug introduce by fixing bug #37042'
|
echo '### Bug introduce by fixing bug #37042'
|
||||||
### Bug introduce by fixing bug #37042
|
### Bug introduce by fixing bug #37042
|
||||||
|
|
|
@ -33,15 +33,17 @@ echo '### Bug in --load'; nice parallel -k --load 30 sleep 0.1\;echo ::: 1 2 3
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
3
|
3
|
||||||
echo '### Test --timeout'; nice parallel -j0 -k --timeout 1 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
|
echo '### Test --timeout'
|
||||||
### Test --timeout
|
### Test --timeout
|
||||||
|
nice parallel -j0 -k --timeout 1 echo {}\; sleep {}\; echo {} ::: 1.1 7.7 8.8 9.9
|
||||||
1.1
|
1.1
|
||||||
1.1
|
1.1
|
||||||
7.7
|
7.7
|
||||||
8.8
|
8.8
|
||||||
9.9
|
9.9
|
||||||
echo '### Test retired'; stdout parallel -B foo; stdout parallel -g; stdout parallel -H 1; stdout parallel -T; stdout parallel -U foo; stdout parallel -W foo; stdout parallel -Y;
|
echo '### Test retired'
|
||||||
### Test retired
|
### Test retired
|
||||||
|
stdout parallel -B foo
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
parallel: Error: -T has been retired. Use --tty.
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
@ -50,6 +52,7 @@ parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
|
stdout parallel -g
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
parallel: Error: -T has been retired. Use --tty.
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
@ -58,6 +61,7 @@ parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
|
stdout parallel -H 1
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
parallel: Error: -T has been retired. Use --tty.
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
@ -66,6 +70,7 @@ parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
|
stdout parallel -T
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
parallel: Error: -T has been retired. Use --tty.
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
@ -74,6 +79,7 @@ parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
|
stdout parallel -U foo
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
parallel: Error: -T has been retired. Use --tty.
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
@ -82,6 +88,7 @@ parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
|
stdout parallel -W foo
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
parallel: Error: -T has been retired. Use --tty.
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
@ -90,6 +97,7 @@ parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
|
stdout parallel -Y
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
parallel: Error: -T has been retired. Use --tty.
|
parallel: Error: -T has been retired. Use --tty.
|
||||||
|
@ -100,22 +108,24 @@ parallel: Error: -H has been retired. Use --halt.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
echo '### Test --joblog followed by --resume --joblog'
|
echo '### Test --joblog followed by --resume --joblog'
|
||||||
### Test --joblog followed by --resume --joblog
|
### Test --joblog followed by --resume --joblog
|
||||||
rm -f /tmp/joblog; timeout -k 1 1 parallel -j2 --joblog /tmp/joblog sleep {} ::: 1.1 2.2 3.3 4.4 2>/dev/null; parallel -j2 --resume --joblog /tmp/joblog sleep {} ::: 1.1 2.2 3.3 4.4; cat /tmp/joblog | wc -lw; rm -f /tmp/joblog;
|
rm -f /tmp/joblog; timeout -k 1 1 parallel -j2 --joblog /tmp/joblog sleep {} ::: 1.1 2.2 3.3 4.4 2>/dev/null; parallel -j2 --resume --joblog /tmp/joblog sleep {} ::: 1.1 2.2 3.3 4.4; cat /tmp/joblog | wc -lw; rm -f /tmp/joblog; echo '### Test --resume --joblog followed by --resume --joblog'; rm -f /tmp/joblog2; timeout -k 1 1 parallel -j2 --resume --joblog /tmp/joblog2 sleep {} ::: 1.1 2.2 3.3 4.4 2>/dev/null; parallel -j2 --resume --joblog /tmp/joblog2 sleep {} ::: 1.1 2.2 3.3 4.4; cat /tmp/joblog2 | wc -lw; rm -f /tmp/joblog2; echo '### Test --header'
|
||||||
5 49
|
5 49
|
||||||
echo '### Test --resume --joblog followed by --resume --joblog'; rm -f /tmp/joblog2; timeout -k 1 1 parallel -j2 --resume --joblog /tmp/joblog2 sleep {} ::: 1.1 2.2 3.3 4.4 2>/dev/null; parallel -j2 --resume --joblog /tmp/joblog2 sleep {} ::: 1.1 2.2 3.3 4.4; cat /tmp/joblog2 | wc -lw; rm -f /tmp/joblog2;
|
|
||||||
### Test --resume --joblog followed by --resume --joblog
|
### Test --resume --joblog followed by --resume --joblog
|
||||||
5 49
|
5 49
|
||||||
echo '### Test --header'; printf "a\tb\n1.2\t3/4.5" | parallel --colsep "\t" --header "\n" echo {b} {a} {b.} {b/} {b//} {b/.}; echo '### 64-bit wierdness - this did not complete on a 64-bit machine'; seq 1 2 | parallel -j1 'seq 1 1 | parallel true'
|
|
||||||
### Test --header
|
### Test --header
|
||||||
|
printf "a\tb\n1.2\t3/4.5" | parallel --colsep "\t" --header "\n" echo {b} {a} {b.} {b/} {b//} {b/.}
|
||||||
3/4.5 1.2 3/4 4.5 3 4
|
3/4.5 1.2 3/4 4.5 3 4
|
||||||
|
echo '### 64-bit wierdness - this did not complete on a 64-bit machine'; seq 1 2 | parallel -j1 'seq 1 1 | parallel true'
|
||||||
### 64-bit wierdness - this did not complete on a 64-bit machine
|
### 64-bit wierdness - this did not complete on a 64-bit machine
|
||||||
echo "### BUG-fix: bash -c 'parallel -a <(seq 1 3) echo'"; stdout bash -c 'parallel -k -a <(seq 1 3) echo'
|
echo "### BUG-fix: bash -c 'parallel -a <(seq 1 3) echo'"
|
||||||
### BUG-fix: bash -c 'parallel -a <(seq 1 3) echo'
|
### BUG-fix: bash -c 'parallel -a <(seq 1 3) echo'
|
||||||
|
stdout bash -c 'parallel -k -a <(seq 1 3) echo'
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
3
|
3
|
||||||
echo "### bug #35268: shell_quote doesn't treats [] brackets correctly"; touch /tmp/foo1; stdout parallel echo ::: '/tmp/foo[123]'
|
echo "### bug #35268: shell_quote doesn't treats [] brackets correctly"
|
||||||
### bug #35268: shell_quote doesn't treats [] brackets correctly
|
### bug #35268: shell_quote doesn't treats [] brackets correctly
|
||||||
|
touch /tmp/foo1; stdout parallel echo ::: '/tmp/foo[123]'
|
||||||
/tmp/foo[123]
|
/tmp/foo[123]
|
||||||
echo '### Test make .deb package'; cd ~/privat/parallel/packager/debian; stdout make | grep 'To install the GNU Parallel Debian package, run:'
|
echo '### Test make .deb package'; cd ~/privat/parallel/packager/debian; stdout make | grep 'To install the GNU Parallel Debian package, run:'
|
||||||
### Test make .deb package
|
### Test make .deb package
|
||||||
|
@ -125,30 +135,36 @@ echo '### Test of segfaulting issue'
|
||||||
echo 'This gave /home/tange/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1'; echo 'before adding wait() before exit'; seq 1 300 | stdout parallel ./trysegfault
|
echo 'This gave /home/tange/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1'; echo 'before adding wait() before exit'; seq 1 300 | stdout parallel ./trysegfault
|
||||||
This gave /home/tange/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1
|
This gave /home/tange/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1
|
||||||
before adding wait() before exit
|
before adding wait() before exit
|
||||||
echo '### Test basic --arg-sep'; parallel -k echo ::: a b
|
echo '### Test basic --arg-sep'
|
||||||
### Test basic --arg-sep
|
### Test basic --arg-sep
|
||||||
|
parallel -k echo ::: a b
|
||||||
a
|
a
|
||||||
b
|
b
|
||||||
echo '### Run commands using --arg-sep'; parallel -kv ::: 'echo a' 'echo b'
|
echo '### Run commands using --arg-sep'
|
||||||
### Run commands using --arg-sep
|
### Run commands using --arg-sep
|
||||||
|
parallel -kv ::: 'echo a' 'echo b'
|
||||||
echo a
|
echo a
|
||||||
a
|
a
|
||||||
echo b
|
echo b
|
||||||
b
|
b
|
||||||
echo '### Change --arg-sep'; parallel --arg-sep ::: -kv ::: 'echo a' 'echo b'; parallel --arg-sep .--- -kv .--- 'echo a' 'echo b'; parallel --argsep ::: -kv ::: 'echo a' 'echo b'; parallel --argsep .--- -kv .--- 'echo a' 'echo b'
|
echo '### Change --arg-sep'
|
||||||
### Change --arg-sep
|
### Change --arg-sep
|
||||||
|
parallel --arg-sep ::: -kv ::: 'echo a' 'echo b'
|
||||||
echo a
|
echo a
|
||||||
a
|
a
|
||||||
echo b
|
echo b
|
||||||
b
|
b
|
||||||
|
parallel --arg-sep .--- -kv .--- 'echo a' 'echo b'
|
||||||
echo a
|
echo a
|
||||||
a
|
a
|
||||||
echo b
|
echo b
|
||||||
b
|
b
|
||||||
|
parallel --argsep ::: -kv ::: 'echo a' 'echo b'
|
||||||
echo a
|
echo a
|
||||||
a
|
a
|
||||||
echo b
|
echo b
|
||||||
b
|
b
|
||||||
|
parallel --argsep .--- -kv .--- 'echo a' 'echo b'
|
||||||
echo a
|
echo a
|
||||||
a
|
a
|
||||||
echo b
|
echo b
|
||||||
|
@ -165,35 +181,44 @@ cat
|
||||||
via cat
|
via cat
|
||||||
echo b
|
echo b
|
||||||
b
|
b
|
||||||
echo '### Bug made 4 5 go before 1 2 3'; parallel -k ::: "sleep 1; echo 1" "echo 2" "echo 3" "echo 4" "echo 5"
|
echo '### Bug made 4 5 go before 1 2 3'
|
||||||
### Bug made 4 5 go before 1 2 3
|
### Bug made 4 5 go before 1 2 3
|
||||||
|
parallel -k ::: "sleep 1; echo 1" "echo 2" "echo 3" "echo 4" "echo 5"
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
3
|
3
|
||||||
4
|
4
|
||||||
5
|
5
|
||||||
echo '### Bug made 3 go before 1 2'; parallel -kj 1 ::: "sleep 1; echo 1" "echo 2" "echo 3"
|
echo '### Bug made 3 go before 1 2'
|
||||||
### Bug made 3 go before 1 2
|
### Bug made 3 go before 1 2
|
||||||
|
parallel -kj 1 ::: "sleep 1; echo 1" "echo 2" "echo 3"
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
3
|
3
|
||||||
echo '### Bug did not quote'; echo '>' | parallel -v echo; parallel -v echo ::: '>'; (echo '>'; echo 2) | parallel -j1 -vX echo; parallel -X -j1 echo ::: '>' 2
|
echo '### Bug did not quote'
|
||||||
### Bug did not quote
|
### Bug did not quote
|
||||||
|
echo '>' | parallel -v echo
|
||||||
echo \>
|
echo \>
|
||||||
>
|
>
|
||||||
|
parallel -v echo ::: '>'
|
||||||
echo \>
|
echo \>
|
||||||
>
|
>
|
||||||
|
(echo '>'; echo 2) | parallel -j1 -vX echo
|
||||||
echo \> 2
|
echo \> 2
|
||||||
> 2
|
> 2
|
||||||
|
parallel -X -j1 echo ::: '>' 2
|
||||||
> 2
|
> 2
|
||||||
echo '### Must not quote'; echo 'echo | wc -l' | parallel -v; parallel -v ::: 'echo | wc -l'; echo 'echo a b c | wc -w' | parallel -v; parallel -kv ::: 'echo a b c | wc -w' 'echo a b | wc -w'
|
echo '### Must not quote'; echo 'echo | wc -l' | parallel -v
|
||||||
### Must not quote
|
### Must not quote
|
||||||
echo | wc -l
|
echo | wc -l
|
||||||
1
|
1
|
||||||
|
parallel -v ::: 'echo | wc -l'
|
||||||
echo | wc -l
|
echo | wc -l
|
||||||
1
|
1
|
||||||
|
echo 'echo a b c | wc -w' | parallel -v
|
||||||
echo a b c | wc -w
|
echo a b c | wc -w
|
||||||
3
|
3
|
||||||
|
parallel -kv ::: 'echo a b c | wc -w' 'echo a b | wc -w'
|
||||||
echo a b c | wc -w
|
echo a b c | wc -w
|
||||||
3
|
3
|
||||||
echo a b | wc -w
|
echo a b | wc -w
|
||||||
|
|
|
@ -70,8 +70,9 @@ a_b_c_
|
||||||
a_b_c_d
|
a_b_c_d
|
||||||
parallel -k -C %+ echo {4} ::: 'a% c %%b'
|
parallel -k -C %+ echo {4} ::: 'a% c %%b'
|
||||||
|
|
||||||
echo "### test08"; cd input-files/test08; ls | parallel -q perl -ne '/_PRE (\d+)/ and $p=$1; /hatchname> (\d+)/ and $1!=$p and print $ARGV,"\n"' | sort;
|
echo "### test08"
|
||||||
### test08
|
### test08
|
||||||
|
cd input-files/test08; ls | parallel -q perl -ne '/_PRE (\d+)/ and $p=$1; /hatchname> (\d+)/ and $1!=$p and print $ARGV,"\n"' | sort
|
||||||
b
|
b
|
||||||
d
|
d
|
||||||
seq 1 10 | parallel -j 1 echo | sort
|
seq 1 10 | parallel -j 1 echo | sort
|
||||||
|
@ -342,6 +343,8 @@ bug #38439: "open files" with --files --pipe blocks after a while
|
||||||
18 of 20
|
18 of 20
|
||||||
19 of 20
|
19 of 20
|
||||||
20 of 20
|
20 of 20
|
||||||
|
parallel: Warning: Only enough file handles to run 1 jobs in parallel.
|
||||||
|
Running 'parallel -j0 -N1 --pipe parallel -j0' or raising ulimit -n or /etc/security/limits.conf may help.
|
||||||
echo 'bug #34241: --pipe should not spawn unneeded processes - part 2'
|
echo 'bug #34241: --pipe should not spawn unneeded processes - part 2'
|
||||||
bug #34241: --pipe should not spawn unneeded processes - part 2
|
bug #34241: --pipe should not spawn unneeded processes - part 2
|
||||||
seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null; ls *.par | wc -l; rm *.par; seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files --dry-run wc >/dev/null; echo No .par should exist; stdout ls *.par
|
seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null; ls *.par | wc -l; rm *.par; seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files --dry-run wc >/dev/null; echo No .par should exist; stdout ls *.par
|
||||||
|
|
|
@ -2,6 +2,9 @@ echo '### bug #36595: silent loss of input with --pipe and --sshlogin'
|
||||||
### bug #36595: silent loss of input with --pipe and --sshlogin
|
### bug #36595: silent loss of input with --pipe and --sshlogin
|
||||||
seq 10000 | xargs | parallel --pipe -S 10/localhost cat | wc
|
seq 10000 | xargs | parallel --pipe -S 10/localhost cat | wc
|
||||||
1 10000 48894
|
1 10000 48894
|
||||||
|
parallel: Warning: ssh to localhost only allows for 9 simultaneous logins.
|
||||||
|
You may raise this by changing /etc/ssh/sshd_config:MaxStartups and MaxSessions on localhost.
|
||||||
|
Using only 8 connections to avoid race conditions.
|
||||||
echo 'bug #36707: --controlmaster eats jobs'
|
echo 'bug #36707: --controlmaster eats jobs'
|
||||||
bug #36707: --controlmaster eats jobs
|
bug #36707: --controlmaster eats jobs
|
||||||
seq 2 | parallel -k --controlmaster --sshlogin localhost echo OK{}
|
seq 2 | parallel -k --controlmaster --sshlogin localhost echo OK{}
|
||||||
|
@ -113,7 +116,7 @@ echo '### How do we deal with missing $SHELL'
|
||||||
3
|
3
|
||||||
echo '### Test if length is computed correctly - first should give one line, second 2 lines each'
|
echo '### Test if length is computed correctly - first should give one line, second 2 lines each'
|
||||||
### Test if length is computed correctly - first should give one line, second 2 lines each
|
### Test if length is computed correctly - first should give one line, second 2 lines each
|
||||||
seq 4 | parallel -s 29 -X -kj1 echo a{}b{}c
|
seq 4 | parallel -s 29 -X -kj1 echo a{}b{}c
|
||||||
a1b1c a2b2c a3b3c a4b4c
|
a1b1c a2b2c a3b3c a4b4c
|
||||||
seq 4 | parallel -s 28 -X -kj1 echo a{}b{}c
|
seq 4 | parallel -s 28 -X -kj1 echo a{}b{}c
|
||||||
a1b1c a2b2c a3b3c
|
a1b1c a2b2c a3b3c
|
||||||
|
@ -123,9 +126,9 @@ a4b4c
|
||||||
seq 4 | parallel -s 20 -X -kj1 echo {} {}
|
seq 4 | parallel -s 20 -X -kj1 echo {} {}
|
||||||
1 2 3 1 2 3
|
1 2 3 1 2 3
|
||||||
4 4
|
4 4
|
||||||
seq 4 | parallel -s 23 -m -kj1 echo a{}b{}c
|
seq 4 | parallel -s 23 -m -kj1 echo a{}b{}c
|
||||||
a1 2 3 4b1 2 3 4c
|
a1 2 3 4b1 2 3 4c
|
||||||
seq 4 | parallel -s 22 -m -kj1 echo a{}b{}c
|
seq 4 | parallel -s 22 -m -kj1 echo a{}b{}c
|
||||||
a1 2 3b1 2 3c
|
a1 2 3b1 2 3c
|
||||||
a4b4c
|
a4b4c
|
||||||
seq 4 | parallel -s 21 -m -kj1 echo {} {}
|
seq 4 | parallel -s 21 -m -kj1 echo {} {}
|
||||||
|
|
|
@ -297,56 +297,89 @@ via pseudotty
|
||||||
gzip /tmp/parallel_f1
|
gzip /tmp/parallel_f1
|
||||||
gzip /tmp/parallel_f2'
|
gzip /tmp/parallel_f2'
|
||||||
'
|
'
|
||||||
|
echo '### Test -i and --replace: Replace with argument'
|
||||||
### Test -i and --replace: Replace with argument
|
### Test -i and --replace: Replace with argument
|
||||||
|
(echo a; echo END; echo b) | parallel -k -i -eEND echo repl{}ce
|
||||||
replace
|
replace
|
||||||
|
(echo a; echo END; echo b) | parallel -k --replace -eEND echo repl{}ce
|
||||||
replace
|
replace
|
||||||
|
(echo a; echo END; echo b) | parallel -k -i+ -eEND echo repl+ce
|
||||||
replace
|
replace
|
||||||
|
(echo e; echo END; echo b) | parallel -k -i'*' -eEND echo r'*'plac'*'
|
||||||
replace
|
replace
|
||||||
|
(echo a; echo END; echo b) | parallel -k --replace + -eEND echo repl+ce
|
||||||
replace
|
replace
|
||||||
|
(echo a; echo END; echo b) | parallel -k --replace== -eEND echo repl=ce
|
||||||
replace
|
replace
|
||||||
|
(echo a; echo END; echo b) | parallel -k --replace = -eEND echo repl=ce
|
||||||
replace
|
replace
|
||||||
|
(echo a; echo END; echo b) | parallel -k --replace=^ -eEND echo repl^ce
|
||||||
replace
|
replace
|
||||||
|
(echo a; echo END; echo b) | parallel -k -I^ -eEND echo repl^ce
|
||||||
replace
|
replace
|
||||||
|
echo '### Test -E: Artificial end-of-file'
|
||||||
### Test -E: Artificial end-of-file
|
### Test -E: Artificial end-of-file
|
||||||
|
(echo include this; echo END; echo not this) | parallel -k -E END echo
|
||||||
include this
|
include this
|
||||||
|
(echo include this; echo END; echo not this) | parallel -k -EEND echo
|
||||||
include this
|
include this
|
||||||
|
echo '### Test -e and --eof: Artificial end-of-file'
|
||||||
### Test -e and --eof: Artificial end-of-file
|
### Test -e and --eof: Artificial end-of-file
|
||||||
|
(echo include this; echo END; echo not this) | parallel -k -e END echo
|
||||||
include this
|
include this
|
||||||
|
(echo include this; echo END; echo not this) | parallel -k -eEND echo
|
||||||
include this
|
include this
|
||||||
|
(echo include this; echo END; echo not this) | parallel -k --eof=END echo
|
||||||
include this
|
include this
|
||||||
|
(echo include this; echo END; echo not this) | parallel -k --eof END echo
|
||||||
include this
|
include this
|
||||||
|
echo '### Test -n and --max-args: Max number of args per line (only with -X and -m)'
|
||||||
### Test -n and --max-args: Max number of args per line (only with -X and -m)
|
### Test -n and --max-args: Max number of args per line (only with -X and -m)
|
||||||
|
(echo line 1;echo line 2;echo line 3) | parallel -k -n1 -m echo
|
||||||
line 1
|
line 1
|
||||||
line 2
|
line 2
|
||||||
line 3
|
line 3
|
||||||
|
(echo line 1;echo line 1;echo line 2) | parallel -k -n2 -m echo
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
|
(echo line 1;echo line 2;echo line 3) | parallel -k -n1 -X echo
|
||||||
line 1
|
line 1
|
||||||
line 2
|
line 2
|
||||||
line 3
|
line 3
|
||||||
|
(echo line 1;echo line 1;echo line 2) | parallel -k -n2 -X echo
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
|
(echo line 1;echo line 2;echo line 3) | parallel -k -n1 echo
|
||||||
line 1
|
line 1
|
||||||
line 2
|
line 2
|
||||||
line 3
|
line 3
|
||||||
|
(echo line 1;echo line 1;echo line 2) | parallel -k -n2 echo
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
|
(echo line 1;echo line 2;echo line 3) | parallel -k --max-args=1 -X echo
|
||||||
line 1
|
line 1
|
||||||
line 2
|
line 2
|
||||||
line 3
|
line 3
|
||||||
|
(echo line 1;echo line 2;echo line 3) | parallel -k --max-args 1 -X echo
|
||||||
line 1
|
line 1
|
||||||
line 2
|
line 2
|
||||||
line 3
|
line 3
|
||||||
|
(echo line 1;echo line 1;echo line 2) | parallel -k --max-args=2 -X echo
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
|
(echo line 1;echo line 1;echo line 2) | parallel -k --max-args 2 -X echo
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
|
(echo line 1;echo line 2;echo line 3) | parallel -k --max-args 1 echo
|
||||||
line 1
|
line 1
|
||||||
line 2
|
line 2
|
||||||
line 3
|
line 3
|
||||||
|
(echo line 1;echo line 1;echo line 2) | parallel -k --max-args 2 echo
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
|
echo '### Test --max-procs and -P: Number of processes'
|
||||||
### Test --max-procs and -P: Number of processes
|
### Test --max-procs and -P: Number of processes
|
||||||
|
seq 1 10 | parallel -k --max-procs +0 echo max proc
|
||||||
max proc 1
|
max proc 1
|
||||||
max proc 2
|
max proc 2
|
||||||
max proc 3
|
max proc 3
|
||||||
|
@ -357,6 +390,7 @@ max proc 7
|
||||||
max proc 8
|
max proc 8
|
||||||
max proc 9
|
max proc 9
|
||||||
max proc 10
|
max proc 10
|
||||||
|
seq 1 10 | parallel -k -P 200% echo 200% proc
|
||||||
200% proc 1
|
200% proc 1
|
||||||
200% proc 2
|
200% proc 2
|
||||||
200% proc 3
|
200% proc 3
|
||||||
|
@ -367,42 +401,65 @@ max proc 10
|
||||||
200% proc 8
|
200% proc 8
|
||||||
200% proc 9
|
200% proc 9
|
||||||
200% proc 10
|
200% proc 10
|
||||||
|
echo '### Test --delimiter and -d: Delimiter instead of newline'
|
||||||
### Test --delimiter and -d: Delimiter instead of newline
|
### Test --delimiter and -d: Delimiter instead of newline
|
||||||
|
echo '# Yes there is supposed to be an extra newline for -d N'
|
||||||
# Yes there is supposed to be an extra newline for -d N
|
# Yes there is supposed to be an extra newline for -d N
|
||||||
|
echo line 1Nline 2Nline 3 | parallel -k -d N echo This is
|
||||||
This is line 1
|
This is line 1
|
||||||
This is line 2
|
This is line 2
|
||||||
This is line 3
|
This is line 3
|
||||||
|
|
||||||
|
echo line 1Nline 2Nline 3 | parallel -k --delimiter N echo This is
|
||||||
This is line 1
|
This is line 1
|
||||||
This is line 2
|
This is line 2
|
||||||
This is line 3
|
This is line 3
|
||||||
|
|
||||||
|
printf "delimiter NUL line 1\0line 2\0line 3" | parallel -k -d '\0' echo
|
||||||
delimiter NUL line 1
|
delimiter NUL line 1
|
||||||
line 2
|
line 2
|
||||||
line 3
|
line 3
|
||||||
|
printf "delimiter TAB line 1\tline 2\tline 3" | parallel -k --delimiter '\t' echo
|
||||||
delimiter TAB line 1
|
delimiter TAB line 1
|
||||||
line 2
|
line 2
|
||||||
line 3
|
line 3
|
||||||
|
echo '### Test --max-chars and -s: Max number of chars in a line'
|
||||||
### Test --max-chars and -s: Max number of chars in a line
|
### Test --max-chars and -s: Max number of chars in a line
|
||||||
|
(echo line 1;echo line 1;echo line 2) | parallel -k --max-chars 25 -X echo
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
|
(echo line 1;echo line 1;echo line 2) | parallel -k -s 25 -X echo
|
||||||
line 1 line 1
|
line 1 line 1
|
||||||
line 2
|
line 2
|
||||||
|
echo '### Test --no-run-if-empty and -r: This should give no output'
|
||||||
### Test --no-run-if-empty and -r: This should give no output
|
### Test --no-run-if-empty and -r: This should give no output
|
||||||
|
echo " " | parallel -r echo
|
||||||
|
echo " " | parallel --no-run-if-empty echo
|
||||||
|
echo '### Test --help and -h: Help output (just check we get the same amount of lines)'
|
||||||
### Test --help and -h: Help output (just check we get the same amount of lines)
|
### Test --help and -h: Help output (just check we get the same amount of lines)
|
||||||
|
echo Output from -h and --help
|
||||||
Output from -h and --help
|
Output from -h and --help
|
||||||
|
parallel -h | wc -l
|
||||||
35
|
35
|
||||||
|
parallel --help | wc -l
|
||||||
35
|
35
|
||||||
|
echo '### Test --version: Version output (just check we get the same amount of lines)'
|
||||||
### Test --version: Version output (just check we get the same amount of lines)
|
### Test --version: Version output (just check we get the same amount of lines)
|
||||||
|
parallel --version | wc -l
|
||||||
11
|
11
|
||||||
|
echo '### Test --verbose and -t'
|
||||||
### Test --verbose and -t
|
### Test --verbose and -t
|
||||||
|
(echo b; echo c; echo f) | parallel -k -t echo {}ar 2>&1 >/dev/null
|
||||||
echo bar
|
echo bar
|
||||||
echo car
|
echo car
|
||||||
echo far
|
echo far
|
||||||
|
(echo b; echo c; echo f) | parallel -k --verbose echo {}ar 2>&1 >/dev/null
|
||||||
echo bar
|
echo bar
|
||||||
echo car
|
echo car
|
||||||
echo far
|
echo far
|
||||||
|
echo '### Test --show-limits'
|
||||||
### Test --show-limits
|
### Test --show-limits
|
||||||
|
(echo b; echo c; echo f) | parallel -k --show-limits echo {}ar
|
||||||
Maximal size of command: 131071
|
Maximal size of command: 131071
|
||||||
Maximal used size of command: 131071
|
Maximal used size of command: 131071
|
||||||
|
|
||||||
|
@ -412,6 +469,7 @@ press CTRL-D or CTRL-C
|
||||||
bar
|
bar
|
||||||
car
|
car
|
||||||
far
|
far
|
||||||
|
(echo b; echo c; echo f) | parallel -j1 -kX --show-limits -s 100 echo {}ar
|
||||||
Maximal size of command: 131071
|
Maximal size of command: 131071
|
||||||
Maximal used size of command: 100
|
Maximal used size of command: 100
|
||||||
|
|
||||||
|
@ -419,9 +477,13 @@ Execution of will continue now, and it will try to read its input
|
||||||
and run commands; if this is not what you wanted to happen, please
|
and run commands; if this is not what you wanted to happen, please
|
||||||
press CTRL-D or CTRL-C
|
press CTRL-D or CTRL-C
|
||||||
bar car far
|
bar car far
|
||||||
|
echo '### Test empty line as input'
|
||||||
### Test empty line as input
|
### Test empty line as input
|
||||||
|
echo | parallel echo empty input line
|
||||||
empty input line
|
empty input line
|
||||||
|
echo '### Tests if (cat | sh) works'
|
||||||
### Tests if (cat | sh) works
|
### Tests if (cat | sh) works
|
||||||
|
perl -e 'for(1..25) {print "echo a $_; echo b $_\n"}' | parallel 2>&1 | sort
|
||||||
a 1
|
a 1
|
||||||
a 10
|
a 10
|
||||||
a 11
|
a 11
|
||||||
|
@ -472,7 +534,9 @@ b 6
|
||||||
b 7
|
b 7
|
||||||
b 8
|
b 8
|
||||||
b 9
|
b 9
|
||||||
|
echo '### Test if xargs-mode works'
|
||||||
### Test if xargs-mode works
|
### Test if xargs-mode works
|
||||||
|
perl -e 'for(1..25) {print "a $_\nb $_\n"}' | parallel echo 2>&1 | sort
|
||||||
a 1
|
a 1
|
||||||
a 10
|
a 10
|
||||||
a 11
|
a 11
|
||||||
|
@ -523,17 +587,25 @@ b 6
|
||||||
b 7
|
b 7
|
||||||
b 8
|
b 8
|
||||||
b 9
|
b 9
|
||||||
|
echo '### Test -q'
|
||||||
### Test -q
|
### Test -q
|
||||||
|
parallel -kq perl -e '$ARGV[0]=~/^\S+\s+\S+$/ and print $ARGV[0],"\n"' ::: "a b" c "d e f" g "h i"
|
||||||
a b
|
a b
|
||||||
h i
|
h i
|
||||||
|
echo '### Test -q {#}'
|
||||||
### Test -q {#}
|
### Test -q {#}
|
||||||
|
parallel -kq echo {#} ::: a b
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
parallel -kq echo {\#} ::: a b
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
parallel -kq echo {\\#} ::: a b
|
||||||
{\#} a
|
{\#} a
|
||||||
{\#} b
|
{\#} b
|
||||||
|
echo '### Test long commands do not take up all memory'
|
||||||
### Test long commands do not take up all memory
|
### Test long commands do not take up all memory
|
||||||
|
seq 1 100 | parallel -j0 -qv perl -e '$r=rand(shift);for($f=0;$f<$r;$f++){$a="a"x100};print shift,"\n"' 10000 2>/dev/null | sort
|
||||||
1
|
1
|
||||||
10
|
10
|
||||||
100
|
100
|
||||||
|
@ -734,29 +806,45 @@ perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print
|
||||||
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 97
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 97
|
||||||
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 98
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 98
|
||||||
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 99
|
perl -e \$r=rand\(shift\)\;for\(\$f=0\;\$f\<\$r\;\$f++\)\{\$a=\"a\"x100\}\;print\ shift,\"\\n\" 10000 99
|
||||||
|
echo '### Test 0-arguments'
|
||||||
### Test 0-arguments
|
### Test 0-arguments
|
||||||
|
seq 1 2 | parallel -k -n0 echo n0
|
||||||
n0
|
n0
|
||||||
n0
|
n0
|
||||||
|
seq 1 2 | parallel -k -L0 echo L0
|
||||||
L0
|
L0
|
||||||
L0
|
L0
|
||||||
|
seq 1 2 | parallel -k -N0 echo N0
|
||||||
N0
|
N0
|
||||||
N0
|
N0
|
||||||
|
echo '### Because of --tollef -l, then -l0 == -l1, sorry'
|
||||||
### Because of --tollef -l, then -l0 == -l1, sorry
|
### Because of --tollef -l, then -l0 == -l1, sorry
|
||||||
|
seq 1 2 | parallel -k -l0 echo l0
|
||||||
l0 1
|
l0 1
|
||||||
l0 2
|
l0 2
|
||||||
|
echo '### Test replace {}'
|
||||||
### Test replace {}
|
### Test replace {}
|
||||||
|
seq 1 2 | parallel -k -N0 echo replace {} curlies
|
||||||
replace curlies
|
replace curlies
|
||||||
replace curlies
|
replace curlies
|
||||||
|
echo '### Test arguments on commandline'
|
||||||
### Test arguments on commandline
|
### Test arguments on commandline
|
||||||
|
parallel -k -N0 echo args on cmdline ::: 1 2
|
||||||
args on cmdline
|
args on cmdline
|
||||||
args on cmdline
|
args on cmdline
|
||||||
|
echo '### Test --nice locally'
|
||||||
### Test --nice locally
|
### Test --nice locally
|
||||||
|
parallel --nice 1 -vv 'PAR=a bash -c "echo \$PAR {}"' ::: b
|
||||||
\nice -n1 /bin/bash -c PAR=a\ bash\ -c\ \"echo\ \ \\\$PAR\ b\"
|
\nice -n1 /bin/bash -c PAR=a\ bash\ -c\ \"echo\ \ \\\$PAR\ b\"
|
||||||
a b
|
a b
|
||||||
|
echo '### Test --nice remote'
|
||||||
### Test --nice remote
|
### Test --nice remote
|
||||||
|
stdout parallel --nice 1 -S .. -vv 'PAR=a bash -c "echo \$PAR {}"' ::: b | perl -pe 's/\S*parallel-server\S*/one-server/;s/[a-f0-9]{500,}/hex/;s/\d{5,8}/pId/g;'
|
||||||
ssh one-server exec perl -e \\\$ENV\\\{\\\"PARALLEL_PID\\\"\\\}=\\\"pId\\\"\\\;\\\$ENV\\\{\\\"PARALLEL_SEQ\\\"\\\}=\\\"1\\\"\\\;\\\$bashfunc\\\ =\\\ \\\"\\\"\\\;@ARGV=\\\"\\\\\\\\nice\\\ -n1\\\ /bin/bash\\\ -c\\\ PAR=a\\\\\\\\\\\ bash\\\\\\\\\\\ -c\\\\\\\\\\\ \\\\\\\\\\\\\\\"echo\\\\\\\\\\\ \\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$PAR\\\\\\\\\\\ b\\\\\\\\\\\\\\\"\\\"\\\;\\\$SIG\\\{CHLD\\\}=sub\\\{\\\$done=1\\\;\\\}\\\;\\\$pid=fork\\\;unless\\\(\\\$pid\\\)\\\{setpgrp\\\;exec\\\$ENV\\\{SHELL\\\},\\\"-c\\\",\\\(\\\$bashfunc.\\\"@ARGV\\\"\\\)\\\;die\\\"exec:\\\$\\\!\\\\n\\\"\\\;\\\}do\\\{\\\$s=\\\$s\\\<1\\\?0.001+\\\$s\\\*1.03:\\\$s\\\;select\\\(undef,undef,undef,\\\$s\\\)\\\;\\\}until\\\(\\\$done\\\|\\\|getppid==1\\\)\\\;kill\\\(SIGHUP,-\\\$\\\{pid\\\}\\\)unless\\\$done\\\;wait\\\;exit\\\(\\\$\\\?\\\&127\\\?128+\\\(\\\$\\\?\\\&127\\\):1+\\\$\\\?\\\>\\\>8\\\);
|
ssh one-server exec perl -e \\\$ENV\\\{\\\"PARALLEL_PID\\\"\\\}=\\\"pId\\\"\\\;\\\$ENV\\\{\\\"PARALLEL_SEQ\\\"\\\}=\\\"1\\\"\\\;\\\$bashfunc\\\ =\\\ \\\"\\\"\\\;@ARGV=\\\"\\\\\\\\nice\\\ -n1\\\ /bin/bash\\\ -c\\\ PAR=a\\\\\\\\\\\ bash\\\\\\\\\\\ -c\\\\\\\\\\\ \\\\\\\\\\\\\\\"echo\\\\\\\\\\\ \\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$PAR\\\\\\\\\\\ b\\\\\\\\\\\\\\\"\\\"\\\;\\\$SIG\\\{CHLD\\\}=sub\\\{\\\$done=1\\\;\\\}\\\;\\\$pid=fork\\\;unless\\\(\\\$pid\\\)\\\{setpgrp\\\;exec\\\$ENV\\\{SHELL\\\},\\\"-c\\\",\\\(\\\$bashfunc.\\\"@ARGV\\\"\\\)\\\;die\\\"exec:\\\$\\\!\\\\n\\\"\\\;\\\}do\\\{\\\$s=\\\$s\\\<1\\\?0.001+\\\$s\\\*1.03:\\\$s\\\;select\\\(undef,undef,undef,\\\$s\\\)\\\;\\\}until\\\(\\\$done\\\|\\\|getppid==1\\\)\\\;kill\\\(SIGHUP,-\\\$\\\{pid\\\}\\\)unless\\\$done\\\;wait\\\;exit\\\(\\\$\\\?\\\&127\\\?128+\\\(\\\$\\\?\\\&127\\\):1+\\\$\\\?\\\>\\\>8\\\);
|
||||||
a b
|
a b
|
||||||
|
echo '### Test distribute arguments at EOF to 2 jobslots'
|
||||||
### Test distribute arguments at EOF to 2 jobslots
|
### Test distribute arguments at EOF to 2 jobslots
|
||||||
|
seq 1 92 | parallel -j+0 -kX -s 100 echo
|
||||||
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
||||||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
||||||
66 67 68 69
|
66 67 68 69
|
||||||
|
@ -766,7 +854,9 @@ a b
|
||||||
82 83 84 85
|
82 83 84 85
|
||||||
86 87 88 89
|
86 87 88 89
|
||||||
90 91 92
|
90 91 92
|
||||||
|
echo '### Test distribute arguments at EOF to 5 jobslots'
|
||||||
### Test distribute arguments at EOF to 5 jobslots
|
### Test distribute arguments at EOF to 5 jobslots
|
||||||
|
seq 1 92 | parallel -j+3 -kX -s 100 echo
|
||||||
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
||||||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
||||||
66 67 68
|
66 67 68
|
||||||
|
@ -778,7 +868,9 @@ a b
|
||||||
84 85 86
|
84 85 86
|
||||||
87 88 89
|
87 88 89
|
||||||
90 91 92
|
90 91 92
|
||||||
|
echo '### Test distribute arguments at EOF to infinity jobslots'
|
||||||
### Test distribute arguments at EOF to infinity jobslots
|
### Test distribute arguments at EOF to infinity jobslots
|
||||||
|
seq 1 92 | parallel -j0 -kX -s 100 echo 2>/dev/null
|
||||||
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
||||||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
||||||
66
|
66
|
||||||
|
@ -808,14 +900,22 @@ a b
|
||||||
90
|
90
|
||||||
91
|
91
|
||||||
92
|
92
|
||||||
|
echo '### Test -N is not broken by distribution - single line'
|
||||||
### Test -N is not broken by distribution - single line
|
### Test -N is not broken by distribution - single line
|
||||||
|
seq 9 | parallel -N 10 echo
|
||||||
1 2 3 4 5 6 7 8 9
|
1 2 3 4 5 6 7 8 9
|
||||||
|
echo '### Test -N is not broken by distribution - two lines'
|
||||||
### Test -N is not broken by distribution - two lines
|
### Test -N is not broken by distribution - two lines
|
||||||
|
seq 19 | parallel -k -N 10 echo
|
||||||
1 2 3 4 5 6 7 8 9 10
|
1 2 3 4 5 6 7 8 9 10
|
||||||
11 12 13 14 15 16 17 18 19
|
11 12 13 14 15 16 17 18 19
|
||||||
|
echo '### Test -N context replace'
|
||||||
### Test -N context replace
|
### Test -N context replace
|
||||||
|
seq 19 | parallel -k -N 10 echo a{}b
|
||||||
a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
|
a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
|
||||||
a11b a12b a13b a14b a15b a16b a17b a18b a19b
|
a11b a12b a13b a14b a15b a16b a17b a18b a19b
|
||||||
|
echo '### Test -L context replace'
|
||||||
### Test -L context replace
|
### Test -L context replace
|
||||||
|
seq 19 | parallel -k -L 10 echo a{}b
|
||||||
a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
|
a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
|
||||||
a11b a12b a13b a14b a15b a16b a17b a18b a19b
|
a11b a12b a13b a14b a15b a16b a17b a18b a19b
|
||||||
|
|
Loading…
Reference in a new issue