parallel/testsuite/wanted-results/parallel-local-0.3s

1399 lines
58 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

par_0_no_newline A single zero without \n should not be ignored
par_0_no_newline 0
par_PARALLEL_ENV ### PARALLEL_ENV as variable
par_PARALLEL_ENV OK as variable
par_PARALLEL_ENV ### PARALLEL_ENV as file
par_PARALLEL_ENV OK as file
par_PARALLEL_ENV ### PARALLEL_ENV as fifo
par_PARALLEL_ENV OK as fifo
par_PARALLEL_HOME_not_exist ### bug #62311: --pipepart + ::: fail
par_PARALLEL_HOME_not_exist OK
par_PARALLEL_HOME_not_exist Should warn:
par_PARALLEL_HOME_not_exist parallel: Warning: $PARALLEL_HOME (/does-not-exist) does not exist.
par_PARALLEL_HOME_not_exist parallel: Warning: Using ~/.parallel
par_PARALLEL_HOME_not_exist should
par_PARALLEL_HOME_not_exist warn
par_PARALLEL_HOME_with_+ bug #59453: PARALLEL_HOME with plus sign causes error: config not readable
par_PARALLEL_HOME_with_+ Parallel_home_with+
par_X_eta_div_zero ### bug #34422: parallel -X --eta crashes with div by zero
par_X_eta_div_zero Computers / CPU cores / Max jobs to run
par_X_eta_div_zero 0:local / 0 / 0
par_append_joblog ### can you append to a joblog using +
par_append_joblog 1
par_append_joblog 1
par_append_joblog 3
par_argfile ### Test -a and --arg-file: Read input from file instead of stdin
par_argfile 1
par_argfile 2
par_argfile 3
par_argfile 4
par_argfile 5
par_argfile 6
par_argfile 7
par_argfile 8
par_argfile 9
par_argfile 10
par_argfile 1
par_argfile 2
par_argfile 3
par_argfile 4
par_argfile 5
par_argfile 6
par_argfile 7
par_argfile 8
par_argfile 9
par_argfile 10
par_arguments_on_cmdline ### Test arguments on commandline
par_arguments_on_cmdline args on cmdline
par_arguments_on_cmdline args on cmdline
par_basic_halt parallel: This job failed:
par_basic_halt false
par_basic_halt parallel: This job succeeded:
par_basic_halt true
par_basic_halt parallel: Error: --halt must have 'never', 'soon', or 'now'.
par_basic_halt parallel: Error: --halt soon must be followed by ,success or ,fail.
par_basic_halt parallel: Error: --halt now must be followed by ,success or ,fail.
par_blocking_redir 0 0 0
par_blocking_redir 0 0 0
par_blocking_redir 1 9 54
par_blocking_redir 3 3 6
par_blocking_redir Test stderr
par_blocking_redir Test stdout
par_blocking_redir bug #52740: Bash redirection with process substitution blocks
par_blocking_redir stderr
par_blocking_redir stderr
par_blocking_redir stdout
par_blocking_redir stdout
par_colour_failed --colour-failed --colour
par_colour_failed seq 1;exit 0
par_colour_failed 1
par_colour_failed seq 1;exit 1(B
par_colour_failed 1(B
par_colour_failed seq 1;exit 2(B
par_colour_failed 1(B
par_colour_failed seq 2;exit 0
par_colour_failed 1
par_colour_failed 2
par_colour_failed seq 2;exit 1(B
par_colour_failed 1(B
par_colour_failed 2(B
par_colour_failed seq 2;exit 2(B
par_colour_failed 1(B
par_colour_failed 2(B
par_colour_failed seq 1;exit 0(B
par_colour_failed 1(B
par_colour_failed seq 1;exit 1(B
par_colour_failed 1(B
par_colour_failed seq 1;exit 2(B
par_colour_failed 1(B
par_colour_failed seq 2;exit 0(B
par_colour_failed 1(B
par_colour_failed 2(B
par_colour_failed seq 2;exit 1(B
par_colour_failed 1(B
par_colour_failed 2(B
par_colour_failed seq 2;exit 2(B
par_colour_failed 1(B
par_colour_failed 2(B
par_colsep_0 bug --colsep 0
par_colsep_0 OK
par_colsep_0 OK
par_colsep_default bug #37956: --colsep does not default to '\t' as specified in the man page.
par_colsep_default one 1
par_compress_stdout_stderr ### Test compress - stdout
par_compress_stdout_stderr OK
par_compress_stdout_stderr ### Test compress - stderr
par_compress_stdout_stderr ls: cannot access '/OK-if-missing-file': No such file or directory
par_cr_newline_header ### --header : should set named replacement string if input line ends in \r\n
par_cr_newline_header bar
par_crnl ### Give a warning if input is DOS-ascii
par_crnl parallel: Warning: The first three values end in CR-NL. Consider using -d "\r\n"
par_crnl b
par_crnl a
par_crnl c
par_crnl a
par_crnl d
par_crnl a
par_crnl e
par_crnl a
par_crnl f
par_crnl a
par_crnl This should give no warning because -d is set
par_crnl ba
par_crnl ca
par_crnl da
par_crnl ea
par_crnl fa
par_crnl This should give no warning because line2 has newline only
par_crnl b
par_crnl a
par_crnl ca
par_crnl d
par_crnl a
par_crnl e
par_crnl a
par_crnl f
par_crnl a
par_csv col1"x3"-new
par_csv line col2-new2
par_csv line col3-col 4
par_csv 2"x3" board-Value with ,-Column 3
par_csv_pipe Only pass full records to tail
par_csv_pipe Too small block size
par_csv_pipe parallel: Warning: A record was longer than 10000. Increasing to --blocksize 13001.
par_csv_pipe parallel: Warning: A record was longer than 13001. Increasing to --blocksize 16903.
par_csv_pipe 2000"
par_csv_pipe 3000"
par_csv_pipe 4000"
par_csv_pipe 5000"
par_csv_pipe 6000"
par_csv_pipe 7000"
par_csv_pipe 8000"
par_csv_pipe 9000"
par_csv_pipe 10000"
par_csv_pipe 11000"
par_csv_pipe More records in single block
par_csv_pipe 9000"
par_csv_pipe 11000"
par_ctagstring ### --ctag --ctagstring should be different from --tag --tagstring
par_ctagstring 8
par_ctagstring 37
par_ctagstring 10
par_ctagstring 39
par_delimiter ### Test --delimiter and -d: Delimiter instead of newline
par_delimiter # Yes there is supposed to be an extra newline for -d N
par_delimiter This is line 1
par_delimiter This is line 2
par_delimiter This is line 3
par_delimiter
par_delimiter This is line 1
par_delimiter This is line 2
par_delimiter This is line 3
par_delimiter
par_delimiter delimiter NUL line 1
par_delimiter line 2
par_delimiter line 3
par_delimiter delimiter TAB line 1
par_delimiter line 2
par_delimiter line 3
par_delimiter_space ### Does space as delimiter work?
par_delimiter_space 1
par_delimiter_space done
par_dirnamereplace ### Test --dnr
par_dirnamereplace . a
par_dirnamereplace a a/b
par_dirnamereplace a/b a/b/c
par_dirnamereplace ### Test --dirnamereplace
par_dirnamereplace . a
par_dirnamereplace a a/b
par_dirnamereplace a/b a/b/c
par_disk_full ### Disk full
par_disk_full cat: write error: No space left on device
par_disk_full parallel: Error: Output is incomplete.
par_disk_full parallel: Error: Cannot append to buffer file in /mnt/ram.
par_disk_full parallel: Error: Is the disk full?
par_disk_full parallel: Error: Change $TMPDIR with --tmpdir or use --compress.
par_do_not_export_PARALLEL_ENV ### Do not export $PARALLEL_ENV to children
par_do_not_export_PARALLEL_ENV Should be 0
par_do_not_export_PARALLEL_ENV 1 0 1
par_do_not_export_PARALLEL_ENV Should give 60k and not overflow
par_do_not_export_PARALLEL_ENV 1 1 60001
par_dryrun_append_joblog --dry-run should not append to joblog
par_dryrun_append_joblog 1
par_dryrun_append_joblog 2
par_dryrun_append_joblog 3
par_dryrun_append_joblog echo 1
par_dryrun_append_joblog echo 2
par_dryrun_append_joblog echo 3
par_dryrun_append_joblog echo 4
par_dryrun_append_joblog 4
par_echo_jobseq ### bug #44995: parallel echo {#} ::: 1 2 ::: 1 2
par_echo_jobseq 1
par_echo_jobseq 2
par_echo_jobseq 3
par_echo_jobseq 4
par_empty bug #:
par_empty true
par_empty_command bug #54647: parset ignores empty lines
par_empty_command
par_empty_command Empty:
par_empty_command B: B
par_empty_input_on_stdin https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910470
par_empty_input_on_stdin This should give no output
par_empty_line ### Test bug: empty line for | sh with -k
par_empty_line a
par_empty_line b
par_empty_string_quote bug #37694: Empty string argument skipped when using --quote
par_empty_string_quote 3
par_env_parallel_pipefail ### test env_parallel with pipefail + inherit_errexit
par_env_parallel_pipefail OK
par_exit_val ### Test bug #45619: "--halt" erroneous error exit code (should give 0)
par_exit_val 0
par_exit_val ### Test exit val - true
par_exit_val 0
par_exit_val ### Test exit val - false
par_exit_val 1
par_expansion_in_colsep ### bug #36260: {n} expansion in --colsep files fails for empty fields if all following fields are also empty
par_expansion_in_colsep AB
par_extglob env_parallel
par_file_ending_in_newline ### Hans found a bug giving unitialized variable
par_file_ending_in_newline gzip /tmp/parallel_f1
par_file_ending_in_newline gzip '/tmp/parallel_f2
par_file_ending_in_newline '
par_fish ### https://github.com/fish-shell/fish-shell/issues/5582
par_fish OK
par_group-by_colsep_space ### --colsep " " should work like ","
par_group-by_colsep_space 1 2 5
par_group-by_colsep_space 2 2 10
par_group-by_colsep_space 1 1 6
par_group-by_colsep_space 1 2 5
par_group-by_colsep_space 2 4 10
par_group-by_colsep_space 1 3 6
par_halt_on_error_division_by_zero ### --halt-on-error soon,fail=100% with no input should not give division by zero
par_halt_on_error_division_by_zero 0
par_halt_one_job # Halt soon if there is a single job
par_halt_one_job should run 0 1 = job 1 2
par_halt_one_job 1
par_halt_one_job 2
par_halt_one_job parallel: This job failed:
par_halt_one_job echo 2;exit 1
par_halt_one_job should run 1 = job 1
par_halt_one_job 1
par_halt_one_job parallel: This job failed:
par_halt_one_job echo 1;exit 1
par_halt_one_job should run 0 1 = job 1 2
par_halt_one_job 1
par_halt_one_job 2
par_halt_one_job parallel: This job failed:
par_halt_one_job echo 2;exit 1
par_halt_one_job should run 1 = job 1
par_halt_one_job 1
par_halt_one_job parallel: This job failed:
par_halt_one_job echo 1;exit 1
par_hash_and_time_functions ### Functions for replacement string
par_hash_and_time_functions 9999-99-99T99:99:99 9999-99-99T99:99 9999-99-99 99:99:99 99:99 99999999999999 999999999999 99999999 999999 9999
par_hash_and_time_functions XxX
par_help ### Test --help and -h: Help output (just check we get the same amount of lines)
par_help Output from -h and --help
par_help 37
par_help 37
par_i_t ### Test -i
par_i_t replace
par_i_t ### Test --replace
par_i_t replace
par_i_t ### Test -t
par_i_t echo bar
par_i_t echo car
par_i_t echo far
par_i_t ### Test --verbose
par_i_t echo bar
par_i_t echo car
par_i_t echo far
par_inefficient_L bug #37325: Inefficiency of --pipe -L
par_inefficient_L 276 276 996
par_inefficient_L FOO
par_inefficient_L 248 248 992
par_inefficient_L FOO
par_inefficient_L 248 248 992
par_inefficient_L FOO
par_inefficient_L 244 244 993
par_inefficient_L FOO
par_inefficient_L 200 200 1000
par_inefficient_L FOO
par_inefficient_L 200 200 1000
par_inefficient_L FOO
par_inefficient_L 200 200 1000
par_inefficient_L FOO
par_inefficient_L 200 200 1000
par_inefficient_L FOO
par_inefficient_L 184 184 920
par_inefficient_L FOO
par_japanese_chars_in_replacement_string ### bug #43817: Some JP char cause problems in positional replacement strings
par_japanese_chars_in_replacement_string <09><<3C>>
par_japanese_chars_in_replacement_string <09><1 $_=2<>>
par_japanese_chars_in_replacement_string ワ
par_japanese_chars_in_replacement_string <09><<3C>>
par_japanese_chars_in_replacement_string <09><1 $_=2<>>
par_japanese_chars_in_replacement_string ワ
par_japanese_chars_in_replacement_string <09><<3C>> <20><1 $_=2<>> ワ
par_japanese_chars_in_replacement_string <09><<3C>>
par_jobslot_jobnumber_pipe ### Test bug #43376: {%} and {#} with --pipe
par_jobslot_jobnumber_pipe 1
par_jobslot_jobnumber_pipe 1
par_jobslot_jobnumber_pipe 1
par_jobslot_jobnumber_pipe 1
par_json { "Seq": 0, "Host": ":", "Starttime": 0000000000.000, "JobRuntime": 0.000, "Send": 0, "Receive": 0, "Exitval": 0, "Signal": 0, "Command": "echo '\"\u0000\\\"' '\"'", "V": [ "\"\u0000\\\"","\"" ], "Stdout": "\"\u0000\\\" \"\u000a", "Stderr": "" }
par_json { "Seq": 0, "Host": ":", "Starttime": 0000000000.000, "JobRuntime": 0.000, "Send": 0, "Receive": 0, "Exitval": 0, "Signal": 0, "Command": "echo '\"\u0000\\\"' '\\\\'", "V": [ "\"\u0000\\\"","\\\\" ], "Stdout": "\"\u0000\\\" \\\\\u000a", "Stderr": "" }
par_l0_is_l1 ### Because of --tollef -l, then -l0 == -l1, sorry
par_l0_is_l1 l0 1
par_l0_is_l1 l0 2
par_linebuffer_files ### bug #48658: --linebuffer --files
par_linebuffer_files 21
par_link_files_as_only_arg bug #50685: single ::::+ does not work
par_link_files_as_only_arg 1 1 1
par_link_files_as_only_arg 2 2 2
par_link_files_as_only_arg 3 3 3
par_ll_long_followed_by_short
par_ll_long_followed_by_short A very long line
par_ll_long_followed_by_short 
par_ll_long_followed_by_short A very long line
par_ll_long_followed_by_short 
par_ll_long_followed_by_short OK
par_locale_quoting ### quoting in different locales
par_locale_quoting <09>`/tmp/test<73>`
par_locale_quoting $LC_ALL <20>`/tmp/test<73>`
par_locale_quoting echo $LC_ALL '<27>`/tmp/test<73>`'
par_locale_quoting zh_HK.big5hkscs <20>`/tmp/test<73>`
par_long_cmd_mem_use ### Test long commands do not take up all memory
par_long_cmd_mem_use 1
par_long_cmd_mem_use 10
par_long_cmd_mem_use 100
par_long_cmd_mem_use 11
par_long_cmd_mem_use 12
par_long_cmd_mem_use 13
par_long_cmd_mem_use 14
par_long_cmd_mem_use 15
par_long_cmd_mem_use 16
par_long_cmd_mem_use 17
par_long_cmd_mem_use 18
par_long_cmd_mem_use 19
par_long_cmd_mem_use 2
par_long_cmd_mem_use 20
par_long_cmd_mem_use 21
par_long_cmd_mem_use 22
par_long_cmd_mem_use 23
par_long_cmd_mem_use 24
par_long_cmd_mem_use 25
par_long_cmd_mem_use 26
par_long_cmd_mem_use 27
par_long_cmd_mem_use 28
par_long_cmd_mem_use 29
par_long_cmd_mem_use 3
par_long_cmd_mem_use 30
par_long_cmd_mem_use 31
par_long_cmd_mem_use 32
par_long_cmd_mem_use 33
par_long_cmd_mem_use 34
par_long_cmd_mem_use 35
par_long_cmd_mem_use 36
par_long_cmd_mem_use 37
par_long_cmd_mem_use 38
par_long_cmd_mem_use 39
par_long_cmd_mem_use 4
par_long_cmd_mem_use 40
par_long_cmd_mem_use 41
par_long_cmd_mem_use 42
par_long_cmd_mem_use 43
par_long_cmd_mem_use 44
par_long_cmd_mem_use 45
par_long_cmd_mem_use 46
par_long_cmd_mem_use 47
par_long_cmd_mem_use 48
par_long_cmd_mem_use 49
par_long_cmd_mem_use 5
par_long_cmd_mem_use 50
par_long_cmd_mem_use 51
par_long_cmd_mem_use 52
par_long_cmd_mem_use 53
par_long_cmd_mem_use 54
par_long_cmd_mem_use 55
par_long_cmd_mem_use 56
par_long_cmd_mem_use 57
par_long_cmd_mem_use 58
par_long_cmd_mem_use 59
par_long_cmd_mem_use 6
par_long_cmd_mem_use 60
par_long_cmd_mem_use 61
par_long_cmd_mem_use 62
par_long_cmd_mem_use 63
par_long_cmd_mem_use 64
par_long_cmd_mem_use 65
par_long_cmd_mem_use 66
par_long_cmd_mem_use 67
par_long_cmd_mem_use 68
par_long_cmd_mem_use 69
par_long_cmd_mem_use 7
par_long_cmd_mem_use 70
par_long_cmd_mem_use 71
par_long_cmd_mem_use 72
par_long_cmd_mem_use 73
par_long_cmd_mem_use 74
par_long_cmd_mem_use 75
par_long_cmd_mem_use 76
par_long_cmd_mem_use 77
par_long_cmd_mem_use 78
par_long_cmd_mem_use 79
par_long_cmd_mem_use 8
par_long_cmd_mem_use 80
par_long_cmd_mem_use 81
par_long_cmd_mem_use 82
par_long_cmd_mem_use 83
par_long_cmd_mem_use 84
par_long_cmd_mem_use 85
par_long_cmd_mem_use 86
par_long_cmd_mem_use 87
par_long_cmd_mem_use 88
par_long_cmd_mem_use 89
par_long_cmd_mem_use 9
par_long_cmd_mem_use 90
par_long_cmd_mem_use 91
par_long_cmd_mem_use 92
par_long_cmd_mem_use 93
par_long_cmd_mem_use 94
par_long_cmd_mem_use 95
par_long_cmd_mem_use 96
par_long_cmd_mem_use 97
par_long_cmd_mem_use 98
par_long_cmd_mem_use 99
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 1
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 10
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 100
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 11
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 12
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 13
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 14
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 15
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 16
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 17
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 18
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 19
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 2
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 20
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 21
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 22
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 23
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 24
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 25
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 26
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 27
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 28
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 29
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 3
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 30
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 31
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 32
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 33
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 34
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 35
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 36
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 37
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 38
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 39
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 4
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 40
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 41
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 42
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 43
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 44
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 45
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 46
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 47
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 48
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 49
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 5
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 50
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 51
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 52
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 53
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 54
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 55
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 56
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 57
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 58
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 59
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 6
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 60
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 61
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 62
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 63
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 64
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 65
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 66
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 67
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 68
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 69
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 7
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 70
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 71
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 72
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 73
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 74
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 75
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 76
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 77
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 78
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 79
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 8
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 80
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 81
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 82
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 83
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 84
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 85
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 86
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 87
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 88
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 89
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 9
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 90
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 91
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 92
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 93
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 94
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 95
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 96
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 97
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 98
par_long_cmd_mem_use perl -e '$r=rand(shift); for($f = 0; $f < $r; $f++){ $a = "a"x100 } print shift,"\n"' 10000 99
par_maxchar_s ### Test --max-chars and -s: Max number of chars in a line
par_maxchar_s line 1 line 1
par_maxchar_s line 2
par_maxchar_s line 1 line 1
par_maxchar_s line 2
par_maxproc ### Test --max-procs and -P: Number of processes
par_maxproc max proc 1
par_maxproc max proc 2
par_maxproc max proc 3
par_maxproc max proc 4
par_maxproc max proc 5
par_maxproc max proc 6
par_maxproc max proc 7
par_maxproc max proc 8
par_maxproc max proc 9
par_maxproc max proc 10
par_maxproc 200% proc 1
par_maxproc 200% proc 2
par_maxproc 200% proc 3
par_maxproc 200% proc 4
par_maxproc 200% proc 5
par_maxproc 200% proc 6
par_maxproc 200% proc 7
par_maxproc 200% proc 8
par_maxproc 200% proc 9
par_maxproc 200% proc 10
par_negative_replacement ### Negative replacement strings
par_negative_replacement correct
par_negative_replacement correct
par_negative_replacement 2 + 4 = 2 + 4= 6
par_negative_replacement correct
par_newline_in_command Command with newline and positional replacement strings
par_newline_in_command O K
par_nice_locally ### Test --nice locally
par_nice_locally PAR=a bash -c "echo \$PAR b"
par_nice_locally a b
par_no_command_given ### Test bugfix if no command given
par_no_command_given 1 2
par_no_command_given /bin/bash: line 1: 3: command not found
par_no_command_given parallel: Error: Command line too long (1000002 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
par_no_joblog_with_dryrun bug #46016: --joblog should not log when --dryrun
par_no_joblog_with_dryrun echo Only_this
par_no_run_if_empty ### Test --no-run-if-empty and -r: This should give no output
par_open-tty ### bug #62310: xargs compatibility: --open-tty
par_open-tty /dev/tty
par_open-tty /dev/tty
par_opt_gnu ### Test --tollef
par_opt_gnu parallel: Error: --tollef has been retired.
par_opt_gnu parallel: Error: Remove --tollef or use --gnu to override --tollef.
par_opt_gnu ### Test --tollef --gnu
par_opt_gnu 1
par_opt_gnu 2
par_opt_gnu 3
par_opt_gnu --
par_opt_gnu a
par_opt_gnu b
par_opt_gnu c
par_opt_gnu ### Test --gnu
par_opt_gnu 1
par_opt_gnu 2
par_opt_gnu 3
par_opt_gnu --
par_opt_gnu a
par_opt_gnu b
par_opt_gnu c
par_parcat_args_stdin bug #51690: parcat: read args from stdin
par_parcat_args_stdin OK1
par_parcat_args_stdin OK2
par_parcat_rm bug #51691: parcat --rm remove fifo when opened
par_parcat_rm OK1
par_parcat_rm OK file removed
par_parset_tee 1 3440 3440 16910
par_parset_tee 5 3439 3439 16904
par_perlexpr_with_newline Perl expression spanning 2 lines
par_pipe_N1_regexp bug #55131: --regexp --recstart hangs
par_pipe_N1_regexp These should give the same
par_pipe_N1_regexp JOB1
par_pipe_N1_regexp begin
par_pipe_N1_regexp end
par_pipe_N1_regexp END
par_pipe_N1_regexp JOB2
par_pipe_N1_regexp begin
par_pipe_N1_regexp aend
par_pipe_N1_regexp END
par_pipe_N1_regexp JOB3
par_pipe_N1_regexp begin
par_pipe_N1_regexp bend
par_pipe_N1_regexp END
par_pipe_N1_regexp JOB4
par_pipe_N1_regexp begin
par_pipe_N1_regexp cend
par_pipe_N1_regexp END
par_pipe_N1_regexp JOB1
par_pipe_N1_regexp begin
par_pipe_N1_regexp end
par_pipe_N1_regexp END
par_pipe_N1_regexp JOB2
par_pipe_N1_regexp begin
par_pipe_N1_regexp aend
par_pipe_N1_regexp END
par_pipe_N1_regexp JOB3
par_pipe_N1_regexp begin
par_pipe_N1_regexp bend
par_pipe_N1_regexp END
par_pipe_N1_regexp JOB4
par_pipe_N1_regexp begin
par_pipe_N1_regexp cend
par_pipe_N1_regexp END
par_pipe_float_blocksize ### Test --block <<non int>>
par_pipe_float_blocksize 1 1 2
par_pipe_float_blocksize 1 1 2
par_pipe_float_blocksize 1 1 2
par_pipe_float_blocksize 1 1 2
par_pipe_float_blocksize 1 1 2
par_pipe_no_command ### --pipe without command
par_pipe_no_command parallel: Error: --pipe/--pipepart must have a command to pipe into (e.g. 'cat').
par_pipe_recend bug #54328: --pipe --recend blocks
par_pipe_recend 00000000: 31 1
par_pipe_recend 00000000: 0a .
par_pipe_recend 00000000: 32 2
par_pipe_recend 00000000: 0a .
par_pipe_recend 00000000: 33 3
par_pipe_recend 00000000: 0a .
par_pipe_recend 00000000: 31 1
par_pipe_recend 00000000: 0a .
par_pipe_recend 00000000: 32 2
par_pipe_recend 00000000: 0a .
par_pipe_recend 00000000: 33 3
par_pipe_recend 00000000: 0a .
par_pipe_record_size_in_lines bug #34958: --pipe with record size measured in lines
par_pipe_record_size_in_lines 1
par_pipe_record_size_in_lines 2
par_pipe_record_size_in_lines 3
par_pipe_record_size_in_lines 4
par_pipe_record_size_in_lines 5
par_pipe_record_size_in_lines 6
par_pipe_record_size_in_lines 7
par_pipe_record_size_in_lines 8
par_pipe_record_size_in_lines bug 34958-1
par_pipe_record_size_in_lines 9
par_pipe_record_size_in_lines 10
par_pipe_record_size_in_lines bug 34958-1
par_pipe_record_size_in_lines 1
par_pipe_record_size_in_lines 2
par_pipe_record_size_in_lines 3
par_pipe_record_size_in_lines 4
par_pipe_record_size_in_lines 5
par_pipe_record_size_in_lines 6
par_pipe_record_size_in_lines 7
par_pipe_record_size_in_lines 8
par_pipe_record_size_in_lines bug 34958-2
par_pipe_record_size_in_lines 9
par_pipe_record_size_in_lines 10
par_pipe_record_size_in_lines bug 34958-2
par_pipe_tag_v pipe with --tag -v
par_pipe_tag_v foo cat
par_pipe_tag_v foo 1
par_pipe_tag_v foo 2
par_pipe_tag_v foo 3
par_pipe_tag_v parallel: Warning: --files do not work if $TMPDIR contains newline.
par_pipe_tag_v foo /tmp/parallel-local-0.3s-tmp/
par_pipe_tag_v `touch /tmp/tripwire` <"'/tmp/tmpfile.par
par_pipe_to_func ### bug #45998: --pipe to function broken
par_pipe_to_func 1
par_pipe_to_func pipefunc OK
par_pipe_to_func 1
par_pipe_to_func pipefunc and more OK
par_pipe_to_func and more OK
par_pipe_unneeded_procs ### Test bug #34241: --pipe should not spawn unneeded processes
par_pipe_unneeded_procs 1
par_pipe_unneeded_procs 2
par_pipe_unneeded_procs 3
par_pipe_unneeded_procs o
par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB
par_pipepart_block_bigger_2G 1 1 4
par_pipepart_header ### bug #44614: --pipepart --header off by one
par_pipepart_header foo
par_pipepart_header 1
par_pipepart_header 2
par_pipepart_header 3
par_pipepart_header foo
par_pipepart_header 4
par_pipepart_header 5
par_pipepart_header 6
par_pipepart_header foo
par_pipepart_header 7
par_pipepart_header 8
par_pipepart_header 9
par_pipepart_header foo
par_pipepart_header 10
par_pipepart_header foo
par_pipepart_header 1
par_pipepart_header 2
par_pipepart_header 3
par_pipepart_header foo
par_pipepart_header 4
par_pipepart_header 5
par_pipepart_header 6
par_pipepart_header 7
par_pipepart_header 8
par_pipepart_header 9
par_pipepart_header 10
par_pipepart_recend_recstart bug #52343: --recend/--recstart does wrong thing with --pipepart
par_pipepart_recend_recstart a
par_pipepart_recend_recstart 1
par_pipepart_recend_recstart 2
par_pipepart_recend_recstart 3
par_pipepart_recend_recstart 4
par_pipepart_recend_recstart 5
par_pipepart_recend_recstart a
par_pipepart_recend_recstart 6
par_pipepart_recend_recstart 7
par_pipepart_recend_recstart 8
par_pipepart_recend_recstart 9
par_pipepart_recend_recstart 10
par_pipepart_recend_recstart parallel: Warning: A record was longer than 1. Increasing to --blocksize 3.
par_pipepart_recend_recstart parallel: Warning: A record was longer than 3. Increasing to --blocksize 5.
par_pipepart_recend_recstart parallel: Warning: A record was longer than 5. Increasing to --blocksize 8.
par_pipepart_recend_recstart parallel: Warning: A record was longer than 8. Increasing to --blocksize 12.
par_pipepart_recend_recstart a
par_pipepart_recend_recstart 1
par_pipepart_recend_recstart 2
par_pipepart_recend_recstart 3
par_pipepart_recend_recstart 4
par_pipepart_recend_recstart 5
par_pipepart_recend_recstart a
par_pipepart_recend_recstart 6
par_pipepart_recend_recstart 7
par_pipepart_recend_recstart 8
par_pipepart_recend_recstart 9
par_pipepart_recend_recstart 10
par_pipepart_roundrobin ### bug #45769: --round-robin --pipepart gives wrong results
par_pipepart_roundrobin 2
par_pipepart_triple_colon ### bug #62311: --pipepart + ::: fail
par_pipepart_triple_colon 1 1 2
par_pipepart_triple_colon 1 1 2
par_pipepart_triple_colon 1 1 2
par_profile ### Test -J profile, -J /dir/profile, -J ./profile
par_profile local local
par_profile abs abs
par_profile config config
par_python_children ### bug #49970: Python child process dies if --env is used
par_quote ### Test -q
par_quote a b
par_quote h i
par_quote ### Test -q {#}
par_quote 1
par_quote 2
par_quote 1
par_quote 2
par_quote {\#} a
par_quote {\#} b
par_read_from_stdin ### Test empty line as input
par_read_from_stdin empty input line
par_read_from_stdin ### Tests if (cat | sh) works
par_read_from_stdin a 1
par_read_from_stdin a 10
par_read_from_stdin a 11
par_read_from_stdin a 12
par_read_from_stdin a 13
par_read_from_stdin a 14
par_read_from_stdin a 15
par_read_from_stdin a 16
par_read_from_stdin a 17
par_read_from_stdin a 18
par_read_from_stdin a 19
par_read_from_stdin a 2
par_read_from_stdin a 20
par_read_from_stdin a 21
par_read_from_stdin a 22
par_read_from_stdin a 23
par_read_from_stdin a 24
par_read_from_stdin a 25
par_read_from_stdin a 3
par_read_from_stdin a 4
par_read_from_stdin a 5
par_read_from_stdin a 6
par_read_from_stdin a 7
par_read_from_stdin a 8
par_read_from_stdin a 9
par_read_from_stdin b 1
par_read_from_stdin b 10
par_read_from_stdin b 11
par_read_from_stdin b 12
par_read_from_stdin b 13
par_read_from_stdin b 14
par_read_from_stdin b 15
par_read_from_stdin b 16
par_read_from_stdin b 17
par_read_from_stdin b 18
par_read_from_stdin b 19
par_read_from_stdin b 2
par_read_from_stdin b 20
par_read_from_stdin b 21
par_read_from_stdin b 22
par_read_from_stdin b 23
par_read_from_stdin b 24
par_read_from_stdin b 25
par_read_from_stdin b 3
par_read_from_stdin b 4
par_read_from_stdin b 5
par_read_from_stdin b 6
par_read_from_stdin b 7
par_read_from_stdin b 8
par_read_from_stdin b 9
par_read_from_stdin ### Test if xargs-mode works
par_read_from_stdin a 1
par_read_from_stdin a 10
par_read_from_stdin a 11
par_read_from_stdin a 12
par_read_from_stdin a 13
par_read_from_stdin a 14
par_read_from_stdin a 15
par_read_from_stdin a 16
par_read_from_stdin a 17
par_read_from_stdin a 18
par_read_from_stdin a 19
par_read_from_stdin a 2
par_read_from_stdin a 20
par_read_from_stdin a 21
par_read_from_stdin a 22
par_read_from_stdin a 23
par_read_from_stdin a 24
par_read_from_stdin a 25
par_read_from_stdin a 3
par_read_from_stdin a 4
par_read_from_stdin a 5
par_read_from_stdin a 6
par_read_from_stdin a 7
par_read_from_stdin a 8
par_read_from_stdin a 9
par_read_from_stdin b 1
par_read_from_stdin b 10
par_read_from_stdin b 11
par_read_from_stdin b 12
par_read_from_stdin b 13
par_read_from_stdin b 14
par_read_from_stdin b 15
par_read_from_stdin b 16
par_read_from_stdin b 17
par_read_from_stdin b 18
par_read_from_stdin b 19
par_read_from_stdin b 2
par_read_from_stdin b 20
par_read_from_stdin b 21
par_read_from_stdin b 22
par_read_from_stdin b 23
par_read_from_stdin b 24
par_read_from_stdin b 25
par_read_from_stdin b 3
par_read_from_stdin b 4
par_read_from_stdin b 5
par_read_from_stdin b 6
par_read_from_stdin b 7
par_read_from_stdin b 8
par_read_from_stdin b 9
par_recend_not_regexp ### bug #56558: --rrs with --recend that is not regexp
par_recend_not_regexp aend
par_recend_not_regexp b
par_recend_not_regexp end
par_regexp_chars_in_template ### Test regexp chars in template
par_regexp_chars_in_template a1b1^c1[.}c a2b2^c2[.}c a3b3^c3[.}c a4b4^c4[.}c a5b5^c5[.}c a6b6^c6[.}c
par_replace_replacementstring ### Test replace {}
par_replace_replacementstring replace curlies
par_replace_replacementstring replace curlies
par_replacement_string_as_part_of_command ### {} as part of the command
par_replacement_string_as_part_of_command /bin/ls
par_replacement_string_as_part_of_command /bin/ls
par_replacement_string_as_part_of_command /bin/ls
par_replacement_string_as_part_of_command /bin/ls
par_replacement_string_as_part_of_command /bin/ls
par_replacement_string_as_part_of_command /bin/ls
par_replacement_string_on_utf8 ### test {} {.} on UTF8 input
par_replacement_string_on_utf8 中国 (Zhōngguó)/China's (中国) road.jpg 中国 (Zhōngguó)/China's (中国) road
par_replacement_string_on_utf8 中国.(中国) 中国
par_replacement_string_on_utf8 /tmp/test-of-{.}-parallel/subdir/file /tmp/test-of-{.}-parallel/subdir/file
par_replacement_string_on_utf8 /tmp/test-of-{.}-parallel/subdir/file{.}.funkyextension}} /tmp/test-of-{.}-parallel/subdir/file{.}
par_results ### --results test.csv
par_results a
par_results b
par_results c
par_results_arg_256 ### bug #42089: --results with arg > 256 chars (should be 1 char shorter)
par_results_arg_256 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
par_results_arg_256 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
par_results_json ### --results test.json
par_results_json { "Seq": 1, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 2 4", "V": [ "2","4" ], "Stdout": "2\u000a3\u000a4\u000a", "Stderr": "" }
par_results_json { "Seq": 2, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 8, "Exitval": 0, "Signal": 0, "Command": "seq 2 5", "V": [ "2","5" ], "Stdout": "2\u000a3\u000a4\u000a5\u000a", "Stderr": "" }
par_results_json { "Seq": 3, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 4, "Exitval": 0, "Signal": 0, "Command": "seq 3 4", "V": [ "3","4" ], "Stdout": "3\u000a4\u000a", "Stderr": "" }
par_results_json { "Seq": 4, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 3 5", "V": [ "3","5" ], "Stdout": "3\u000a4\u000a5\u000a", "Stderr": "" }
par_results_json { "Seq": 1, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 2 4", "V": [ "2","4" ], "Stdout": "2\u000a3\u000a4\u000a", "Stderr": "" }
par_results_json { "Seq": 2, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 8, "Exitval": 0, "Signal": 0, "Command": "seq 2 5", "V": [ "2","5" ], "Stdout": "2\u000a3\u000a4\u000a5\u000a", "Stderr": "" }
par_results_json { "Seq": 3, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 4, "Exitval": 0, "Signal": 0, "Command": "seq 3 4", "V": [ "3","4" ], "Stdout": "3\u000a4\u000a", "Stderr": "" }
par_results_json { "Seq": 4, "Host": ":", "Starttime": 9.999, "JobRuntime": 9.999, "Send": 0, "Receive": 6, "Exitval": 0, "Signal": 0, "Command": "seq 3 5", "V": [ "3","5" ], "Stdout": "3\u000a4\u000a5\u000a", "Stderr": "" }
par_resume_k ### --resume -k
par_resume_k job0id
par_resume_k job1id
par_resume_k job2id
par_resume_k job3id
par_resume_k job0id
par_resume_k job5id
par_resume_k try 2 = nothing
par_resume_k two extra
par_resume_k job6id
par_resume_k job7id
par_retries_replacement_string 11
par_retries_replacement_string 22
par_retries_replacement_string 22
par_retries_replacement_string 33
par_retries_replacement_string 33
par_retries_replacement_string 33
par_roundrobin_k ### Test -k --round-robin
par_roundrobin_k 315464 315464 2097143
par_roundrobin_k 299592 299592 2097144
par_roundrobin_k 235148 235148 1646037
par_roundrobin_k 149796 149796 1048572
par_rpl_repeats ### Test {.} does not repeat more than {}
par_rpl_repeats a1.gifb1c1 a2.gifb2c2 a3.gifb3c3 a4.gifb4c4 a5.gifb5c5 a6.gifb6c6
par_rpl_repeats a7.gifb7c7 a8.gifb8c8 a9.gifb9c9 a10.gifb10c10 a11.gifb11c11 a12.gifb12c12
par_rpl_repeats a13.gifb13c13 a14.gifb14c14 a15.gifb15c15
par_rpl_repeats a1.gif 2.gif 3.gif 4.gif 5.gif 6.gif 7.gifb1 2 3 4 5 6 7c1 2 3 4 5 6 7
par_rpl_repeats a8.gif 9.gif 10.gif 11.gif 12.gif 13.gifb8 9 10 11 12 13c8 9 10 11 12 13
par_rpl_repeats a14.gif 15.gifb14 15c14 15
par_rpl_that_is_substring_of_longer_rpl ### --rpl % that is a substring of longer --rpl %D
par_rpl_that_is_substring_of_longer_rpl a.b/c.d/e.f=a.b/c.d/e.f
par_rpl_that_is_substring_of_longer_rpl a.b/c.d=a.b/c.d
par_rpl_that_is_substring_of_longer_rpl e=e
par_rpl_that_is_substring_of_longer_rpl f=f
par_rpl_that_is_substring_of_longer_rpl a.b/c.d/e.f=a.b/c.d/e.f
par_sem_quote ### sem --quote should not add empty argument
par_sem_quote echo
par_sem_quote
par_shellcompletion ### --shellcompletion
par_shellcompletion 139a52b9a64a9fd8ec1f63c2d78ff9ac -
par_shellcompletion 139a52b9a64a9fd8ec1f63c2d78ff9ac -
par_shellcompletion 8da71392e279a12e88f00114d0a4bff0 -
par_shellcompletion 8da71392e279a12e88f00114d0a4bff0 -
par_slow_pipe_regexp ### bug #53718: --pipe --regexp -N blocks
par_slow_pipe_regexp This should take a few ms, but took more than 2 hours
par_slow_pipe_regexp 0 1 1
par_slow_pipe_regexp 980 981 5880
par_slow_pipe_regexp 25021 25021 150125
par_slow_pipe_regexp ### These should give same output
par_slow_pipe_regexp 6e72d7f86f6a423b9a7fa97630587815 -
par_slow_pipe_regexp 6e72d7f86f6a423b9a7fa97630587815 -
par_space_envvar ### bug: --gnu was ignored if env var started with space: PARALLEL=' --gnu'
par_space_envvar echo 'space in envvar OK'
par_space_envvar space in envvar OK
par_tagstring_pipe bug #50228: --pipe --tagstring broken
par_tagstring_pipe 1 1000 1000 3893
par_tagstring_pipe 2 1000 1000 5000
par_tagstring_pipe 3 1000 1000 5000
par_tagstring_with_d bug #47002: --tagstring with -d \n\n
par_tagstring_with_d 1 ABC
par_tagstring_with_d 1 1
par_tagstring_with_d 1 2
par_tagstring_with_d 1 3
par_tagstring_with_d 2 ABC
par_tagstring_with_d 2 1
par_tagstring_with_d 2 2
par_tagstring_with_d 2 3
par_tagstring_with_d 2 4
par_tagstring_with_d 2
par_tee 1 a 1
par_tee 1 a 1000000 1000000 6888896
par_tee 1 b 2
par_tee 1 b 1000000 1000000 6888896
par_tee 2 a 3
par_tee 2 a 1000000 1000000 6888896
par_tee 2 b 4
par_tee 2 b 1000000 1000000 6888896
par_tee 3 a 5
par_tee 3 a 1000000 1000000 6888896
par_tee 3 b 6
par_tee 3 b 1000000 1000000 6888896
par_tee 4 a 7
par_tee 4 a 1000000 1000000 6888896
par_tee 4 b 8
par_tee 4 b 1000000 1000000 6888896
par_tee 5 a 9
par_tee 5 a 1000000 1000000 6888896
par_tee 5 b 10
par_tee 5 b 1000000 1000000 6888896
par_tee 1 -l 181902
par_tee 1 -c 1228633
par_tee 2 -l 181902
par_tee 2 -c 1228633
par_tee 3 -l 122854
par_tee 3 -c 815297
par_tee 4 -l 122853
par_tee 4 -c 815290
par_tee 5 -l 122853
par_tee 5 -c 815290
par_test_L_context_replace ### Test -N context replace
par_test_L_context_replace a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
par_test_L_context_replace a11b a12b a13b a14b a15b a16b a17b a18b a19b
par_test_L_context_replace ### Test -L context replace
par_test_L_context_replace a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
par_test_L_context_replace a11b a12b a13b a14b a15b a16b a17b a18b a19b
par_test_m_X ### Test -m vs -X
par_test_m_X 1foo bar joe.gif2foo bar joe3 Afoo bar joeBfoo bar joeC
par_test_m_X 1foo2foo3 1bar2bar3 1joe.gif2joe3 AfooBfooC AbarBbarC AjoeBjoeC
par_test_m_X a1.gif 2.gif 3.gif 4.gif 5.gif 6.gifb1 2 3 4 5 6c1 2 3 4 5 6
par_test_m_X a1.gifb1c1 a2.gifb2c2 a3.gifb3c3 a4.gifb4c4 a5.gifb5c5 a6.gifb6c6
par_test_m_X ### Test -q {.}
par_test_m_X 'a'
par_test_m_X 'a'
par_test_r_with_pipe ### Test of -r with --pipe - the first should give an empty line. The second should not.
par_test_r_with_pipe 1
par_test_r_with_pipe 0
par_test_tty ### Test --tty
par_test_tty /dev/tty
par_test_tty /dev/tty
par_test_tty /dev/tty
par_test_tty /dev/tty
par_test_tty /dev/tty
par_test_zero_args ### Test 0-arguments
par_test_zero_args n0
par_test_zero_args n0
par_test_zero_args L0
par_test_zero_args L0
par_test_zero_args N0
par_test_zero_args N0
par_testquote ash "#&/
par_testquote ash ()*=?'
par_testquote bash "#&/
par_testquote bash ()*=?'
par_testquote csh "#&/
par_testquote csh ()*=?'
par_testquote dash "#&/
par_testquote dash ()*=?'
par_testquote fdsh "#&/
par_testquote fdsh ()*=?'
par_testquote fish "#&/
par_testquote fish ()*=?'
par_testquote fizsh "#&/
par_testquote fizsh ()*=?'
par_testquote ksh "#&/
par_testquote ksh ()*=?'
par_testquote ksh93 "#&/
par_testquote ksh93 ()*=?'
par_testquote mksh "#&/
par_testquote mksh ()*=?'
par_testquote posh "#&/
par_testquote posh ()*=?'
par_testquote rbash "#&/
par_testquote rbash ()*=?'
par_testquote rc "#&/
par_testquote rc ()*=?'
par_testquote rzsh "#&/
par_testquote rzsh ()*=?'
par_testquote sash -f parallel: Error: Shell 'sash -f' not found.
par_testquote sh "#&/
par_testquote sh ()*=?'
par_testquote static-sh "#&/
par_testquote static-sh ()*=?'
par_testquote tcsh "#&/
par_testquote tcsh ()*=?'
par_testquote yash "#&/
par_testquote yash ()*=?'
par_testquote zsh "#&/
par_testquote zsh ()*=?'
par_tmpl1 1.t1 /tmp/tmpl-1.1-111.111.t2
par_tmpl1 Template1
par_tmpl1 Xval: 1.1
par_tmpl1 Yval: 111.111
par_tmpl1 FixedValue: 9
par_tmpl1 Seq: 1
par_tmpl1 Slot: X
par_tmpl1 # x with 2 decimals
par_tmpl1 DecimalX: 1.10
par_tmpl1 TenX: 11
par_tmpl1 RandomVal: 0.RANDOM_NUMBER
par_tmpl1
par_tmpl1 Template2
par_tmpl1 X,Y: 1.1,111.111
par_tmpl1 val1,val2: 1.1,111.111
par_tmpl1
par_tmpl1 2.t1 /tmp/tmpl-1.1-222.222.t2
par_tmpl1 Template1
par_tmpl1 Xval: 1.1
par_tmpl1 Yval: 222.222
par_tmpl1 FixedValue: 9
par_tmpl1 Seq: 2
par_tmpl1 Slot: X
par_tmpl1 # x with 2 decimals
par_tmpl1 DecimalX: 1.10
par_tmpl1 TenX: 11
par_tmpl1 RandomVal: 0.RANDOM_NUMBER
par_tmpl1
par_tmpl1 Template2
par_tmpl1 X,Y: 1.1,222.222
par_tmpl1 val1,val2: 1.1,222.222
par_tmpl1
par_tmpl1 3.t1 /tmp/tmpl-1.1-333.333.t2
par_tmpl1 Template1
par_tmpl1 Xval: 1.1
par_tmpl1 Yval: 333.333
par_tmpl1 FixedValue: 9
par_tmpl1 Seq: 3
par_tmpl1 Slot: X
par_tmpl1 # x with 2 decimals
par_tmpl1 DecimalX: 1.10
par_tmpl1 TenX: 11
par_tmpl1 RandomVal: 0.RANDOM_NUMBER
par_tmpl1
par_tmpl1 Template2
par_tmpl1 X,Y: 1.1,333.333
par_tmpl1 val1,val2: 1.1,333.333
par_tmpl1
par_tmpl1 4.t1 /tmp/tmpl-2.22-111.111.t2
par_tmpl1 Template1
par_tmpl1 Xval: 2.22
par_tmpl1 Yval: 111.111
par_tmpl1 FixedValue: 9
par_tmpl1 Seq: 4
par_tmpl1 Slot: X
par_tmpl1 # x with 2 decimals
par_tmpl1 DecimalX: 2.22
par_tmpl1 TenX: 22.2
par_tmpl1 RandomVal: 0.RANDOM_NUMBER
par_tmpl1
par_tmpl1 Template2
par_tmpl1 X,Y: 2.22,111.111
par_tmpl1 val1,val2: 2.22,111.111
par_tmpl1
par_tmpl1 5.t1 /tmp/tmpl-2.22-222.222.t2
par_tmpl1 Template1
par_tmpl1 Xval: 2.22
par_tmpl1 Yval: 222.222
par_tmpl1 FixedValue: 9
par_tmpl1 Seq: 5
par_tmpl1 Slot: X
par_tmpl1 # x with 2 decimals
par_tmpl1 DecimalX: 2.22
par_tmpl1 TenX: 22.2
par_tmpl1 RandomVal: 0.RANDOM_NUMBER
par_tmpl1
par_tmpl1 Template2
par_tmpl1 X,Y: 2.22,222.222
par_tmpl1 val1,val2: 2.22,222.222
par_tmpl1
par_tmpl1 6.t1 /tmp/tmpl-2.22-333.333.t2
par_tmpl1 Template1
par_tmpl1 Xval: 2.22
par_tmpl1 Yval: 333.333
par_tmpl1 FixedValue: 9
par_tmpl1 Seq: 6
par_tmpl1 Slot: X
par_tmpl1 # x with 2 decimals
par_tmpl1 DecimalX: 2.22
par_tmpl1 TenX: 22.2
par_tmpl1 RandomVal: 0.RANDOM_NUMBER
par_tmpl1
par_tmpl1 Template2
par_tmpl1 X,Y: 2.22,333.333
par_tmpl1 val1,val2: 2.22,333.333
par_tmpl1
par_tmpl1 7.t1 /tmp/tmpl-3.333-111.111.t2
par_tmpl1 Template1
par_tmpl1 Xval: 3.333
par_tmpl1 Yval: 111.111
par_tmpl1 FixedValue: 9
par_tmpl1 Seq: 7
par_tmpl1 Slot: X
par_tmpl1 # x with 2 decimals
par_tmpl1 DecimalX: 3.33
par_tmpl1 TenX: 33.33
par_tmpl1 RandomVal: 0.RANDOM_NUMBER
par_tmpl1
par_tmpl1 Template2
par_tmpl1 X,Y: 3.333,111.111
par_tmpl1 val1,val2: 3.333,111.111
par_tmpl1
par_tmpl1 8.t1 /tmp/tmpl-3.333-222.222.t2
par_tmpl1 Template1
par_tmpl1 Xval: 3.333
par_tmpl1 Yval: 222.222
par_tmpl1 FixedValue: 9
par_tmpl1 Seq: 8
par_tmpl1 Slot: X
par_tmpl1 # x with 2 decimals
par_tmpl1 DecimalX: 3.33
par_tmpl1 TenX: 33.33
par_tmpl1 RandomVal: 0.RANDOM_NUMBER
par_tmpl1
par_tmpl1 Template2
par_tmpl1 X,Y: 3.333,222.222
par_tmpl1 val1,val2: 3.333,222.222
par_tmpl1
par_tmpl1 9.t1 /tmp/tmpl-3.333-333.333.t2
par_tmpl1 Template1
par_tmpl1 Xval: 3.333
par_tmpl1 Yval: 333.333
par_tmpl1 FixedValue: 9
par_tmpl1 Seq: 9
par_tmpl1 Slot: X
par_tmpl1 # x with 2 decimals
par_tmpl1 DecimalX: 3.33
par_tmpl1 TenX: 33.33
par_tmpl1 RandomVal: 0.RANDOM_NUMBER
par_tmpl1
par_tmpl1 Template2
par_tmpl1 X,Y: 3.333,333.333
par_tmpl1 val1,val2: 3.333,333.333
par_tmpl1
par_tmpl2 === Start tmpl1 ===
par_tmpl2 1: Job:1 Slot:1 All:1a Arg[1]:1 Arg[-1]:a Perl(1a+4):54
par_tmpl2 2: Job:1 Slot:1 All:1a Arg[1]:1 Arg[-1]:a Perl(1a+4):54
par_tmpl2 === Start tmpl1 ===
par_tmpl2 1: Job:2 Slot:2 All:1b Arg[1]:1 Arg[-1]:b Perl(1b+4):54
par_tmpl2 2: Job:2 Slot:2 All:1b Arg[1]:1 Arg[-1]:b Perl(1b+4):54
par_tmpl2 === Start tmpl1 ===
par_tmpl2 1: Job:3 Slot:1 All:2a Arg[1]:2 Arg[-1]:a Perl(2a+4):64
par_tmpl2 2: Job:3 Slot:1 All:2a Arg[1]:2 Arg[-1]:a Perl(2a+4):64
par_tmpl2 === Start tmpl1 ===
par_tmpl2 1: Job:4 Slot:2 All:2b Arg[1]:2 Arg[-1]:b Perl(2b+4):64
par_tmpl2 2: Job:4 Slot:2 All:2b Arg[1]:2 Arg[-1]:b Perl(2b+4):64
par_tmpl2 should give no files
par_tmpl2 ls: cannot access 't[12].*': No such file or directory
par_tmpl2 === Start tmpl1 ===
par_tmpl2 1: Job:1 Slot:1 All:1a Arg[1]:1 Arg[-1]:a Perl(1a+4):54
par_tmpl2 2: Job:1 Slot:1 All:1a Arg[1]:1 Arg[-1]:a Perl(1a+4):54
par_tmpl2 === Start tmpl1 ===
par_tmpl2 1: Job:2 Slot:2 All:1b Arg[1]:1 Arg[-1]:b Perl(1b+4):54
par_tmpl2 2: Job:2 Slot:2 All:1b Arg[1]:1 Arg[-1]:b Perl(1b+4):54
par_tmpl2 === Start tmpl1 ===
par_tmpl2 1: Job:3 Slot:1 All:2a Arg[1]:2 Arg[-1]:a Perl(2a+4):64
par_tmpl2 2: Job:3 Slot:1 All:2a Arg[1]:2 Arg[-1]:a Perl(2a+4):64
par_tmpl2 === Start tmpl1 ===
par_tmpl2 1: Job:4 Slot:2 All:2b Arg[1]:2 Arg[-1]:b Perl(2b+4):64
par_tmpl2 2: Job:4 Slot:2 All:2b Arg[1]:2 Arg[-1]:b Perl(2b+4):64
par_tmpl2 should give no files
par_tmpl2 ls: cannot access 't[12].*': No such file or directory
par_tmux_command_not_found ### PARALLEL_TMUX not found
par_tmux_command_not_found parallel: Error: not-existing not found in $PATH.
par_total_from_joblog bug #47086: [PATCH] Initialize total_completed from joblog
par_total_from_joblog 0
par_total_from_joblog 1
par_total_from_joblog 2
par_total_from_joblog 3
par_total_from_joblog parallel: This job failed:
par_total_from_joblog echo 3;exit 1
par_total_from_joblog 4
par_total_from_joblog 5
par_tricolonplus ### bug #48745: :::+ bug
par_tricolonplus 11 1 21 a aa
par_tricolonplus 11 1 21 b bb
par_tricolonplus 11 1 21 c cc
par_tricolonplus 22 2 22 a aa
par_tricolonplus 22 2 22 b bb
par_tricolonplus 22 2 22 c cc
par_tricolonplus 33 3 23 a aa
par_tricolonplus 33 3 23 b bb
par_tricolonplus 33 3 23 c cc
par_tricolonplus 1 21 a aa
par_tricolonplus 1 21 a bb
par_tricolonplus 1 21 a cc
par_tricolonplus 1 22 b aa
par_tricolonplus 1 22 b bb
par_tricolonplus 1 22 b cc
par_tricolonplus 1 23 c aa
par_tricolonplus 1 23 c bb
par_tricolonplus 1 23 c cc
par_tricolonplus 2 21 a aa
par_tricolonplus 2 21 a bb
par_tricolonplus 2 21 a cc
par_tricolonplus 2 22 b aa
par_tricolonplus 2 22 b bb
par_tricolonplus 2 22 b cc
par_tricolonplus 2 23 c aa
par_tricolonplus 2 23 c bb
par_tricolonplus 2 23 c cc
par_tricolonplus 3 21 a aa
par_tricolonplus 3 21 a bb
par_tricolonplus 3 21 a cc
par_tricolonplus 3 22 b aa
par_tricolonplus 3 22 b bb
par_tricolonplus 3 22 b cc
par_tricolonplus 3 23 c aa
par_tricolonplus 3 23 c bb
par_tricolonplus 3 23 c cc
par_tricolonplus 1 21 a aa
par_tricolonplus 1 21 a bb
par_tricolonplus 1 21 a cc
par_tricolonplus 1 22 b aa
par_tricolonplus 1 22 b bb
par_tricolonplus 1 22 b cc
par_tricolonplus 1 23 c aa
par_tricolonplus 1 23 c bb
par_tricolonplus 1 23 c cc
par_tricolonplus 2 21 a aa
par_tricolonplus 2 21 a bb
par_tricolonplus 2 21 a cc
par_tricolonplus 2 22 b aa
par_tricolonplus 2 22 b bb
par_tricolonplus 2 22 b cc
par_tricolonplus 2 23 c aa
par_tricolonplus 2 23 c bb
par_tricolonplus 2 23 c cc
par_tricolonplus 3 21 a aa
par_tricolonplus 3 21 a bb
par_tricolonplus 3 21 a cc
par_tricolonplus 3 22 b aa
par_tricolonplus 3 22 b bb
par_tricolonplus 3 22 b cc
par_tricolonplus 3 23 c aa
par_tricolonplus 3 23 c bb
par_tricolonplus 3 23 c cc
par_trim_illegal_value ### Test of --trim illegal
par_trim_illegal_value parallel: Error: --trim must be one of: r l rl lr.
par_unquote_replacement_string ### Can part of the replacement string be unquoted using uq()?
par_unquote_replacement_string `echo foo`foo
par_verbose_t ### Test --verbose and -t
par_verbose_t echo bar
par_verbose_t echo car
par_verbose_t echo far
par_verbose_t echo bar
par_verbose_t echo car
par_verbose_t echo far
par_version ### Test --version: Version output (just check we get the same amount of lines)
par_version 11
par_wd_3dot_local bug #45993: --wd ... should also work when run locally
par_wd_3dot_local parallel: Error: Cannot change into non-executable dir /bi: No such file or directory
par_wd_3dot_local /bin
par_wd_3dot_local /tmp/parallel-local-0.0s-tmp/
par_wd_3dot_local `touch /tmp/tripwire` <"'/tmp
par_wd_3dot_local OK
par_wd_3dot_local /
par_wd_3dot_local /tmp/parallel-local-0.0s-tmp/
par_wd_3dot_local `touch /tmp/tripwire` <"'/tmp
par_wd_3dot_local OK
par_wd_3dot_local /tmp
par_wd_3dot_local /tmp/parallel-local-0.0s-tmp/
par_wd_3dot_local `touch /tmp/tripwire` <"'/tmp
par_wd_3dot_local OK
par_wd_3dot_local ~/.parallel/tmp/hostname-0-0
par_wd_3dot_local /tmp/parallel-local-0.0s-tmp/
par_wd_3dot_local `touch /tmp/tripwire` <"'/tmp
par_wd_3dot_local OK
par_wd_3dot_local /tmp/parallel-local-0.0s-tmp/
par_wd_3dot_local `touch /tmp/tripwire` <"'/tmp
par_wd_3dot_local /tmp/parallel-local-0.0s-tmp/
par_wd_3dot_local `touch /tmp/tripwire` <"'/tmp
par_wd_3dot_local OK
par_wd_dotdotdot ### parallel --wd ... should clean up
par_wd_dotdotdot 1 == 1
par_wd_dotdotdot ### $OLDPWD should be the dir in which parallel starts
par_wd_dotdotdot /tmp foo
par_xapply ### Test bug #43284: {%} and {#} with --xapply
par_xapply a 1 1 b
par_xapply 1
par_xapply ### bug #47501: --xapply for some input sources
par_xapply a aa A AA
par_xapply a aa B BB
par_xapply b bb A AA
par_xapply b bb B BB
par_xapply c cc A AA
par_xapply c cc B BB
par_xargs_nul_char_in_input bug #47290: xargs: Warning: a NUL character occurred in the input
par_xargs_nul_char_in_input parallel: Warning: A NUL character in the input was replaced with \0.
par_xargs_nul_char_in_input parallel: Warning: NUL cannot be passed through in the argument list.
par_xargs_nul_char_in_input parallel: Warning: Did you mean to use the --null option?
par_xargs_nul_char_in_input foo\0not printed