parallel/testsuite/wanted-results/parallel-local-0.3s
2021-02-20 16:02:26 +01:00

1320 lines
52 KiB
Plaintext
Raw Blame History

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_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_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_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_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 99999999999999 999999999999 99999999
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 10
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_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: 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_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_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 foo /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_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_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_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 980 981 5881
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 "#&/
par_testquote sash ()*=?'
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 ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local /
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local /tmp
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local ~/.parallel/tmp/hostname-0-0
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local OK
par_wd_3dot_local ~/privat/parallel/testsuite
par_wd_3dot_local ~/privat/parallel/testsuite
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