par_END ### Test -i and --replace: Replace with argument par_END replace par_END replace par_END replace par_END replace par_END replace par_END replace par_END replace par_END replace par_END replace par_END ### Test -E: Artificial end-of-file par_END include this par_END include this par_END ### Test -e and --eof: Artificial end-of-file par_END include this par_END include this par_END include this par_END include this par__pipe_tee bug #45479: --pipe/--pipepart --tee par__pipe_tee --pipe --tee par__pipe_tee 314572800 par__pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922 par__pipepart_spawn 1:local / 2+ / 2+2+2+ par__pipepart_tee bug #45479: --pipe/--pipepart --tee par__pipepart_tee --pipepart --tee par__pipepart_tee 314572800 par_compress_fail ### bug #41609: --compress fails par_compress_fail f1a751b1283e99e7dda40f63f1225f74 - par_compress_fail f1a751b1283e99e7dda40f63f1225f74 - par_interactive ### Test -p --interactive par_interactive opt--interactive 1 par_interactive opt--interactive 3 par_interactive opt-p 1 par_interactive opt-p 3 par_interactive sleep 0.1; echo opt--interactive 1 ?...y par_interactive sleep 0.1; echo opt--interactive 2 ?...n par_interactive sleep 0.1; echo opt--interactive 3 ?...y par_interactive sleep 0.1; echo opt-p 1 ?...y par_interactive sleep 0.1; echo opt-p 2 ?...n par_interactive sleep 0.1; echo opt-p 3 ?...y par_interactive spawn /tmp/parallel-script-for-expect par_k ### Test -k par_k parallel: Warning: Only enough file handles to run X jobs in parallel. par_k parallel: Warning: Running 'parallel -jX -N X --pipe parallel -jX' or par_k parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf par_k parallel: Warning: or /proc/sys/fs/file-max may help. par_k begin par_k 1 par_k 2 par_k 3 par_k 4 par_k 5 par_k 6 par_k 7 par_k 8 par_k 9 par_k 10 par_k 11 par_k 12 par_k 13 par_k 14 par_k 15 par_k 16 par_k 17 par_k 18 par_k 19 par_k 20 par_k 21 par_k 22 par_k 23 par_k 24 par_k 25 par_k 26 par_k 27 par_k 28 par_k 29 par_k 30 par_k end par_k_linebuffer ### bug #47750: -k --line-buffer should give current job up to now par_k_linebuffer 10 1 par_k_linebuffer 10 2 par_k_linebuffer 10 3 par_k_linebuffer 10 4 par_k_linebuffer 10 5 par_k_linebuffer 10 6 par_k_linebuffer 10 7 par_k_linebuffer 10 8 par_k_linebuffer 10 9 par_k_linebuffer 10 10 par_k_linebuffer 11 1 par_k_linebuffer 11 2 par_k_linebuffer 11 3 par_k_linebuffer 11 4 par_k_linebuffer 11 5 par_k_linebuffer 11 6 par_k_linebuffer 11 7 par_k_linebuffer 11 8 par_k_linebuffer 11 9 par_k_linebuffer 11 10 par_k_linebuffer 11 11 par_k_linebuffer 12 1 par_k_linebuffer 12 2 par_k_linebuffer 12 3 par_k_linebuffer 12 4 par_k_linebuffer 12 5 par_k_linebuffer 12 6 par_k_linebuffer 12 7 par_k_linebuffer 12 8 par_k_linebuffer 12 9 par_k_linebuffer 12 10 par_k_linebuffer 12 11 par_k_linebuffer 12 12 par_k_linebuffer 13 1 par_k_linebuffer 13 2 par_k_linebuffer 13 3 par_k_linebuffer 13 4 par_k_linebuffer 13 5 par_k_linebuffer 13 6 par_k_linebuffer 13 7 par_k_linebuffer 13 8 par_k_linebuffer 13 9 par_k_linebuffer 13 10 par_k_linebuffer 13 11 par_k_linebuffer 13 12 par_k_linebuffer 13 13 par_k_linebuffer 14 1 par_k_linebuffer 14 2 par_k_linebuffer 14 3 par_k_linebuffer 14 4 par_k_linebuffer 14 5 par_k_linebuffer 14 6 par_k_linebuffer 14 7 par_k_linebuffer 14 8 par_k_linebuffer 14 9 par_k_linebuffer 14 10 par_k_linebuffer 14 11 par_k_linebuffer 14 12 par_k_linebuffer 14 13 par_k_linebuffer 14 14 par_k_linebuffer 15 1 par_k_linebuffer 15 2 par_k_linebuffer 15 3 par_k_linebuffer 15 4 par_k_linebuffer 15 5 par_k_linebuffer 15 6 par_k_linebuffer 15 7 par_k_linebuffer 15 8 par_k_linebuffer 15 9 par_k_linebuffer 15 10 par_k_linebuffer 15 11 par_k_linebuffer 15 12 par_k_linebuffer 15 13 par_k_linebuffer 15 14 par_k_linebuffer 15 15 par_k_linebuffer 16 1 par_k_linebuffer 16 2 par_k_linebuffer 16 3 par_k_linebuffer 16 4 par_k_linebuffer 16 5 par_k_linebuffer 16 6 par_k_linebuffer 16 7 par_k_linebuffer 16 8 par_k_linebuffer 16 9 par_k_linebuffer 16 10 par_k_linebuffer 16 11 par_k_linebuffer 16 12 par_k_linebuffer 16 13 par_k_linebuffer 16 14 par_k_linebuffer 16 15 par_k_linebuffer 16 16 par_k_linebuffer 17 1 par_k_linebuffer 17 2 par_k_linebuffer 17 3 par_k_linebuffer 17 4 par_k_linebuffer 17 5 par_k_linebuffer 17 6 par_k_linebuffer 17 7 par_k_linebuffer 17 8 par_k_linebuffer 17 9 par_k_linebuffer 17 10 par_k_linebuffer 17 11 par_k_linebuffer 17 12 par_k_linebuffer 17 13 par_k_linebuffer 17 14 par_k_linebuffer 17 15 par_k_linebuffer 17 16 par_k_linebuffer 17 17 par_k_linebuffer 18 1 par_k_linebuffer 18 2 par_k_linebuffer 18 3 par_k_linebuffer 18 4 par_k_linebuffer 18 5 par_k_linebuffer 18 6 par_k_linebuffer 18 7 par_k_linebuffer 18 8 par_k_linebuffer 18 9 par_k_linebuffer 18 10 par_k_linebuffer 18 11 par_k_linebuffer 18 12 par_k_linebuffer 18 13 par_k_linebuffer 18 14 par_k_linebuffer 18 15 par_k_linebuffer 18 16 par_k_linebuffer 18 17 par_k_linebuffer 18 18 par_k_linebuffer 19 1 par_k_linebuffer 19 2 par_k_linebuffer 19 3 par_k_linebuffer 19 4 par_k_linebuffer 19 5 par_k_linebuffer 19 6 par_k_linebuffer 19 7 par_k_linebuffer 19 8 par_k_linebuffer 19 9 par_k_linebuffer 19 10 par_k_linebuffer 19 11 par_k_linebuffer 19 12 par_k_linebuffer 19 13 par_k_linebuffer 19 14 par_k_linebuffer 19 15 par_k_linebuffer 19 16 par_k_linebuffer 19 17 par_k_linebuffer 19 18 par_k_linebuffer 19 19 par_k_linebuffer 20 1 par_k_linebuffer 20 2 par_k_linebuffer 20 3 par_k_linebuffer 20 4 par_k_linebuffer 20 5 par_k_linebuffer 20 6 par_k_linebuffer 20 7 par_k_linebuffer 20 8 par_k_linebuffer 20 9 par_k_linebuffer 20 10 par_k_linebuffer 20 11 par_k_linebuffer 20 12 par_k_linebuffer 20 13 par_k_linebuffer 20 14 par_k_linebuffer 20 15 par_k_linebuffer 20 16 par_k_linebuffer 20 17 par_k_linebuffer 20 18 par_k_linebuffer 20 19 par_k_linebuffer 20 20 par_k_linebuffer stdout top par_k_linebuffer stderr in the middle par_k_linebuffer stdout end par_kill_children_timeout ### Test killing children with --timeout and exit value (failed if timed out) par_kill_children_timeout 0 0 0 par_kill_children_timeout parallel: Warning: This job was killed because it timed out: par_kill_children_timeout parallel: Warning: doit 1000000000 par_kill_children_timeout parallel: Warning: This job was killed because it timed out: par_kill_children_timeout parallel: Warning: doit 1000000001 par_kill_children_timeout 2 par_kill_children_timeout 0 0 0 par_kill_hup ### Are children killed if GNU Parallel receives HUP? There should be no sleep at the end par_kill_hup bash-+-perl---2*[bash---sleep] par_kill_hup `-pstree par_kill_hup parallel: SIGHUP received. No new jobs will be started. par_kill_hup parallel: Waiting for these 2 jobs to finish. Send SIGTERM to stop now. par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' par_kill_hup bash---pstree par_line_buffer ### --line-buffer par_line_buffer 55 55 120 par_line_buffer These must diff: 1 par_long_line_remote ### Deal with long command lines on remote servers par_long_line_remote 2 6 30006 par_long_line_remote 3 50 250050 par_macron ### See if \257\256 \257<\257> is replaced correctly par_macron -X par_macron -X par_macron -X par_macron -X par_macron -X par_macron -X par_macron -q par_macron -q par_macron -q "" par_macron -q par_macron -q "" par_macron -q /bin/bash: $'echo \257': command not found par_macron -Xq par_macron -Xq par_macron -Xq "" par_macron -Xq par_macron -Xq "" par_macron -Xq /bin/bash: $'echo \257': command not found par_macron -k par_macron -k par_macron -k par_macron -k par_macron -k par_macron -k par_macron -X par_macron -X par_macron -X par_macron -X par_macron -X par_macron -X par_macron -q par_macron -q par_macron -q "" par_macron -q par_macron -q "" par_macron -q /bin/bash: $'echo \257\256': command not found par_macron -Xq par_macron -Xq par_macron -Xq "" par_macron -Xq par_macron -Xq "" par_macron -Xq /bin/bash: $'echo \257\256': command not found par_macron -k par_macron -k par_macron -k par_macron -k par_macron -k par_macron -k par_macron -X par_macron -X par_macron -X par_macron -X par_macron -X par_macron -X par_macron -q par_macron -q par_macron -q "" par_macron -q par_macron -q "" par_macron -q /bin/bash: $'echo \257\257\256': command not found par_macron -Xq par_macron -Xq par_macron -Xq "" par_macron -Xq par_macron -Xq "" par_macron -Xq /bin/bash: $'echo \257\257\256': command not found par_macron -k par_macron -k par_macron -k par_macron -k par_macron -k par_macron -k par_macron <<>> -X <<>> par_macron <<>> -X <<>> <<>> par_macron <<>> -X <<>><<>> par_macron <<>> -X /bin/bash: -c: line 0: syntax error near unexpected token `newline' par_macron <<>> -X /bin/bash: -c: line 0: `echo <<>>' par_macron <<>> -X /bin/bash: : No such file or directory par_macron <<>> -X /bin/bash: : No such file or directory par_macron <<>> -q <<>> par_macron <<>> -q <<>> <<>> par_macron <<>> -q "<<>>" <<>> par_macron <<>> -q <<>><<>> par_macron <<>> -q "<<>>"<<>> par_macron <<>> -q /bin/bash: $'echo \257<\257<\257>\257>': command not found par_macron <<>> -Xq <<>> par_macron <<>> -Xq <<>> <<>> par_macron <<>> -Xq "<<>>" <<>> par_macron <<>> -Xq <<>><<>> par_macron <<>> -Xq "<<>>"<<>> par_macron <<>> -Xq /bin/bash: $'echo \257<\257<\257>\257>': command not found par_macron <<>> -k <<>> par_macron <<>> -k <<>> <<>> par_macron <<>> -k <<>><<>> par_macron <<>> -k /bin/bash: -c: line 0: syntax error near unexpected token `newline' par_macron <<>> -k /bin/bash: -c: line 0: `echo <<>>' par_macron <<>> -k /bin/bash: : No such file or directory par_macron <<>> -k /bin/bash: : No such file or directory par_maxlinelen_X_I ### Test max line length -X -I par_maxlinelen_X_I 3cfc69ee81b0fe7fdbe8eb059ad2da61 - par_maxlinelen_X_I Chars per line (817788/7): 116826 par_maxlinelen_m_I ### Test max line length -m -I par_maxlinelen_m_I c78bd0799bc23d8946732f8b3ae3c94e - par_maxlinelen_m_I Chars per line (697800/6): 116300 par_parset ### test parset par_parset Put output into $myarray par_parset 10 par_parset 11 par_parset 12 par_parset 13 par_parset 14 par_parset 15 par_parset Put output into vars "$seq, $pwd, $ls" par_parset 1 par_parset 2 par_parset 3 par_parset 4 par_parset 5 par_parset 6 par_parset 7 par_parset 8 par_parset 9 par_parset 10 par_parset Put output into vars ($seq, $pwd, $ls): par_parset 1 par_parset 2 par_parset 3 par_parset 4 par_parset 5 par_parset The commands to run can be an array par_parset <> par_parset ~/privat/parallel/testsuite par_parset You cannot pipe into parset, but must use a tempfile par_parset 1 par_parset 10 par_parset or process substitution par_parset 0 par_parset 9 par_parset Commands with newline require -0 par_parset line1 par_parset line2 par_parset2 ### parset into array par_parset2 foo bar baz par_parset2 ### parset into vars with comma par_parset2 foo bar baz par_parset2 ### parset into vars with space par_parset2 foo bar baz par_parset2 ### parset with newlines par_parset2 1 par_parset2 1 par_parset2 2 par_parset2 1 par_parset2 2 par_parset2 3 par_parset2 ### parset into indexed array vars par_parset2 foo bar baz par_parset2 foo bar bar par_parset2 ### env_parset par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz par_parset2 newline1 par_parset2 newline2 par_parset2 1 par_parset2 newline1 par_parset2 newline2 par_parset2 1 par_parset2 2 par_parset2 newline1 par_parset2 newline2 par_parset2 1 par_parset2 2 par_parset2 3 par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 baz par_parset2 myecho myvar myarr 1 foo myecho myvar myarr 1 bar myecho myvar myarr 1 bar par_parset2 bug #52507: parset arr1 -v echo ::: fails par_parset2 seq 3 par_parset2 1 par_parset2 2 par_parset2 3 par_perlexpr_repl ### {= and =} in different groups separated by space par_perlexpr_repl b par_perlexpr_repl b par_perlexpr_repl bb par_perlexpr_repl bb par_perlexpr_repl b{= b par_perlexpr_repl b{=b par_perlexpr_repl b {=a par_perlexpr_repl {=a par_perlexpr_repl {= a par_perlexpr_repl {= a =} par_perlexpr_repl ### bug #45842: Do not evaluate {= =} twice par_perlexpr_repl 1 par_perlexpr_repl 2 par_perlexpr_repl 3 par_perlexpr_repl 4 par_perlexpr_repl 1 par_perlexpr_repl 2 par_perlexpr_repl 3 par_perlexpr_repl 4 par_perlexpr_repl 1 2 par_perlexpr_repl 3 4 par_perlexpr_repl 5 6 par_perlexpr_repl 7 8 par_perlexpr_repl 9 10 par_perlexpr_repl 11 12 par_perlexpr_repl 13 14 par_perlexpr_repl 15 16 par_perlexpr_repl 17 18 par_perlexpr_repl 19 20 par_perlexpr_repl 21 22 par_perlexpr_repl 23 24 par_perlexpr_repl 1 par_perlexpr_repl 2 par_perlexpr_repl 3 par_perlexpr_repl 4 par_perlexpr_repl 5 par_perlexpr_repl 6 par_perlexpr_repl 7 par_perlexpr_repl 8 par_perlexpr_repl 9 par_perlexpr_repl 10 par_perlexpr_repl 11 par_perlexpr_repl 12 par_perlexpr_repl ### bug #45939: {2} in {= =} fails par_perlexpr_repl OK par_perlexpr_repl OK-OK par_pipe_line_buffer ### --pipe --line-buffer par_pipe_line_buffer 200 400 1202 par_pipe_line_buffer These must diff: 1 par_pipe_line_buffer_compress ### --pipe --line-buffer --compress par_pipe_line_buffer_compress 200 400 1202 par_results_compress 0 par_results_compress 1 par_results_csv bug #: --results csv par_results_csv --header : --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --files 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --header : --tag --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag --compress 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 22 11 par_results_csv --header : --tag --compress ", par_results_csv --header : --tag --compress 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 22 12 par_results_csv --header : --tag --compress ", par_results_csv --header : --tag --compress 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 23 11 par_results_csv --header : --tag --compress ", par_results_csv --header : --tag --compress 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12 par_results_csv --header : --tag --compress ", par_results_csv --header : --tag Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --tag 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 22 11 par_results_csv --header : --tag ", par_results_csv --header : --tag 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 22 12 par_results_csv --header : --tag ", par_results_csv --header : --tag 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 23 11 par_results_csv --header : --tag ", par_results_csv --header : --tag 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12 par_results_csv --header : --tag ", par_results_csv --header : --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --files 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --header : --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : --compress 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 par_results_csv --header : --compress ", par_results_csv --header : --compress 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 par_results_csv --header : --compress ", par_results_csv --header : --compress 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 par_results_csv --header : --compress ", par_results_csv --header : --compress 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 par_results_csv --header : --compress ", par_results_csv --header : Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr par_results_csv --header : 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 par_results_csv --header : ", par_results_csv --header : 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 par_results_csv --header : ", par_results_csv --header : 3,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 par_results_csv --header : ", par_results_csv --header : 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 par_results_csv --header : ", par_results_csv --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --tag --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --tag --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --files 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile", par_results_csv --tag --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --tag --compress 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 H2 H1 par_results_csv --tag --compress ", par_results_csv --tag --compress 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 H2 11 par_results_csv --tag --compress ", par_results_csv --tag --compress 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 H2 12 par_results_csv --tag --compress ", par_results_csv --tag --compress 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 22 H1 par_results_csv --tag --compress ", par_results_csv --tag --compress 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 22 11 par_results_csv --tag --compress ", par_results_csv --tag --compress 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 22 12 par_results_csv --tag --compress ", par_results_csv --tag --compress 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 23 H1 par_results_csv --tag --compress ", par_results_csv --tag --compress 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 23 11 par_results_csv --tag --compress ", par_results_csv --tag --compress 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12 par_results_csv --tag --compress ", par_results_csv --tag Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --tag 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 H2 H1 par_results_csv --tag ", par_results_csv --tag 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 H2 11 par_results_csv --tag ", par_results_csv --tag 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 H2 12 par_results_csv --tag ", par_results_csv --tag 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 22 H1 par_results_csv --tag ", par_results_csv --tag 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 22 11 par_results_csv --tag ", par_results_csv --tag 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 22 12 par_results_csv --tag ", par_results_csv --tag 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 23 H1 par_results_csv --tag ", par_results_csv --tag 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 23 11 par_results_csv --tag ", par_results_csv --tag 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12 par_results_csv --tag ", par_results_csv --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --files 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile, par_results_csv --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv --compress 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 par_results_csv --compress ", par_results_csv --compress 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 par_results_csv --compress ", par_results_csv --compress 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 par_results_csv --compress ", par_results_csv --compress 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 par_results_csv --compress ", par_results_csv --compress 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 par_results_csv --compress ", par_results_csv --compress 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 par_results_csv --compress ", par_results_csv --compress 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 par_results_csv --compress ", par_results_csv --compress 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 par_results_csv --compress ", par_results_csv --compress 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 par_results_csv --compress ", par_results_csv Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr par_results_csv 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 par_results_csv ", par_results_csv 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 par_results_csv ", par_results_csv 3,:,999.999,999.999,0,6,0,0,"echo H2 12",H2,12,"H2 12 par_results_csv ", par_results_csv 4,:,999.999,999.999,0,6,0,0,"echo 22 H1",22,H1,"22 H1 par_results_csv ", par_results_csv 5,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 par_results_csv ", par_results_csv 6,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 par_results_csv ", par_results_csv 7,:,999.999,999.999,0,6,0,0,"echo 23 H1",23,H1,"23 H1 par_results_csv ", par_results_csv 8,:,999.999,999.999,0,6,0,0,"echo 23 11",23,11,"23 11 par_results_csv ", par_results_csv 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 par_results_csv ", par_retries_all_fail bug #53748: -k --retries 10 + out of filehandles = blocking par_retries_all_fail 1 par_retries_all_fail 2 par_retries_all_fail 3 par_retries_all_fail 4 par_retries_all_fail 5 par_retries_all_fail 6 par_retries_all_fail 7 par_retries_all_fail 8 par_sem_2jobs ### Test semaphore 2 jobs running simultaneously par_sem_2jobs job1a 1 par_sem_2jobs job2a 2 par_sem_2jobs job1b 3 par_sem_2jobs job3a 4 par_sem_2jobs job2b 5 par_sem_2jobs job3b 6 par_sem_2jobs done par_semaphore ### Test if parallel invoked as sem will run parallel --semaphore par_semaphore job1a 1 par_semaphore job2a 2 par_semaphore job1b 3 par_semaphore job3a 4 par_semaphore job2b 5 par_semaphore job3b 6 par_semaphore done par_shellquote ### Test --shellquote in all shells par_shellquote ash ' par_shellquote ash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote bash ' par_shellquote bash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote csh \\\\\\\\ "\ par_shellquote csh "\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ par_shellquote dash ' par_shellquote dash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote fish ' par_shellquote fish  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote fizsh ' par_shellquote fizsh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote ksh ' par_shellquote ksh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote ksh93 ' par_shellquote ksh93  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote lksh ' par_shellquote lksh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote mksh ' par_shellquote mksh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote posh ' par_shellquote posh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote rzsh ' par_shellquote rzsh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote sash ' par_shellquote sash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote sh ' par_shellquote sh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote static-sh ' par_shellquote static-sh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote tcsh \\\\\\\\ "\ par_shellquote tcsh "\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ par_shellquote yash ' par_shellquote yash  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote zsh ' par_shellquote zsh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~' par_shellquote csh \\\\\\\\ "\ par_shellquote csh "\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ par_shellquote tcsh \\\\\\\\ "\ par_shellquote tcsh "\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ par_sockets_cores_threads ### Test --number-of-sockets/cores/threads par_sockets_cores_threads 1 par_sockets_cores_threads 2 par_sockets_cores_threads 4 par_sockets_cores_threads 2 par_sockets_cores_threads ### Test --use-sockets-instead-of-threads par_sockets_cores_threads threads done par_sockets_cores_threads sockets done par_sockets_cores_threads Threads should complete first on machines with less than 8 sockets par_tmp_full ### Test --tmpdir running full. bug #40733 was caused by this par_tmp_full parallel: Error: Output is incomplete. par_tmp_full parallel: Error: Cannot append to buffer file in /tmp/shm/parallel. par_tmp_full parallel: Error: Is the disk full? par_tmp_full parallel: Error: Change $TMPDIR with --tmpdir or use --compress. par_tmp_full Warning: unable to close filehandle properly: No space left on device during global destruction. par_tmux_fg bug #50107: --tmux --fg should also write how to access it par_tmux_fg See output with: tmux -S tmp attach par_tmux_fg open terminal failed: not a terminal par_xargs_compat xargs compatibility par_xargs_compat ### Test -L -l and --max-lines par_xargs_compat a_b par_xargs_compat c par_xargs_compat a_b c par_xargs_compat a_b c par_xargs_compat ### xargs -L1 echo par_xargs_compat a_b par_xargs_compat c par_xargs_compat a_b par_xargs_compat c par_xargs_compat a_b par_xargs_compat c par_xargs_compat Lines ending in space should continue on next line par_xargs_compat ### xargs -L1 echo par_xargs_compat a_b c par_xargs_compat d par_xargs_compat a_b c par_xargs_compat d par_xargs_compat a_b c par_xargs_compat d par_xargs_compat ### xargs -L2 echo par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat ### xargs -l echo par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat ### xargs -l2 echo par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat ### xargs -l1 echo par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat ### xargs --max-lines=2 echo par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat a_b c d par_xargs_compat e par_xargs_compat ### xargs --max-lines echo par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat a_b c par_xargs_compat d par_xargs_compat e par_xargs_compat ### test too long args par_xargs_compat parallel: Error: Command line too long (1000005 >= 131049) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... par_xargs_compat xargs: argument line too long par_xargs_compat environment: line 109: stdsort: command not found par_xargs_compat environment: line 112: stdsort: command not found par_xargs_compat environment: line 115: stdsort: command not found par_xargs_compat ### Test -x par_xargs_compat environment: line 119: stdsort: command not found par_xargs_compat environment: line 122: stdsort: command not found par_xargs_compat environment: line 125: stdsort: command not found par_xargs_compat environment: line 128: stdsort: command not found par_xargs_compat environment: line 131: stdsort: command not found par_xargs_compat environment: line 134: stdsort: command not found