mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-23 13:17:54 +00:00
6a6a5e4d01
Newline quoting for csh. Empty argument quoted as ''. Passes testsuite.
357 lines
16 KiB
Plaintext
357 lines
16 KiB
Plaintext
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$$; wait; CHAR=$(cat /tmp/a$$ | wc -c); LINES=$(cat /tmp/a$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/awc$$; rm /tmp/a$$ /tmp/awc$$
|
|
### Test of xargs -m command lines > 130k
|
|
31d9274be5fdc2de59487cb05ba57776 -
|
|
Chars per line: 116300
|
|
6 119994 697800
|
|
echo '### Test of xargs -X command lines > 130k'; seq 1 60000 | parallel -X -j1 echo a{}b{}c | tee >(wc >/tmp/bwc$$) >(sort | (sleep 1; md5sum)) >/tmp/b$$; wait; CHAR=$(cat /tmp/b$$ | wc -c); LINES=$(cat /tmp/b$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/bwc$$; rm /tmp/b$$ /tmp/bwc$$
|
|
### Test of xargs -X command lines > 130k
|
|
22074f9acada52462defb18ba912d744 -
|
|
Chars per line: 116826
|
|
7 60000 817788
|
|
echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -k -j1 -m echo | md5sum
|
|
### Test of xargs -m command lines > 130k
|
|
b35d8e49be8d94899b719c40d3f1f4bb -
|
|
echo '### This causes problems if we kill child processes'; seq 2 40 | parallel -j 0 seq 1 10 | sort | md5sum
|
|
### This causes problems if we kill child processes
|
|
437c0d47a99b9a7c5bcb1d132f94c2e6 -
|
|
echo '### This causes problems if we kill child processes (II)'; seq 1 40 | parallel -j 0 seq 1 10 '| parallel -j 3 echo' | sort | md5sum
|
|
### This causes problems if we kill child processes (II)
|
|
d7fb96d6a56d4347bc24930a395c431a -
|
|
echo '### Test -m'; (echo foo;echo bar) | parallel -j1 -m echo 1{}2{}3 A{}B{}C
|
|
### Test -m
|
|
1foo bar2foo bar3 Afoo barBfoo barC
|
|
echo '### Test -X'; (echo foo;echo bar) | parallel -j1 -X echo 1{}2{}3 A{}B{}C
|
|
### Test -X
|
|
1foo2foo3 1bar2bar3 AfooBfooC AbarBbarC
|
|
echo '### Bug before 2009-08-26 causing regexp compile error or infinite loop'; echo a | parallel -qX echo "'"{}"' "
|
|
### Bug before 2009-08-26 causing regexp compile error or infinite loop
|
|
'a'
|
|
echo '### Bug before 2009-08-26 causing regexp compile error or infinite loop (II)'; echo a | parallel -qX echo "'{}'"
|
|
### Bug before 2009-08-26 causing regexp compile error or infinite loop (II)
|
|
'a'
|
|
echo '### bug #42041: Implement $PARALLEL_JOBSLOT'
|
|
### bug #42041: Implement $PARALLEL_JOBSLOT
|
|
parallel -k --slotreplace // -j2 sleep 1\;echo // ::: {1..4} | sort
|
|
1
|
|
1
|
|
2
|
|
2
|
|
parallel -k -j2 sleep 1\;echo {%} ::: {1..4} | sort
|
|
1
|
|
1
|
|
2
|
|
2
|
|
echo '### bug #42363: --pipepart and --fifo/--cat does not work'
|
|
### bug #42363: --pipepart and --fifo/--cat does not work
|
|
seq 100 > /tmp/bug42363; parallel --pipepart --block 31 -a /tmp/bug42363 -k --fifo wc | perl -pe 's:(/tmp\S+par).....:${1}XXXXX:'; parallel --pipepart --block 31 -a /tmp/bug42363 -k --cat wc | perl -pe 's:(/tmp\S+par).....:${1}XXXXX:'; rm /tmp/bug42363
|
|
14 14 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
9 9 28 /tmp/parallel-local22/parXXXXX
|
|
14 14 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
11 11 33 /tmp/parallel-local22/parXXXXX
|
|
9 9 28 /tmp/parallel-local22/parXXXXX
|
|
echo '### bug #42055: --pipepart -a bigfile should not require sequential reading of bigfile'
|
|
### bug #42055: --pipepart -a bigfile should not require sequential reading of bigfile
|
|
parallel --pipepart -a /etc/passwd -L 1 should not be run
|
|
parallel: Error: --pipepart is incompatible with --max-replace-args, --max-lines, and -L.
|
|
parallel --pipepart -a /etc/passwd -N 1 should not be run
|
|
parallel: Error: --pipepart is incompatible with --max-replace-args, --max-lines, and -L.
|
|
parallel --pipepart -a /etc/passwd -l 1 should not be run
|
|
parallel: Error: --pipepart is incompatible with --max-replace-args, --max-lines, and -L.
|
|
echo '### bug #42893: --block should not cause decimals in cat_partial'
|
|
### bug #42893: --block should not cause decimals in cat_partial
|
|
seq 100000 >/tmp/parallel-decimal; parallel --dry-run -kvv --pipepart --block 0.12345M -a /tmp/parallel-decimal true; rm /tmp/parallel-decimal
|
|
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 32768 ? 32768 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 0 129450 | (true)
|
|
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 32768 ? 32768 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 129450 129450 | (true)
|
|
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 32768 ? 32768 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 258900 129450 | (true)
|
|
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 32768 ? 32768 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 388350 129450 | (true)
|
|
</tmp/parallel-decimal perl -e 'while(@ARGV) { sysseek(STDIN,shift,0) || die; $left = shift; while($read = sysread(STDIN,$buf, ($left > 32768 ? 32768 : $left))){ $left -= $read; syswrite(STDOUT,$buf); } }' 0 0 517800 71095 | (true)
|
|
echo '### bug #42902: profiles containing arguments with space'
|
|
### bug #42902: profiles containing arguments with space
|
|
echo "--rpl 'FULLPATH chomp(\$_=\"/bin/bash=\".\`readlink -f \$_\`);' " > ~/.parallel/FULLPATH; parallel -JFULLPATH echo FULLPATH ::: $0
|
|
/bin/bash=/bin/bash
|
|
PARALLEL="--rpl 'FULLPATH chomp(\$_=\"/bin/bash=\".\`readlink -f \$_\`);' -v" parallel echo FULLPATH ::: $0
|
|
echo /bin/bash\=/bin/bash
|
|
/bin/bash=/bin/bash
|
|
PARALLEL="--rpl 'FULLPATH chomp(\$_=\"/bin/bash=\".\`readlink -f \$_\`);' perl -e \'print \\\"@ARGV\\\n\\\"\' " parallel With script in \\\$PARALLEL FULLPATH ::: .
|
|
With script in $PARALLEL /bin/bash=/home/tange/privat/parallel/testsuite
|
|
echo '### bug #42892: parallel -a nonexiting --pipepart'
|
|
### bug #42892: parallel -a nonexiting --pipepart
|
|
parallel --pipepart -a nonexisting wc
|
|
parallel: Error: nonexisting is not a seekable file.
|
|
echo '### bug #42913: Dont use $SHELL but the shell currently running'
|
|
### bug #42913: Dont use $SHELL but the shell currently running
|
|
echo '## Unknown shell => $SHELL (bash)'
|
|
## Unknown shell => $SHELL (bash)
|
|
parallel -j1 "cp \`which {}\` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;" ::: ash bash csh dash fish fizsh ksh ksh93 mksh pdksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh; rm -f /tmp/SHELL /tmp/par*.par
|
|
shell? /bin/bash -c cp `which ash` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which bash` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which csh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which dash` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which fish` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
which zsh => shell path /usr/bin/zsh
|
|
shell? /bin/bash -c cp `which ksh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which ksh93` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which mksh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which pdksh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which posh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which rbash` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which rzsh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which sash` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which sh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which tcsh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which yash` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c cp `which zsh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
Local configuration error occurred.
|
|
Contact the systems administrator for further assistance.
|
|
SHELL: applet not found
|
|
echo '## Known shells -c'
|
|
## Known shells -c
|
|
parallel -k "\`which {}\` -c 'parallel -Dinit echo ::: 1' | grep which;" ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh; rm -f /tmp/par*.par
|
|
which ash => shell path /bin/ash
|
|
shell? /bin/bash -c `which bash` -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
which csh => shell path /bin/csh
|
|
which dash => shell path /bin/dash
|
|
which fdsh => shell path /usr/bin/fdsh
|
|
which fish => shell path /usr/bin/fish
|
|
which zsh => shell path /usr/bin/zsh
|
|
shell? /bin/bash -c `which ksh` -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c `which ksh93` -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c `which mksh` -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c `which pdksh` -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
which posh => shell path /bin/posh
|
|
shell? /bin/bash -c `which rbash` -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c `which rzsh` -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
which sash => shell path /bin/sash
|
|
which sh => shell path /bin/sh
|
|
which static-sh => shell path /bin/static-sh
|
|
which tcsh => shell path /usr/bin/tcsh
|
|
shell? /bin/bash -c `which yash` -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
shell? /bin/bash -c `which zsh` -c 'parallel -Dinit echo ::: 1' | grep which;
|
|
which bash => shell path /bin/bash
|
|
Local configuration error occurred.
|
|
Contact the systems administrator for further assistance.
|
|
echo '## Known shells |'
|
|
## Known shells |
|
|
parallel -k "echo 'parallel -Dinit echo ::: 1' | \`which {}\` | grep which;" ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh; rm -f /tmp/par*.par
|
|
which ash => shell path /bin/ash
|
|
which bash => shell path /bin/bash
|
|
which csh => shell path /bin/csh
|
|
which dash => shell path /bin/dash
|
|
which fdsh => shell path /usr/bin/fdsh
|
|
which fish => shell path /usr/bin/fish
|
|
which zsh => shell path /usr/bin/zsh
|
|
which ksh => shell path /usr/bin/ksh
|
|
which ksh93 => shell path /bin/ksh93
|
|
which mksh => shell path /bin/mksh
|
|
which pdksh => shell path /bin/pdksh
|
|
which posh => shell path /bin/posh
|
|
which rbash => shell path /bin/rbash
|
|
which rzsh => shell path /bin/rzsh
|
|
which sash => shell path /bin/sash
|
|
which sh => shell path /bin/sh
|
|
which static-sh => shell path /bin/static-sh
|
|
which tcsh => shell path /usr/bin/tcsh
|
|
which yash => shell path /usr/bin/yash
|
|
which zsh => shell path /usr/bin/zsh
|
|
Local configuration error occurred.
|
|
Contact the systems administrator for further assistance.
|
|
echo '## Started directly from perl'
|
|
## Started directly from perl
|
|
perl -e 'system(qw(parallel -Dinit echo ::: 1))' | grep which; rm -f /tmp/par*.par
|
|
shell? /bin/bash -c perl -e 'system(qw(parallel -Dinit echo ::: 1))' | grep which; rm -f /tmp/par*.par
|
|
which bash => shell path /bin/bash
|
|
echo '### added transfersize/returnsize to local jobs'
|
|
### added transfersize/returnsize to local jobs
|
|
echo '### normal'
|
|
### normal
|
|
seq 100 111 | parallel --joblog /dev/stderr seq {} '|' pv -qL100 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
0 292 0
|
|
0 296 0
|
|
0 300 0
|
|
0 304 0
|
|
0 308 0
|
|
0 312 0
|
|
0 316 0
|
|
0 320 0
|
|
0 324 0
|
|
0 328 0
|
|
0 332 0
|
|
0 336 0
|
|
Send Receive Exitval
|
|
echo '### --line-buffer'
|
|
### --line-buffer
|
|
seq 100 111 | parallel --joblog /dev/stderr --line-buffer seq {} '|' pv -qL100 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
0 292 0
|
|
0 296 0
|
|
0 300 0
|
|
0 304 0
|
|
0 308 0
|
|
0 312 0
|
|
0 316 0
|
|
0 320 0
|
|
0 324 0
|
|
0 328 0
|
|
0 332 0
|
|
0 336 0
|
|
Send Receive Exitval
|
|
echo '### --tag'
|
|
### --tag
|
|
seq 100 111 | parallel --tag --joblog /dev/stderr seq {} '|' pv -qL100 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
0 292 0
|
|
0 296 0
|
|
0 300 0
|
|
0 304 0
|
|
0 308 0
|
|
0 312 0
|
|
0 316 0
|
|
0 320 0
|
|
0 324 0
|
|
0 328 0
|
|
0 332 0
|
|
0 336 0
|
|
Send Receive Exitval
|
|
echo '### --tag --line-buffer'
|
|
### --tag --line-buffer
|
|
seq 100 111 | parallel --tag --line-buffer --joblog /dev/stderr seq {} '|' pv -qL100 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
0 292 0
|
|
0 296 0
|
|
0 300 0
|
|
0 304 0
|
|
0 308 0
|
|
0 312 0
|
|
0 316 0
|
|
0 320 0
|
|
0 324 0
|
|
0 328 0
|
|
0 332 0
|
|
0 336 0
|
|
Send Receive Exitval
|
|
echo '### --files'
|
|
### --files
|
|
seq 100 111 | parallel --files --joblog /dev/stderr seq {} '|' pv -qL100 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
0 292 0
|
|
0 296 0
|
|
0 300 0
|
|
0 304 0
|
|
0 308 0
|
|
0 312 0
|
|
0 316 0
|
|
0 320 0
|
|
0 324 0
|
|
0 328 0
|
|
0 332 0
|
|
0 336 0
|
|
Send Receive Exitval
|
|
echo '### --files --tag'
|
|
### --files --tag
|
|
seq 100 111 | parallel --files --tag --joblog /dev/stderr seq {} '|' pv -qL100 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
0 292 0
|
|
0 296 0
|
|
0 300 0
|
|
0 304 0
|
|
0 308 0
|
|
0 312 0
|
|
0 316 0
|
|
0 320 0
|
|
0 324 0
|
|
0 328 0
|
|
0 332 0
|
|
0 336 0
|
|
Send Receive Exitval
|
|
echo '### --pipe'
|
|
### --pipe
|
|
seq 1000 | parallel --joblog /dev/stderr --block 1111 --pipe pv -qL300 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
1108 1108 0
|
|
1112 1112 0
|
|
1112 1112 0
|
|
561 561 0
|
|
Send Receive Exitval
|
|
echo '### --pipe --line-buffer'
|
|
### --pipe --line-buffer
|
|
seq 1000 | parallel --joblog /dev/stderr --block 1111 --pipe --line-buffer pv -qL300 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
1108 1108 0
|
|
1112 1112 0
|
|
1112 1112 0
|
|
561 561 0
|
|
Send Receive Exitval
|
|
echo '### --pipe --tag'
|
|
### --pipe --tag
|
|
seq 1000 | parallel --joblog /dev/stderr --block 1111 --pipe --tag pv -qL300 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
1108 1108 0
|
|
1112 1112 0
|
|
1112 1112 0
|
|
561 561 0
|
|
Send Receive Exitval
|
|
echo '### --pipe --tag --line-buffer'
|
|
### --pipe --tag --line-buffer
|
|
seq 1000 | parallel --joblog /dev/stderr --block 1111 --pipe --tag --line-buffer pv -qL300 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
1108 1108 0
|
|
1112 1112 0
|
|
1112 1112 0
|
|
561 561 0
|
|
Send Receive Exitval
|
|
echo '### --files --pipe'
|
|
### --files --pipe
|
|
seq 1000 | parallel --joblog /dev/stderr --block 1111 --files --pipe pv -qL300 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
1108 1108 0
|
|
1112 1112 0
|
|
1112 1112 0
|
|
561 561 0
|
|
Send Receive Exitval
|
|
echo '### --files --pipe --tag'
|
|
### --files --pipe --tag
|
|
seq 1000 | parallel --joblog /dev/stderr --block 1111 --files --pipe --tag pv -qL300 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
1108 1108 0
|
|
1112 1112 0
|
|
1112 1112 0
|
|
561 561 0
|
|
Send Receive Exitval
|
|
echo '### --pipe --round-robin'
|
|
### --pipe --round-robin
|
|
seq 1000 | parallel --joblog /dev/stderr --block 1111 -j2 --pipe --round-robin pv -qL300 2>&1 >/dev/null | cut -f 5-7 | sort
|
|
1673 1673 0
|
|
2220 2220 0
|
|
Send Receive Exitval
|
|
echo '### --tmux test - check termination'
|
|
### --tmux test - check termination
|
|
perl -e 'map {printf "$_%o%c\n",$_,$_}1..255' | stdout parallel --tmux echo {} :::: - ::: a b | perl -pe 's:(/tmp\S+/tms).....:$1XXXXX:;'
|
|
See output with: tmux -S /tmp/parallel-local22/tmsXXXXX attach
|