Upgrade testsuite to Ubuntu 22.04.

This commit is contained in:
Ole Tange 2022-05-22 10:36:45 +02:00
parent 5ecca1ccf4
commit 8df9524948
39 changed files with 796 additions and 564 deletions

View file

@ -51,8 +51,15 @@ to accept that the software is already compliant with GPLv3, because
nothing else gives you the right to change it. And if you accept this, nothing else gives you the right to change it. And if you accept this,
you do not need to change it to make it compliant. you do not need to change it to make it compliant.
What you can not do is to simultaneously claim that the software both
is and is not available under GPLv3. You need to pick one.
This is also covered in section 9 of GPLv3: "However, nothing other
than this License grants you permission to propagate or modify any
covered work." https://www.gnu.org/licenses/gpl-3.0.en.html
So: If you do not feel the citation notice adheres to GPLv3, you need So: If you do not feel the citation notice adheres to GPLv3, you need
to treat it as software that you have no license to use. to treat it as software that you have no license to modify.
== Do automated scripts break if the notice is not silenced? == == Do automated scripts break if the notice is not silenced? ==

View file

@ -3,7 +3,10 @@
# SPDX-License-Identifier: CC-BY-SA-4.0 # SPDX-License-Identifier: CC-BY-SA-4.0
Quote of the month: Quote of the month:
xargs諦めてGNU Parallel使ったら一瞬で問題が解決したので終わり
-- aria_moto @moto_aria@twitter
Such a life saver of a tool. Such a life saver of a tool.
-- winrid@ycombinator -- winrid@ycombinator

View file

@ -254,7 +254,7 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm> stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20220522 ('Слава Україні Emmanuel Jean-Michel Frédéric<<>>') released [stable] Subject: GNU Parallel 20220522 ('Colorado/Слава Україні Emmanuel Jean-Michel Frédéric<<>>') released [stable]
GNU Parallel 20220522 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4 GNU Parallel 20220522 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4
@ -276,6 +276,10 @@ News about GNU Parallel:
https://www.blopig.com/blog/2022/05/make-your-code-do-more-with-less/ https://www.blopig.com/blog/2022/05/make-your-code-do-more-with-less/
W09 B IntroHPC II 20220513 gnu parallel https://www.youtube.com/watch?v=2udvC90rIa4
https://saveriomiroddi.github.io/Running-shell-commands-in-parallel-via-gnu-parallel/#xdg_runtime_dir
<<>> <<>>
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

View file

@ -1 +1 @@
5 7

View file

@ -1681,15 +1681,18 @@ sub options_completion_hash() {
"xargs[Insert as many arguments as the command line length permits]" "xargs[Insert as many arguments as the command line length permits]"
=> \$opt::xargs, => \$opt::xargs,
"m[Multiple arguments]" => \$opt::m, "m[Multiple arguments]" => \$opt::m,
("X[Insert as many arguments with context as the command line length permits]" ("X[Insert as many arguments with context as the command line ".
"length permits]"
=> \$opt::X), => \$opt::X),
"v[Verbose]" => \@opt::v, "v[Verbose]" => \@opt::v,
"sql=s[Use --sql-master instead (obsolete)]:DBURL" => \$opt::retired, "sql=s[Use --sql-master instead (obsolete)]:DBURL" => \$opt::retired,
("sql-master|sqlmaster=s". ("sql-master|sqlmaster=s".
"[Submit jobs via SQL server. DBURL must point to a table, which will contain --joblog, the values, and output]:DBURL" "[Submit jobs via SQL server. DBURL must point to a table, which ".
"will contain --joblog, the values, and output]:DBURL"
=> \$opt::sqlmaster), => \$opt::sqlmaster),
("sql-worker|sqlworker=s". ("sql-worker|sqlworker=s".
"[Execute jobs via SQL server. Read the input sources variables from the table pointed to by DBURL.]:DBURL" "[Execute jobs via SQL server. Read the input sources variables ".
"from the table pointed to by DBURL.]:DBURL"
=> \$opt::sqlworker), => \$opt::sqlworker),
("sql-and-worker|sqlandworker=s". ("sql-and-worker|sqlandworker=s".
"[--sql-master DBURL --sql-worker DBURL]:DBURL" "[--sql-master DBURL --sql-worker DBURL]:DBURL"
@ -1709,24 +1712,29 @@ sub options_completion_hash() {
"[Keep sequence of output same as the order of input]" "[Keep sequence of output same as the order of input]"
=> \$opt::keeporder), => \$opt::keeporder),
("no-keep-order|nokeeporder|nok|no-k". ("no-keep-order|nokeeporder|nok|no-k".
"[Overrides an earlier --keep-order (e.g. if set in ~/.parallel/config)]" "[Overrides an earlier --keep-order (e.g. if set in ".
"~/.parallel/config)]"
=> \$opt::nokeeporder), => \$opt::nokeeporder),
"group[Group output]" => \$opt::group, "group[Group output]" => \$opt::group,
"g" => \$opt::retired, "g" => \$opt::retired,
("ungroup|u". ("ungroup|u".
"[Output is printed as soon as possible and bypasses GNU parallel internal processing]" "[Output is printed as soon as possible and bypasses GNU parallel ".
"internal processing]"
=> \$opt::ungroup), => \$opt::ungroup),
("last-line-buffer|last-line-buffered|lastlinebuffer|lastlinebuffered|llb". ("latest-line|latestline|ll".
"[Print latest line of each job]" "[Print latest line of each job]"
=> \$opt::lastlinebuffer), => \$opt::latestline),
("line-buffer|line-buffered|linebuffer|linebuffered|lb". ("line-buffer|line-buffered|linebuffer|linebuffered|lb".
"[Buffer output on line basis]" "[Buffer output on line basis]"
=> \$opt::linebuffer), => \$opt::linebuffer),
("tmux". ("tmux".
"[Use tmux for output. Start a tmux session and run each job in a window in that session. No other output will be produced]" "[Use tmux for output. Start a tmux session and run each job in a ".
"window in that session. No other output will be produced]"
=> \$opt::tmux), => \$opt::tmux),
("tmux-pane|tmuxpane". ("tmux-pane|tmuxpane".
"[Use tmux for output but put output into panes in the first window. Useful if you want to monitor the progress of less than 100 concurrent jobs]" "[Use tmux for output but put output into panes in the first ".
"window. Useful if you want to monitor the progress of less than ".
"100 concurrent jobs]"
=> \$opt::tmuxpane), => \$opt::tmuxpane),
"null|0[Use NUL as delimiter]" => \$opt::null, "null|0[Use NUL as delimiter]" => \$opt::null,
"quote|q[Quote command]" => \$opt::quote, "quote|q[Quote command]" => \$opt::quote,
@ -1740,26 +1748,33 @@ sub options_completion_hash() {
"[Use the replacement string replace-str instead of {}]:replace-str" "[Use the replacement string replace-str instead of {}]:replace-str"
=> \$opt::I), => \$opt::I),
("extensionreplace|er=s". ("extensionreplace|er=s".
"[Use the replacement string replace-str instead of {.} for input line without extension]:replace-str" "[Use the replacement string replace-str instead of {.} for input ".
"line without extension]:replace-str"
=> \$opt::U), => \$opt::U),
"U=s" => \$opt::retired, "U=s" => \$opt::retired,
("basenamereplace|bnr=s". ("basenamereplace|bnr=s".
"[Use the replacement string replace-str instead of {/} for basename of input line]:replace-str" "[Use the replacement string replace-str instead of {/} for ".
"basename of input line]:replace-str"
=> \$opt::basenamereplace), => \$opt::basenamereplace),
("dirnamereplace|dnr=s". ("dirnamereplace|dnr=s".
"[Use the replacement string replace-str instead of {//} for dirname of input line]:replace-str" "[Use the replacement string replace-str instead of {//} for ".
"dirname of input line]:replace-str"
=> \$opt::dirnamereplace), => \$opt::dirnamereplace),
("basenameextensionreplace|bner=s". ("basenameextensionreplace|bner=s".
"[Use the replacement string replace-str instead of {/.} for basename of input line without extension]:replace-str" "[Use the replacement string replace-str instead of {/.} for ".
"basename of input line without extension]:replace-str"
=> \$opt::basenameextensionreplace), => \$opt::basenameextensionreplace),
("seqreplace=s". ("seqreplace=s".
"[Use the replacement string replace-str instead of {#} for job sequence number]:replace-str" "[Use the replacement string replace-str instead of {#} for job ".
"sequence number]:replace-str"
=> \$opt::seqreplace), => \$opt::seqreplace),
("slotreplace=s". ("slotreplace=s".
"[Use the replacement string replace-str instead of {%} for job slot number]:replace-str" "[Use the replacement string replace-str instead of {%} for job ".
"slot number]:replace-str"
=> \$opt::slotreplace), => \$opt::slotreplace),
("jobs|j=s". ("jobs|j=s".
"[(Add +N to/Subtract -N from/Multiply N%) the number of CPU threads or read parameter from file]:_files" "[(Add +N to/Subtract -N from/Multiply N%) the number of CPU ".
"threads or read parameter from file]:_files"
=> \$opt::jobs), => \$opt::jobs),
("delay=s". ("delay=s".
"[Delay starting next job by duration]:duration" => \$opt::delay), "[Delay starting next job by duration]:duration" => \$opt::delay),
@ -1795,7 +1810,8 @@ sub options_completion_hash() {
"[Determine how GNU Parallel counts the number of CPUs]" "[Determine how GNU Parallel counts the number of CPUs]"
=> \$opt::use_cpus_instead_of_cores), => \$opt::use_cpus_instead_of_cores),
("shell-quote|shellquote|shell_quote". ("shell-quote|shellquote|shell_quote".
"[Does not run the command but quotes it. Useful for making quoted composed commands for GNU parallel]" "[Does not run the command but quotes it. Useful for making ".
"quoted composed commands for GNU parallel]"
=> \@opt::shellquote), => \@opt::shellquote),
('nice=i[Run the command at this niceness]:niceness:($(seq -20 19))' ('nice=i[Run the command at this niceness]:niceness:($(seq -20 19))'
=> \$opt::nice), => \$opt::nice),
@ -1812,10 +1828,12 @@ sub options_completion_hash() {
=> \$opt::filter_hosts), => \$opt::filter_hosts),
('sshlogin|S=s'. ('sshlogin|S=s'.
'[Distribute jobs to remote computers]'. '[Distribute jobs to remote computers]'.
':[@hostgroups/][ncpus/]sshlogin[,[@hostgroups/][ncpus/]sshlogin[,...]] or @hostgroup'. ':[@hostgroups/][ncpus/]sshlogin'.
'[,[@hostgroups/][ncpus/]sshlogin[,...]] or @hostgroup'.
':_users') => \@opt::sshlogin, ':_users') => \@opt::sshlogin,
("sshloginfile|slf=s". ("sshloginfile|slf=s".
"[File with sshlogins on separate lines. Lines starting with '#' are ignored.]:filename:_files" "[File with sshlogins on separate lines. Lines starting with '#' ".
"are ignored.]:filename:_files"
=> \@opt::sshloginfile), => \@opt::sshloginfile),
("controlmaster|M". ("controlmaster|M".
"[Use ssh's ControlMaster to make ssh connections faster]" "[Use ssh's ControlMaster to make ssh connections faster]"
@ -1833,15 +1851,20 @@ sub options_completion_hash() {
"transfer[Transfer files to remote computers]" => \$opt::transfer, "transfer[Transfer files to remote computers]" => \$opt::transfer,
"cleanup[Remove transferred files]" => \$opt::cleanup, "cleanup[Remove transferred files]" => \$opt::cleanup,
("basefile|bf=s". ("basefile|bf=s".
"[Transfer file to each sshlogin before first job is started]:file:_files" "[Transfer file to each sshlogin before first job is started]".
":file:_files"
=> \@opt::basefile), => \@opt::basefile),
("template|tmpl=s[Replace replacement strings in file and save it in repl]:file=repl:_files" ("template|tmpl=s".
"[Replace replacement strings in file and save it in repl]".
":file=repl:_files"
=> \%opt::template), => \%opt::template),
"B=s" => \$opt::retired, "B=s" => \$opt::retired,
"ctrl-c|ctrlc" => \$opt::retired, "ctrl-c|ctrlc" => \$opt::retired,
"no-ctrl-c|no-ctrlc|noctrlc" => \$opt::retired, "no-ctrl-c|no-ctrlc|noctrlc" => \$opt::retired,
("work-dir|workdir|wd=s". ("work-dir|workdir|wd=s".
"[Jobs will be run in the dir mydir. (default: the current dir for the local machine, the login dir for remote computers)]:mydir:_cd" "[Jobs will be run in the dir mydir. (default: the current dir ".
"for the local machine, the login dir for remote computers)]".
":mydir:_cd"
=> \$opt::workdir), => \$opt::workdir),
"W=s" => \$opt::retired, "W=s" => \$opt::retired,
("rsync-opts|rsyncopts=s[Options to pass on to rsync]:options" ("rsync-opts|rsyncopts=s[Options to pass on to rsync]:options"
@ -1862,7 +1885,8 @@ sub options_completion_hash() {
"T" => \$opt::retired, "T" => \$opt::retired,
"H=i" => \$opt::retired, "H=i" => \$opt::retired,
("dry-run|dryrun|dr". ("dry-run|dryrun|dr".
"[Print the job to run on stdout (standard output), but do not run the job]" "[Print the job to run on stdout (standard output), but do not ".
"run the job]"
=> \$opt::dryrun), => \$opt::dryrun),
"progress[Show progress of computations]" => \$opt::progress, "progress[Show progress of computations]" => \$opt::progress,
("eta[Show the estimated number of seconds before finishing]" ("eta[Show the estimated number of seconds before finishing]"
@ -1883,7 +1907,9 @@ sub options_completion_hash() {
"env=s[Copy environment variable var]:var:_vars" => \@opt::env, "env=s[Copy environment variable var]:var:_vars" => \@opt::env,
"recordenv|record-env[Record environment]" => \$opt::record_env, "recordenv|record-env[Record environment]" => \$opt::record_env,
('session'. ('session'.
'[Record names in current environment in $PARALLEL_IGNORED_NAMES and exit. Only used with env_parallel. Aliases, functions, and variables with names i]' '[Record names in current environment in $PARALLEL_IGNORED_NAMES '.
'and exit. Only used with env_parallel. '.
'Aliases, functions, and variables with names i]'
=> \$opt::session), => \$opt::session),
('plain[Ignore --profile, $PARALLEL, and ~/.parallel/config]' ('plain[Ignore --profile, $PARALLEL, and ~/.parallel/config]'
=> \$opt::plain), => \$opt::plain),
@ -1900,12 +1926,16 @@ sub options_completion_hash() {
# You accept to be put in a public hall of shame by removing # You accept to be put in a public hall of shame by removing
# these lines. # these lines.
("bibtex|citation". ("bibtex|citation".
"[Print the citation notice and BibTeX entry for GNU parallel, silence citation notice for all future runs, and exit. It will not run any commands]" "[Print the citation notice and BibTeX entry for GNU parallel, ".
"silence citation notice for all future runs, and exit. ".
"It will not run any commands]"
=> \$opt::citation), => \$opt::citation),
"will-cite|willcite|nn|nonotice|no-notice" => \$opt::willcite, "will-cite|willcite|nn|nonotice|no-notice" => \$opt::willcite,
# Termination and retries # Termination and retries
('halt-on-error|haltonerror|halt=s'. ('halt-on-error|haltonerror|halt=s'.
'[When should GNU parallel terminate]:when:((now\:"kill all running jobs and halt immediately" soon\:"wait for all running jobs to complete, start no new jobs"))' '[When should GNU parallel terminate]'.
':when:((now\:"kill all running jobs and halt immediately" '.
'soon\:"wait for all running jobs to complete, start no new jobs"))'
=> \$opt::halt), => \$opt::halt),
'limit=s[Dynamic job limit]:"command args"' => \$opt::limit, 'limit=s[Dynamic job limit]:"command args"' => \$opt::limit,
("memfree=s". ("memfree=s".
@ -1916,13 +1946,15 @@ sub options_completion_hash() {
=> \$opt::memsuspend), => \$opt::memsuspend),
"retries=s[Try failing jobs n times]:n" => \$opt::retries, "retries=s[Try failing jobs n times]:n" => \$opt::retries,
("timeout=s". ("timeout=s".
"[Time out for command. If the command runs for longer than duration seconds it will get killed as per --term-seq]:duration" "[Time out for command. If the command runs for longer than ".
"duration seconds it will get killed as per --term-seq]:duration"
=> \$opt::timeout), => \$opt::timeout),
("term-seq|termseq=s". ("term-seq|termseq=s".
"[Termination sequence]:sequence" => \$opt::termseq), "[Termination sequence]:sequence" => \$opt::termseq),
# xargs-compatibility - implemented, man, testsuite # xargs-compatibility - implemented, man, testsuite
("max-procs|maxprocs|P=s". ("max-procs|maxprocs|P=s".
"[Add N to/Subtract N from/Multiply N% with/ the number of CPU threads or read parameter from file]:+N/-N/N%/N/procfile:_files" "[Add N to/Subtract N from/Multiply N% with/ the number of CPU ".
"threads or read parameter from file]:+N/-N/N%/N/procfile:_files"
=> \$opt::jobs), => \$opt::jobs),
("delimiter|d=s[Input items are terminated by delim]:delim" ("delimiter|d=s[Input items are terminated by delim]:delim"
=> \$opt::d), => \$opt::d),
@ -1961,7 +1993,8 @@ sub options_completion_hash() {
("version|V[Print the version GNU parallel and exit]" ("version|V[Print the version GNU parallel and exit]"
=> \$opt::version), => \$opt::version),
('min-version|minversion=i'. ('min-version|minversion=i'.
'[Print the version GNU parallel and exit]:version:($(parallel --minversion 0))' '[Print the version GNU parallel and exit]'.
':version:($(parallel --minversion 0))'
=> \$opt::minversion), => \$opt::minversion),
("show-limits|showlimits". ("show-limits|showlimits".
"[Display limits given by the operating system]" "[Display limits given by the operating system]"
@ -1971,7 +2004,8 @@ sub options_completion_hash() {
# Semaphore # Semaphore
"semaphore[Work as a counting semaphore]" => \$opt::semaphore, "semaphore[Work as a counting semaphore]" => \$opt::semaphore,
("semaphore-timeout|semaphoretimeout|st=s". ("semaphore-timeout|semaphoretimeout|st=s".
"[If secs > 0: If the semaphore is not released within secs seconds, take it anyway]:secs" "[If secs > 0: If the semaphore is not released within secs ".
"seconds, take it anyway]:secs"
=> \$opt::semaphoretimeout), => \$opt::semaphoretimeout),
("semaphore-name|semaphorename|id=s". ("semaphore-name|semaphorename|id=s".
"[Use name as the name of the semaphore]:name" "[Use name as the name of the semaphore]:name"
@ -1981,7 +2015,9 @@ sub options_completion_hash() {
"wait[Wait for all commands to complete]" => \$opt::wait, "wait[Wait for all commands to complete]" => \$opt::wait,
# Shebang #!/usr/bin/parallel --shebang # Shebang #!/usr/bin/parallel --shebang
("shebang|hashbang". ("shebang|hashbang".
"[GNU parallel can be called as a shebang (#!) command as the first line of a script. The content of the file will be treated as inputsource]" "[GNU parallel can be called as a shebang (#!) command as the ".
"first line of a script. The content of the file will be treated ".
"as inputsource]"
=> \$opt::shebang), => \$opt::shebang),
("_pipe-means-argfiles[internal]" ("_pipe-means-argfiles[internal]"
=> \$opt::_pipe_means_argfiles), => \$opt::_pipe_means_argfiles),
@ -2158,7 +2194,7 @@ sub parse_options(@) {
or defined $opt::color) { or defined $opt::color) {
$Global::color = 1; $Global::color = 1;
} }
if($opt::linebuffer or $opt::lastlinebuffer) { if($opt::linebuffer or $opt::latestline) {
$Global::linebuffer = 1; $Global::linebuffer = 1;
} }
if(defined $opt::tag and not defined $opt::tagstring) { if(defined $opt::tag and not defined $opt::tagstring) {
@ -2167,7 +2203,8 @@ sub parse_options(@) {
} }
if(defined $opt::tagstring) { if(defined $opt::tagstring) {
$opt::tagstring = unquote_printf($opt::tagstring); $opt::tagstring = unquote_printf($opt::tagstring);
if($opt::tagstring =~ /\Q$Global::parensleft\E.*\Q$Global::parensright\E/ if($opt::tagstring =~
/\Q$Global::parensleft\E.*\Q$Global::parensright\E/
and and
$Global::linebuffer) { $Global::linebuffer) {
# --tagstring contains {= =} and --linebuffer => # --tagstring contains {= =} and --linebuffer =>
@ -2175,7 +2212,9 @@ sub parse_options(@) {
$Global::cache_replacement_eval = 0; $Global::cache_replacement_eval = 0;
} }
} }
if(defined $opt::interactive) { $Global::interactive = $opt::interactive; } if(defined $opt::interactive) {
$Global::interactive = $opt::interactive;
}
if(defined $opt::quote) { $Global::quoting = 1; } if(defined $opt::quote) { $Global::quoting = 1; }
if(defined $opt::r) { $Global::ignore_empty = 1; } if(defined $opt::r) { $Global::ignore_empty = 1; }
if(defined $opt::verbose) { $Global::stderr_verbose = 1; } if(defined $opt::verbose) { $Global::stderr_verbose = 1; }
@ -2401,7 +2440,8 @@ sub parse_options(@) {
} }
} }
if(defined $opt::max_replace_args) { if(defined $opt::max_replace_args) {
$opt::max_replace_args = multiply_binary_prefix($opt::max_replace_args); $opt::max_replace_args =
multiply_binary_prefix($opt::max_replace_args);
$Global::max_number_of_args = $opt::max_replace_args; $Global::max_number_of_args = $opt::max_replace_args;
$Global::ContextReplace = 1; $Global::ContextReplace = 1;
} }
@ -2537,7 +2577,9 @@ sub parse_options(@) {
} }
if($opt::sqlworker) { $Global::membuffer ||= 1; } if($opt::sqlworker) { $Global::membuffer ||= 1; }
# The sqlmaster groups the arguments, so the should just read one # The sqlmaster groups the arguments, so the should just read one
if($opt::sqlworker and not $opt::sqlmaster) { $Global::max_number_of_args = 1; } if($opt::sqlworker and not $opt::sqlmaster) {
$Global::max_number_of_args = 1;
}
} }
sub check_invalid_option_combinations() { sub check_invalid_option_combinations() {
@ -2654,15 +2696,18 @@ sub init_globals() {
'{/..}' => 's:.*/::; s:\.[^/.]+\.[^/.]+$::', '{/..}' => 's:.*/::; s:\.[^/.]+\.[^/.]+$::',
'{/...}' => 's:.*/::; s:\.[^/.]+\.[^/.]+\.[^/.]+$::', '{/...}' => 's:.*/::; s:\.[^/.]+\.[^/.]+\.[^/.]+$::',
# n choose k = Binomial coefficient # n choose k = Binomial coefficient
'{choose_k}' => 'for $t (2..$#arg){ if($arg[$t-1] ge $arg[$t]) { skip() } }', '{choose_k}' => ('for $t (2..$#arg)'.
'{ if($arg[$t-1] ge $arg[$t]) { skip() } }'),
# unique values: Skip job if any args are the same # unique values: Skip job if any args are the same
'{uniq}' => 'if(::uniq(@arg) != @arg) { skip(); }', '{uniq}' => 'if(::uniq(@arg) != @arg) { skip(); }',
# {##} = number of jobs # {##} = number of jobs
'{##}' => '1 $_=total_jobs()', '{##}' => '1 $_=total_jobs()',
# {0%} = 0-padded jobslot # {0%} = 0-padded jobslot
'{0%}' => '1 $f=1+int((log($Global::max_jobs_running||1)/log(10))); $_=sprintf("%0${f}d",slot())', '{0%}' => ('1 $f=1+int((log($Global::max_jobs_running||1)/log(10)));'.
'$_=sprintf("%0${f}d",slot())'),
# {0%} = 0-padded seq # {0%} = 0-padded seq
'{0#}' => '1 $f=1+int((log(total_jobs())/log(10))); $_=sprintf("%0${f}d",seq())', '{0#}' => ('1 $f=1+int((log(total_jobs())/log(10)));'.
'$_=sprintf("%0${f}d",seq())'),
## Bash inspired replacement strings ## Bash inspired replacement strings
# Bash ${a:-myval} # Bash ${a:-myval}
@ -2979,7 +3024,7 @@ sub open_joblog() {
$append = <$joblog_fh>; $append = <$joblog_fh>;
my $joblog_regexp; my $joblog_regexp;
if($opt::retry_failed) { if($opt::retry_failed) {
# Make a regexp that only matches commands with exit+signal=0 # Make a regexp that matches commands with exit+signal=0
# 4 host 1360490623.067 3.445 1023 1222 0 0 command # 4 host 1360490623.067 3.445 1023 1222 0 0 command
$joblog_regexp='^(\d+)(?:\t[^\t]+){5}\t0\t0\t'; $joblog_regexp='^(\d+)(?:\t[^\t]+){5}\t0\t0\t';
my @group; my @group;
@ -3004,12 +3049,14 @@ sub open_joblog() {
# Put args into argfile # Put args into argfile
if(grep /\0/, @group) { if(grep /\0/, @group) {
# force --null to deal with \n in commandlines # force --null to deal with \n in commandlines
::warning("Command lines contain newline. Forcing --null."); ::warning("Command lines contain newline. ".
"Forcing --null.");
$opt::null = 1; $opt::null = 1;
$/ = "\0"; $/ = "\0";
} }
# Replace \0 with '\n' as used in print_joblog() # Replace \0 with '\n' as used in print_joblog()
print $outfh map { s/\0/\n/g; $_,$/ } map { $_ } @group; print $outfh (map { s/\0/\n/g; $_,$/ }
map { $_ } @group);
seek $outfh, 0, 0; seek $outfh, 0, 0;
exit_if_disk_full(); exit_if_disk_full();
# Set filehandle to -a # Set filehandle to -a
@ -3020,7 +3067,7 @@ sub open_joblog() {
} }
if($opt::resume || $opt::resume_failed) { if($opt::resume || $opt::resume_failed) {
if($opt::resume_failed) { if($opt::resume_failed) {
# Make a regexp that only matches commands with exit+signal=0 # Make a regexp that matches commands with exit+signal=0
# 4 host 1360490623.067 3.445 1023 1222 0 0 command # 4 host 1360490623.067 3.445 1023 1222 0 0 command
$joblog_regexp='^(\d+)(?:\t[^\t]+){5}\t0\t0\t'; $joblog_regexp='^(\d+)(?:\t[^\t]+){5}\t0\t0\t';
} else { } else {
@ -3176,7 +3223,7 @@ sub read_options() {
my @options; my @options;
my @parser; my @parser;
if ($^O eq 'freebsd') { if ($^O eq 'freebsd') {
# FreeBSD's #! puts different values in @ARGV than Linux' does. # FreeBSD's #! puts different values in @ARGV than Linux' does
my @nooptions = @ARGV; my @nooptions = @ARGV;
get_options_from_array(\@nooptions); get_options_from_array(\@nooptions);
while($#ARGV > $#nooptions) { while($#ARGV > $#nooptions) {
@ -3198,7 +3245,8 @@ sub read_options() {
} }
} }
if($ARGV[0] =~ / --shebang(-?wrap)? /) { if($ARGV[0] =~ / --shebang(-?wrap)? /) {
::warning("--shebang and --shebang-wrap must be the first argument.\n"); ::warning("--shebang and --shebang-wrap must be the first ".
"argument.\n");
} }
Getopt::Long::Configure("bundling","require_order"); Getopt::Long::Configure("bundling","require_order");
@ -3318,7 +3366,7 @@ sub read_args_from_command_line() {
$arg eq $Global::arg_file_sep $arg eq $Global::arg_file_sep
or or
$arg eq $Global::arg_file_sep."+") { $arg eq $Global::arg_file_sep."+") {
my $group_sep = $arg; # This group of arguments is args or argfiles my $group_sep = $arg; # This group of args is args or argfiles
my @group; my @group;
while(defined ($arg = shift @ARGV)) { while(defined ($arg = shift @ARGV)) {
if($arg eq $Global::arg_sep if($arg eq $Global::arg_sep
@ -3760,7 +3808,8 @@ sub init_run_jobs() {
my $mtime = (stat($actual_file))[9]; my $mtime = (stat($actual_file))[9];
$last_mtime{$actual_file} ||= $mtime; $last_mtime{$actual_file} ||= $mtime;
if($mtime - $last_mtime{$actual_file} > 1) { if($mtime - $last_mtime{$actual_file} > 1) {
::debug("run","--sshloginfile $actual_file changed. reload\n"); ::debug("run",
"--sshloginfile $actual_file changed. reload\n");
$last_mtime{$actual_file} = $mtime; $last_mtime{$actual_file} = $mtime;
# Reload $slf # Reload $slf
# Empty sshlogins # Empty sshlogins
@ -3820,7 +3869,7 @@ sub init_run_jobs() {
if ($sshlogin->jobs_running() < $sshlogin->max_jobs_running()) { if ($sshlogin->jobs_running() < $sshlogin->max_jobs_running()) {
if($opt::delay if($opt::delay
and and
$opt::delay - 0.008 > ::now() - $Global::newest_starttime) { $opt::delay-0.008 > ::now()-$Global::newest_starttime) {
# It has been too short since last start # It has been too short since last start
next; next;
} }
@ -3915,8 +3964,10 @@ sub init_run_jobs() {
} }
} while ($job->is_already_in_joblog() } while ($job->is_already_in_joblog()
or or
($opt::results and $opt::resume and $job->is_already_in_results())); ($opt::results and $opt::resume
debug("start", "Command to run on '", $job->sshlogin()->string(), "': '", and $job->is_already_in_results()));
debug("start", "Command to run on '",
$job->sshlogin()->string(), "': '",
$job->replaced(),"'\n"); $job->replaced(),"'\n");
if($job->start()) { if($job->start()) {
if($opt::pipe) { if($opt::pipe) {
@ -3938,10 +3989,11 @@ sub init_run_jobs() {
my $max = $sshlogin->max_jobs_running(); my $max = $sshlogin->max_jobs_running();
if($max > 1) { $max--; } else { if($max > 1) { $max--; } else {
my @arg; my @arg;
for my $record (@{$job->{'commandline'}->{'arg_list'}}) { for my $record (@{$job->{'commandline'}{'arg_list'}}) {
push @arg, map { $_->orig() } @$record; push @arg, map { $_->orig() } @$record;
} }
::error("No more processes: cannot run a single job. Something is wrong at @arg."); ::error("No more processes: cannot run a single job. ".
"Something is wrong at @arg.");
::wait_and_exit(255); ::wait_and_exit(255);
} }
$sshlogin->set_max_jobs_running($max); $sshlogin->set_max_jobs_running($max);
@ -4185,7 +4237,7 @@ sub progress() {
@workers); @workers);
} }
if(length $status > $termcols) { if(length $status > $termcols) {
# 1:XX/XX/XX% 2:XX/XX/XX% 3:XX/XX/XX% 4:XX/XX/XX% 5:XX/XX/XX% 6:XX/XX/XX% # 1:XX/XX/XX% 2:XX/XX/XX% 3:XX/XX/XX% 4:XX/XX/XX% 5:XX/XX/XX%
$header = "Computer:jobs running/jobs completed/%of started jobs"; $header = "Computer:jobs running/jobs completed/%of started jobs";
$status = $eta . $status = $eta .
join(" ",map join(" ",map
@ -4203,56 +4255,56 @@ sub progress() {
@workers); @workers);
} }
if(length $status > $termcols) { if(length $status > $termcols) {
# sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX sshlogin4:XX/XX # sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX
$header = "Computer:jobs running/jobs completed"; $header = "Computer:jobs running/jobs completed";
$status = $eta . $status = $eta .
join(" ",map join(" ",
{ sprintf("%s:%d/%d", map { sprintf("%s:%d/%d",
$sshlogin{$_}, $Global::host{$_}->jobs_running(), $sshlogin{$_}, $Global::host{$_}->jobs_running(),
($Global::host{$_}->jobs_completed()||0)) } ($Global::host{$_}->jobs_completed()||0)) }
@workers); @workers);
} }
if(length $status > $termcols) { if(length $status > $termcols) {
# sshlogin1:XX/XX sshlogin2:XX/XX sshlogin3:XX/XX sshlogin4:XX/XX # sshlogin1:XX/XX sshlogin2:XX/XX sshlogin3:XX/XX sshlogin4:XX/XX
$header = "Computer:jobs running/jobs completed"; $header = "Computer:jobs running/jobs completed";
$status = $eta . $status = $eta .
join(" ",map join(" ",
{ sprintf("%s:%d/%d", map { sprintf("%s:%d/%d",
$sshlogin{$_}, $Global::host{$_}->jobs_running(), $sshlogin{$_}, $Global::host{$_}->jobs_running(),
($Global::host{$_}->jobs_completed()||0)) } ($Global::host{$_}->jobs_completed()||0)) }
@workers); @workers);
} }
if(length $status > $termcols) { if(length $status > $termcols) {
# 1:XX/XX 2:XX/XX 3:XX/XX 4:XX/XX 5:XX/XX 6:XX/XX # 1:XX/XX 2:XX/XX 3:XX/XX 4:XX/XX 5:XX/XX 6:XX/XX
$header = "Computer:jobs running/jobs completed"; $header = "Computer:jobs running/jobs completed";
$status = $eta . $status = $eta .
join(" ",map join(" ",
{ sprintf("%s:%d/%d", map { sprintf("%s:%d/%d", $workerno{$_},
$workerno{$_}, $Global::host{$_}->jobs_running(), $Global::host{$_}->jobs_running(),
($Global::host{$_}->jobs_completed()||0)) } ($Global::host{$_}->jobs_completed()||0)) }
@workers); @workers);
} }
if(length $status > $termcols) { if(length $status > $termcols) {
# sshlogin1:XX sshlogin2:XX sshlogin3:XX sshlogin4:XX sshlogin5:XX # sshlogin1:XX sshlogin2:XX sshlogin3:XX sshlogin4:XX sshlogin5:XX
$header = "Computer:jobs completed"; $header = "Computer:jobs completed";
$status = $eta . $status = $eta .
join(" ",map join(" ",
{ sprintf("%s:%d", map { sprintf("%s:%d", $sshlogin{$_},
$sshlogin{$_}, ($Global::host{$_}->jobs_completed()||0)) }
($Global::host{$_}->jobs_completed()||0)) } @workers);
@workers);
} }
if(length $status > $termcols) { if(length $status > $termcols) {
# 1:XX 2:XX 3:XX 4:XX 5:XX 6:XX # 1:XX 2:XX 3:XX 4:XX 5:XX 6:XX
$header = "Computer:jobs completed"; $header = "Computer:jobs completed";
$status = $eta . $status = $eta .
join(" ",map join(" ",
{ sprintf("%s:%d", map { sprintf("%s:%d",
$workerno{$_}, $workerno{$_},
($Global::host{$_}->jobs_completed()||0)) } ($Global::host{$_}->jobs_completed()||0)) }
@workers); @workers);
} }
return ("workerlist" => $workerlist, "header" => $header, "status" => $status); return ("workerlist" => $workerlist, "header" => $header,
"status" => $status);
} }
{ {
@ -4323,7 +4375,8 @@ sub progress() {
my $zenity = sprintf("%-${terminal_width}s", my $zenity = sprintf("%-${terminal_width}s",
substr("# $eta sec $arg", substr("# $eta sec $arg",
0,$terminal_width)); 0,$terminal_width));
$s = "\r" . $zenity . "\r" . $pctcomplete*100 . # Prefix with zenity header # Prefix with zenity header
$s = "\r" . $zenity . "\r" . $pctcomplete*100 .
"\r" . $rev . $s . $reset; "\r" . $rev . $s . $reset;
return $s; return $s;
} }
@ -4583,21 +4636,26 @@ sub parse_sshlogin() {
} }
# debug("start", "sshlogin: ", my_dump(%Global::host),"\n"); # debug("start", "sshlogin: ", my_dump(%Global::host),"\n");
if(@Global::transfer_files or @opt::return or $opt::cleanup or @opt::basefile) { if(@Global::transfer_files or @opt::return
or $opt::cleanup or @opt::basefile) {
if(not remote_hosts()) { if(not remote_hosts()) {
# There are no remote hosts # There are no remote hosts
if(@opt::trc) { if(@opt::trc) {
::warning("--trc ignored as there are no remote --sshlogin."); ::warning("--trc ignored as there are no remote --sshlogin.");
} elsif (defined $opt::transfer) { } elsif (defined $opt::transfer) {
::warning("--transfer ignored as there are no remote --sshlogin."); ::warning("--transfer ignored as there are ".
"no remote --sshlogin.");
} elsif (@opt::transfer_files) { } elsif (@opt::transfer_files) {
::warning("--transferfile ignored as there are no remote --sshlogin."); ::warning("--transferfile ignored as there ".
"are no remote --sshlogin.");
} elsif (@opt::return) { } elsif (@opt::return) {
::warning("--return ignored as there are no remote --sshlogin."); ::warning("--return ignored as there are no remote --sshlogin.");
} elsif (defined $opt::cleanup and not %opt::template) { } elsif (defined $opt::cleanup and not %opt::template) {
::warning("--cleanup ignored as there are no remote --sshlogin."); ::warning("--cleanup ignored as there ".
"are no remote --sshlogin.");
} elsif (@opt::basefile) { } elsif (@opt::basefile) {
::warning("--basefile ignored as there are no remote --sshlogin."); ::warning("--basefile ignored as there ".
"are no remote --sshlogin.");
} }
} }
} }
@ -4630,7 +4688,8 @@ sub setup_basefile() {
::wait_and_exit(255); ::wait_and_exit(255);
} }
if(not $workdir) { if(not $workdir) {
my $dummycmdline = CommandLine->new(1,["true"],{},0,0,[],[],[],[],{},{}); my $dummycmdline =
CommandLine->new(1,["true"],{},0,0,[],[],[],[],{},{});
my $dummyjob = Job->new($dummycmdline); my $dummyjob = Job->new($dummycmdline);
$workdir = $dummyjob->workdir(); $workdir = $dummyjob->workdir();
} }
@ -4919,7 +4978,8 @@ sub parallelized_host_filtering() {
push(@threads, $host."\t"."true $host; ". push(@threads, $host."\t"."true $host; ".
sshwrapped($sshlogin,"parallel --number-of-threads",0)."\n\0"); sshwrapped($sshlogin,"parallel --number-of-threads",0)."\n\0");
push(@maxline, $host."\t"."true $host; ". push(@maxline, $host."\t"."true $host; ".
sshwrapped($sshlogin,"parallel --max-line-length-allowed",0)."\n\0"); sshwrapped($sshlogin,
"parallel --max-line-length-allowed",0)."\n\0");
# 'echo' is used to get the fastest possible ssh login time # 'echo' is used to get the fastest possible ssh login time
push(@echo, $host."\t"."true $host; ". push(@echo, $host."\t"."true $host; ".
$sshlogin->wrap("echo $host")."\n\0"); $sshlogin->wrap("echo $host")."\n\0");
@ -5109,7 +5169,8 @@ sub onall($@) {
my %seen; my %seen;
for my $joblog (@joblogs) { for my $joblog (@joblogs) {
# Append to $joblog # Append to $joblog
open(my $fh, "<", $joblog) || ::die_bug("Cannot open tmp joblog $joblog"); open(my $fh, "<", $joblog) ||
::die_bug("Cannot open tmp joblog $joblog");
# Skip first line (header); # Skip first line (header);
<$fh>; <$fh>;
print $Global::joblog (<$fh>); print $Global::joblog (<$fh>);
@ -5515,8 +5576,10 @@ sub citation_notice() {
print $fh $runs; print $fh $runs;
close $fh; close $fh;
if($runs >= 10) { if($runs >= 10) {
::status("Come on: You have run parallel $runs times. Isn't it about time ", ::status("Come on: You have run parallel $runs times. ".
"you run 'parallel --citation' once to silence the citation notice?", "Isn't it about time ",
"you run 'parallel --citation' once to silence ".
"the citation notice?",
""); "");
} }
} }
@ -6055,8 +6118,10 @@ sub multiply_time_units($) {
s/m/*60+/gi; s/m/*60+/gi;
s/h/*3600+/gi; s/h/*3600+/gi;
s/d/*86400+/gi; s/d/*86400+/gi;
$_ = eval $_."0"; # 1m/3 => 1*60+/3 => 1*60/3
s/\+(\D)/$1/gi;
} }
$_ = eval $_."-0";
} }
return wantarray ? @v : $v[0]; return wantarray ? @v : $v[0];
} }
@ -6489,14 +6554,12 @@ sub reap_usleep() {
$something_printed += $job->print(); $something_printed += $job->print();
} }
} }
if($something_printed) { if($something_printed) { $ms = $ms/2+0.001; }
$ms = $ms/2+0.001;
}
} }
if($ms > 0.002) { if($ms > 0.002) {
# When a child dies, wake up from sleep (or select(,,,)) # When a child dies, wake up from sleep (or select(,,,))
$SIG{CHLD} = sub { kill "ALRM", $$ }; $SIG{CHLD} = sub { kill "ALRM", $$ };
if($opt::delay) { if($opt::delay and not $Global::linebuffer) {
# The 0.004s is approximately the time it takes for one round # The 0.004s is approximately the time it takes for one round
my $next_earliest_start = my $next_earliest_start =
$Global::newest_starttime + $opt::delay - 0.004; $Global::newest_starttime + $opt::delay - 0.004;
@ -11087,7 +11150,7 @@ sub print_files($) {
} }
if(not $init) { if(not $init) {
$init = 1; $init = 1;
if($Global::color or $opt::lastlinebuffer) { if($Global::color or $opt::latestline) {
# cursor_up cuu1 = up one line # cursor_up cuu1 = up one line
$up = `tput cuu1 </dev/tty`; $up = `tput cuu1 </dev/tty`;
chomp($up); chomp($up);
@ -11137,7 +11200,7 @@ sub print_files($) {
# map { print $b,$_ } 1..10' # map { print $b,$_ } 1..10'
$i = ((rindex($buf,"\n")+1) || (rindex($buf,"\r")+1)); $i = ((rindex($buf,"\n")+1) || (rindex($buf,"\r")+1));
if($i) { if($i) {
if($opt::lastlinebuffer) { if($opt::latestline) {
# Remove the final \n/\r # Remove the final \n/\r
my $l = join('', @$halfline_ref, my $l = join('', @$halfline_ref,
substr($buf,0,$i-1)); substr($buf,0,$i-1));
@ -11404,9 +11467,7 @@ sub print_results($) {
$outputlength = tell($in_fh); $outputlength = tell($in_fh);
} }
} }
if($fdno == 1) { if($fdno == 1) { $self->add_returnsize($outputlength); }
$self->add_returnsize($outputlength);
}
close $in_fh; close $in_fh;
if($? and $opt::compress) { if($? and $opt::compress) {
::error($opt::decompress_program." failed."); ::error($opt::decompress_program." failed.");
@ -11477,7 +11538,7 @@ sub print_joblog($) {
$curseq = 1; $curseq = 1;
$maxseq = 1; $maxseq = 1;
} }
sub print_color() { sub print_color() {
# @text is a single line # @text is a single line
my ($out_fh,@text) = @_; my ($out_fh,@text) = @_;

View file

@ -1348,7 +1348,7 @@ Number of jobslots on each machine.
Run up to N jobs in parallel. 0 means as many as possible (this can Run up to N jobs in parallel. 0 means as many as possible (this can
take a while to determine). Default is 100% which will run one job per take a while to determine). Default is 100% which will run one job per
CPU on each machine. CPU thread on each machine.
Due to a bug B<-j 0> will also evaluate replacement strings twice up Due to a bug B<-j 0> will also evaluate replacement strings twice up
to the number of joblots: to the number of joblots:
@ -1360,6 +1360,10 @@ to the number of joblots:
If B<--semaphore> is set, the default is 1 thus making a mutex. If B<--semaphore> is set, the default is 1 thus making a mutex.
See also: B<--use-cores-instead-of-threads>
B<--use-sockets-instead-of-threads>
=item B<--jobs> I<+N> =item B<--jobs> I<+N>
@ -1543,9 +1547,9 @@ Similar to B<--memfree>.
See also: B<--memfree> B<--load> See also: B<--memfree> B<--load>
=item B<--last-line-buffer> (alpha testing) =item B<--latest-line> (alpha testing)
=item B<--llb> (alpha testing) =item B<--ll> (alpha testing)
Print the lastest line of each running job. Print the lastest line of each running job.
@ -3446,8 +3450,9 @@ See also: B<--use-cores-instead-of-threads>
Determine how GNU B<parallel> counts the number of CPUs. Determine how GNU B<parallel> counts the number of CPUs.
GNU B<parallel> uses this number when the number of jobslots is GNU B<parallel> uses this number when the number of jobslots
computed relative to the number of CPUs (e.g. 100% or +1). (B<--jobs>) is computed relative to the number of CPUs (e.g. 100% or
+1).
CPUs can be counted in three different ways: CPUs can be counted in three different ways:
@ -4872,9 +4877,6 @@ If you cannot use passwordless login, you may be able to use B<sshpass>:
seq 10 | seq 10 |
parallel --ssh 'sshpass -e ssh' -S 4/user-with-password@server' echo parallel --ssh 'sshpass -e ssh' -S 4/user-with-password@server' echo
Currently the remote detection of CPU cores is incompatible with
B<sshpass> so use the '4/' syntax to tell the server has 4 cores.
=head2 EXAMPLE: Use outrun instead of ssh =head2 EXAMPLE: Use outrun instead of ssh
@ -5124,7 +5126,7 @@ Interleaved FASTQ starts with a line like these:
where '/1' and ' 1:' determines this is read 1. where '/1' and ' 1:' determines this is read 1.
This will cut big.fq into one chunk per CPU core and pass it on This will cut big.fq into one chunk per CPU thread and pass it on
stdin (standard input) to the program fastq-reader: stdin (standard input) to the program fastq-reader:
parallel --pipe-part -a big.fq --block -1 --regexp \ parallel --pipe-part -a big.fq --block -1 --regexp \
@ -5752,7 +5754,7 @@ Remember to quote the $, so it gets evaluated by the correct shell. Or
use B<--plus> and {sshlogin}. use B<--plus> and {sshlogin}.
The value is the sshlogin line with number of cores removed. E.g. The value is the sshlogin line with number of threads removed. E.g.
4//usr/bin/specialssh user@host 4//usr/bin/specialssh user@host

View file

@ -978,21 +978,41 @@ https://github.com/danielgtaylor/ladon (Last checked: 2019-01)
=head2 DIFFERENCES BETWEEN jobflow AND GNU Parallel =head2 DIFFERENCES BETWEEN jobflow AND GNU Parallel
Summary (see legend above):
=over
=item I1 - - - - - I7
=item - - M3 - - (M6)
=item O1 O2 O3 - O5 O6 (O7) - - O10
=item E1 - - - - E6 -
=item - - - - - - - - -
=item - -
=back
B<jobflow> can run multiple jobs in parallel. B<jobflow> can run multiple jobs in parallel.
Just like B<xargs> output from B<jobflow> jobs running in parallel mix Just like B<xargs> output from B<jobflow> jobs running in parallel mix
together by default. B<jobflow> can buffer into files (placed in together by default. B<jobflow> can buffer into files with
/run/shm), but these are not cleaned up if B<jobflow> dies B<-buffered> (placed in /run/shm), but these are not cleaned up if
unexpectedly (e.g. by Ctrl-C). If the total output is big (in the B<jobflow> dies unexpectedly (e.g. by Ctrl-C). If the total output is
order of RAM+swap) it can cause the system to slow to a crawl and big (in the order of RAM+swap) it can cause the system to slow to a
eventually run out of memory. crawl and eventually run out of memory.
B<jobflow> gives no error if the command is unknown, and like B<xargs> Just like B<xargs> redirection and composed commands require wrapping
redirection and composed commands require wrapping with B<bash -c>. with B<bash -c>.
Input lines can at most be 4096 bytes. You can at most have 16 {}'s in Input lines can at most be 4096 bytes.
the command template. More than that either crashes the program or
simple does not execute the command. B<jobflow> is faster than GNU B<parallel> but around 6 times slower
than B<parallel-bash>.
B<jobflow> has no equivalent for B<--pipe>, or B<--sshlogin>. B<jobflow> has no equivalent for B<--pipe>, or B<--sshlogin>.
@ -1024,7 +1044,13 @@ jobs. This can be emulated by GNU B<parallel> using B<bash>'s B<ulimit>:
4$ find . -name '*.bmp' | \ 4$ find . -name '*.bmp' | \
parallel -j8 bmp2jpeg {.}.bmp {.}.jpg parallel -j8 bmp2jpeg {.}.bmp {.}.jpg
https://github.com/rofl0r/jobflow 5$ seq 100 | jobflow -skip 10 -count 10
5$ seq 100 | parallel --filter '{1} > 10 and {1} <= 20' echo
5$ seq 100 | parallel echo '{= $_>10 and $_<=20 or skip() =}'
https://github.com/rofl0r/jobflow (Last checked: 2022-05)
=head2 DIFFERENCES BETWEEN gargs AND GNU Parallel =head2 DIFFERENCES BETWEEN gargs AND GNU Parallel

View file

@ -34,7 +34,7 @@ install_packages() {
# Shells # Shells
# (csh = bsd-csh that is broken) # (csh = bsd-csh that is broken)
shell_pkgs="ash dash fdclone fish fizsh ksh ksh93 mksh posh rc rush sash" shell_pkgs="ash dash fdclone fish fizsh ksh ksh93u+m ksh93 mksh posh rc rush sash"
shell_pkgs="$shell_pkgs tcsh yash zsh" shell_pkgs="$shell_pkgs tcsh yash zsh"
# Databases # Databases

View file

@ -7,6 +7,17 @@
echo "### These tests requires VirtualBox running with the following images" echo "### These tests requires VirtualBox running with the following images"
echo 'vagrant@centos3' echo 'vagrant@centos3'
# add this to .ssh/config
# Host centos3
# HostKeyAlgorithms +ssh-rsa,ssh-dss
# PubkeyAcceptedAlgorithms +ssh-dss
# user vagrant
# add this to: /etc/ssh/sshd_config on 172.27.27.1
# HostKeyAlgorithms +ssh-rsa
# and:
# systemctl restart sshd
SERVER1=centos3 SERVER1=centos3
SSHUSER1=vagrant SSHUSER1=vagrant
SSHLOGIN1=$SSHUSER1@$SERVER1 SSHLOGIN1=$SSHUSER1@$SERVER1
@ -15,18 +26,29 @@ SERVER2=172.27.27.1
SSHUSER2=parallel SSHUSER2=parallel
export SSHLOGIN2=$SSHUSER2@$SERVER2 export SSHLOGIN2=$SSHUSER2@$SERVER2
stdout ping -w 1 -c 1 centos3 >/dev/null || ( start_centos3() {
# Vagrant does not set the IP addr stdout ping -w 1 -c 1 centos3 >/dev/null || (
cd testsuite/vagrant/tange/centos3/ 2>/dev/null # Vagrant does not set the IP addr
cd vagrant/tange/centos3/ 2>/dev/null cd testsuite/vagrant/tange/centos3/ 2>/dev/null
cd ../vagrant/tange/centos3/ 2>/dev/null cd vagrant/tange/centos3/ 2>/dev/null
( cd ../vagrant/tange/centos3/ 2>/dev/null
stdout vagrant up >/dev/null vagrantssh() {
vagrant ssh -c 'sudo ifconfig eth1 172.27.27.3' | port=$(perl -ne '/#/ and next; /config.vm.network.*host:\s*(\d+)/ and print $1' Vagrantfile)
# Ignore empty ^M line w4it-for-port-open localhost $port
grep .. ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \
) & -oHostKeyAlgorithms=+ssh-rsa,ssh-dss \
) -oPubkeyAcceptedAlgorithms=+ssh-dss -p$port vagrant@localhost "$@" |
# Ignore empty ^M line
grep ..
}
(
stdout vagrant up >/dev/null
vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3'
) &
)
}
start_centos3
( (
# Copy binaries to server # Copy binaries to server
cd testsuite/vagrant/tange/centos3/ 2>/dev/null cd testsuite/vagrant/tange/centos3/ 2>/dev/null

View file

@ -147,7 +147,7 @@ EOF
par_resume_k() { par_resume_k() {
echo '### --resume -k' echo '### --resume -k'
tmp=$(tempfile) tmp=$(mktemp)
parallel -k --resume --joblog $tmp echo job{}id\;exit {} ::: 0 1 2 3 0 5 parallel -k --resume --joblog $tmp echo job{}id\;exit {} ::: 0 1 2 3 0 5
echo try 2 = nothing echo try 2 = nothing
parallel -k --resume --joblog $tmp echo job{}id\;exit {} ::: 0 1 2 3 0 5 parallel -k --resume --joblog $tmp echo job{}id\;exit {} ::: 0 1 2 3 0 5
@ -688,8 +688,8 @@ par_link_files_as_only_arg() {
} }
par_basic_halt() { par_basic_halt() {
cpuburn=$(tempfile) cpuburn=$(mktemp)
cpuburn2=$(tempfile) cpuburn2=$(mktemp)
(echo '#!/usr/bin/perl' (echo '#!/usr/bin/perl'
echo "eval{setpriority(0,0,9)}; while(1){}") > $cpuburn echo "eval{setpriority(0,0,9)}; while(1){}") > $cpuburn
chmod 700 $cpuburn chmod 700 $cpuburn
@ -745,8 +745,8 @@ par_X_eta_div_zero() {
par_parcat_args_stdin() { par_parcat_args_stdin() {
echo 'bug #51690: parcat: read args from stdin' echo 'bug #51690: parcat: read args from stdin'
tmp1=$(tempfile) tmp1=$(mktemp)
tmp2=$(tempfile) tmp2=$(mktemp)
echo OK1 > $tmp1 echo OK1 > $tmp1
echo OK2 > $tmp2 echo OK2 > $tmp2
(echo $tmp1 (echo $tmp1
@ -756,7 +756,7 @@ par_parcat_args_stdin() {
par_parcat_rm() { par_parcat_rm() {
echo 'bug #51691: parcat --rm remove fifo when opened' echo 'bug #51691: parcat --rm remove fifo when opened'
tmp1=$(tempfile) tmp1=$(mktemp)
echo OK1 > $tmp1 echo OK1 > $tmp1
parcat --rm $tmp1 parcat --rm $tmp1
rm $tmp1 2>/dev/null || echo OK file removed rm $tmp1 2>/dev/null || echo OK file removed
@ -792,7 +792,7 @@ par_blocking_redir() {
par_pipepart_recend_recstart() { par_pipepart_recend_recstart() {
echo 'bug #52343: --recend/--recstart does wrong thing with --pipepart' echo 'bug #52343: --recend/--recstart does wrong thing with --pipepart'
tmp1=$(tempfile) tmp1=$(mktemp)
seq 10 > $tmp1 seq 10 > $tmp1
parallel -k --pipepart -a $tmp1 --recend '\n' --recstart '6' --block 1 'echo a; cat' parallel -k --pipepart -a $tmp1 --recend '\n' --recstart '6' --block 1 'echo a; cat'
parallel -k --pipe < $tmp1 --recend '\n' --recstart '6' --block 1 'echo a; cat' parallel -k --pipe < $tmp1 --recend '\n' --recstart '6' --block 1 'echo a; cat'

View file

@ -454,8 +454,8 @@ par_semaphore() {
par_line_buffer() { par_line_buffer() {
echo "### --line-buffer" echo "### --line-buffer"
tmp1=$(tempfile) tmp1=$(mktemp)
tmp2=$(tempfile) tmp2=$(mktemp)
seq 10 | parallel -j20 --line-buffer 'seq {} 10 | pv -qL 10' > $tmp1 seq 10 | parallel -j20 --line-buffer 'seq {} 10 | pv -qL 10' > $tmp1
seq 10 | parallel -j20 'seq {} 10 | pv -qL 10' > $tmp2 seq 10 | parallel -j20 'seq {} 10 | pv -qL 10' > $tmp2
@ -467,8 +467,8 @@ par_line_buffer() {
par_pipe_line_buffer() { par_pipe_line_buffer() {
echo "### --pipe --line-buffer" echo "### --pipe --line-buffer"
tmp1=$(tempfile) tmp1=$(mktemp)
tmp2=$(tempfile) tmp2=$(mktemp)
nowarn() { nowarn() {
# Ignore certain warnings # Ignore certain warnings

View file

@ -289,7 +289,7 @@ par_groupby_pipepart() {
generator="$1" generator="$1"
colsep="$2" colsep="$2"
groupby="$3" groupby="$3"
tmp=`tempfile` tmp=`mktemp`
echo "### test $generator | --colsep $colsep --groupby $groupby" echo "### test $generator | --colsep $colsep --groupby $groupby"
$generator > $tmp $generator > $tmp

View file

@ -8,23 +8,6 @@
# Each should be taking 3-10s and be possible to run in parallel # Each should be taking 3-10s and be possible to run in parallel
# I.e.: No race conditions, no logins # I.e.: No race conditions, no logins
par_llb_color() {
echo 'bug #62386: --color (--ctag but without --tag)'
echo 'bug #62438: See last line from multiple jobslots'
slow_seq() {
sleep 0.$1
seq $1 | pv -qL $1
}
export -f slow_seq
run() {
seq 4 | parallel --color $@ slow_seq
}
export -f run
parallel --delay 0.1 -vkj0 run \
::: --lb --llb '' ::: --color '' ::: '--tagstring {}{}' --tag '' ::: -k '' |
md5sum
}
par_process_slot_var() { par_process_slot_var() {
echo '### bug #62310: xargs compatibility: --process-slot-var=name' echo '### bug #62310: xargs compatibility: --process-slot-var=name'
seq 0.1 0.1 0.5 | seq 0.1 0.1 0.5 |
@ -144,7 +127,7 @@ EOF
true true
} }
run() { run() {
tmp=`tempfile` tmp=`mktemp`
"$@" > "$tmp" "$@" > "$tmp"
chmod +x "$tmp" chmod +x "$tmp"
"$tmp" A B C "$tmp" A B C
@ -343,7 +326,7 @@ par_tee_with_premature_close() {
par_tee_too_many_args() { par_tee_too_many_args() {
echo '### Fail if there are more arguments than --jobs' echo '### Fail if there are more arguments than --jobs'
seq 11 | stdout parallel -k --tag --pipe -j4 --tee grep {} ::: {1..4} seq 11 | stdout parallel -k --tag --pipe -j4 --tee grep {} ::: {1..4}
tmp=`tempfile` tmp=`mktemp`
seq 11 | parallel -k --tag --pipe -j0 --tee grep {} ::: {1..10000} 2> "$tmp" seq 11 | parallel -k --tag --pipe -j0 --tee grep {} ::: {1..10000} 2> "$tmp"
cat "$tmp" | perl -pe 's/\d+/999/g' cat "$tmp" | perl -pe 's/\d+/999/g'
rm "$tmp" rm "$tmp"

View file

@ -13,8 +13,8 @@ par_sem_dir() {
par_parcat_mixing() { par_parcat_mixing() {
echo 'parcat output should mix: a b a b' echo 'parcat output should mix: a b a b'
mktmpfifo() { mktempfifo() {
tmp=$(tempfile) tmp=$(mktemp)
rm $tmp rm $tmp
mkfifo $tmp mkfifo $tmp
echo $tmp echo $tmp
@ -25,8 +25,8 @@ par_parcat_mixing() {
sleep 2 sleep 2
perl -e 'print "'$string'"x9000,"end\n"' perl -e 'print "'$string'"x9000,"end\n"'
} }
tmp1=$(mktmpfifo) tmp1=$(mktempfifo)
tmp2=$(mktmpfifo) tmp2=$(mktempfifo)
slow_output a > $tmp1 & slow_output a > $tmp1 &
sleep 1 sleep 1
slow_output b > $tmp2 & slow_output b > $tmp2 &
@ -106,7 +106,7 @@ par_bug56403() {
par_delay_Xauto() { par_delay_Xauto() {
echo 'TODO: --retries for those that fail and --sshdelay' echo 'TODO: --retries for those that fail and --sshdelay'
echo '### bug #58911: --delay Xauto' echo '### bug #58911: --delay Xauto'
tmp=$(tempfile) tmp=$(mktemp)
doit() { doit() {
perl -e '$a=shift; perl -e '$a=shift;
$m = -M $a < 0.0000001; $m = -M $a < 0.0000001;

View file

@ -6,6 +6,41 @@
# These fail regularly # These fail regularly
par_ll_lb_color() {
echo 'bug #62386: --color (--ctag but without --tag)'
echo 'bug #62438: See last line from multiple jobslots'
# This is really a race condition - might have to be moved
# # delay modulo 4 seconds
# perl -MTime::HiRes -E 'Time::HiRes::usleep(1000000*(((time|3)+1)-Time::HiRes::time()));'
# # delay modulo 2 seconds
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time|1)));say time;'
# # delay modulo 1 second
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time|0)));say time;'
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(1-time+(time*4|0)/4));say time;'
# # delay modulo 1/4 second
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(-time+(1+time*3|0)/3));say time;';
# # delay modulo 1/4 second + 100 ms
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(0.1-time+(1+time*3|0)/3));say time;';
# # delay modulo 1 second + 200 ms
# perl -E 'use Time::HiRes qw(usleep time); usleep(1000000*(0.2-time+(1+time*1|0)/1));say time;';
# # delay modulo 1 second + delta ms
# perl -E 'use Time::HiRes qw(usleep time); $d=shift; for(1..shift){
# usleep(1000000*($d-time+(1+time*1|0)/1));say;}' 0.2 6;
offset_seq() {
perl -E 'use Time::HiRes qw(usleep time); $|=1;$d=shift; for(1..shift){
usleep(1000000*($d-time+(1+time*1|0)/1));say;}' $@;
}
export -f offset_seq
run() {
seq 4 -1 1 | parallel -j0 $@ offset_seq 0.{#} {}
}
export -f run
parallel --delay 0.17 -vkj0 run \
::: --lb --ll '' ::: --color '' ::: '--tagstring {}{}' --tag '' ::: -k '' |
md5sum
}
ctrlz_should_suspend_children() { ctrlz_should_suspend_children() {
echo 'bug #46120: Suspend should suspend (at least local) children' echo 'bug #46120: Suspend should suspend (at least local) children'
echo 'it should burn 1.9 CPU seconds, but no more than that' echo 'it should burn 1.9 CPU seconds, but no more than that'
@ -154,7 +189,7 @@ par_kill_hup() {
par_resume_failed_k() { par_resume_failed_k() {
echo '### bug #38299: --resume-failed -k' echo '### bug #38299: --resume-failed -k'
tmp=$(tempfile) tmp=$(mktemp)
parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1 parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1
echo try 2. Gives failing - not 0 echo try 2. Gives failing - not 0
parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1 parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1

View file

@ -22,8 +22,8 @@ p_wrapper() {
SERVERURL=$(eval echo $2) SERVERURL=$(eval echo $2)
TABLE=TBL$RANDOM TABLE=TBL$RANDOM
DBURL=$SERVERURL/$TABLE DBURL=$SERVERURL/$TABLE
T1=$(tempfile) T1=$(mktemp)
T2=$(tempfile) T2=$(mktemp)
eval "$INNER" eval "$INNER"
echo Exit=$? echo Exit=$?
wait wait
@ -114,7 +114,7 @@ par_sql_joblog() {
parallel -k --joblog - --sqlmaster $DBURL --wait sleep .3\;echo ::: {1..5} ::: {a..e} | parallel -k --joblog - --sqlmaster $DBURL --wait sleep .3\;echo ::: {1..5} ::: {a..e} |
perl -pe 's/\d+\.\d+/999.999/g' | sort -n & perl -pe 's/\d+\.\d+/999.999/g' | sort -n &
sleep 0.5 sleep 0.5
T=$(tempfile) T=$(mktemp)
parallel -k --joblog - --sqlworker $DBURL > $T parallel -k --joblog - --sqlworker $DBURL > $T
wait wait
# Needed because of race condition # Needed because of race condition

View file

@ -29,8 +29,8 @@ p_wrapper() {
# Use a random table for each test # Use a random table for each test
TABLE=TBL$RANDOM TABLE=TBL$RANDOM
DBURL=$SERVERURL/$TABLE DBURL=$SERVERURL/$TABLE
T1=$(tempfile) T1=$(mktemp)
T2=$(tempfile) T2=$(mktemp)
# Run $INNER (all the par_* functions) # Run $INNER (all the par_* functions)
eval "$INNER" eval "$INNER"
echo Exit=$? echo Exit=$?

View file

@ -3321,7 +3321,7 @@ compgen -A function | grep par_ | LC_ALL=C sort -r |
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1' # parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
# 2019-07-14 200% too high for 16 GB/4 thread # 2019-07-14 200% too high for 16 GB/4 thread
parallel --joblog /tmp/jl-`basename $0` -j75% --retries 2 --tag -k '{} 2>&1' | parallel --joblog /tmp/jl-`basename $0` -j75% --retries 2 --tag -k '{} 2>&1' |
perl -pe 's/line \d?\d\d:/line XXX:/g; perl -pe 's/line \d\d+/line XXX/g;
s/\d+ >= \d+/XXX >= XXX/; s/\d+ >= \d+/XXX >= XXX/;
s/sh:? \d?\d\d:/sh: XXX:/; s/sh:? \d?\d\d:/sh: XXX:/;
s/:\d?\d\d:/:XXX:/; s/:\d?\d\d:/:XXX:/;

View file

@ -174,7 +174,7 @@ par_no_route_to_host() {
# Random hosts # Random hosts
findhosts() { findhosts() {
ip='$(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%256))' ip='$(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%256))'
seq 10000 | parallel -N0 echo $ip seq 10000 | parallel -N0 echo $ip | grep -v ^127
} }
# See if the hosts fail fast # See if the hosts fail fast

View file

@ -4,16 +4,28 @@
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
stdout ping -w 1 -c 1 centos3 >/dev/null || ( start_centos3() {
# Vagrant does not set the IP addr stdout ping -w 1 -c 1 centos3 >/dev/null || (
cd testsuite/vagrant/tange/centos3/ 2>/dev/null # Vagrant does not set the IP addr
cd vagrant/tange/centos3/ 2>/dev/null cd testsuite/vagrant/tange/centos3/ 2>/dev/null
cd ../vagrant/tange/centos3/ 2>/dev/null cd vagrant/tange/centos3/ 2>/dev/null
stdout vagrant up >/dev/null cd ../vagrant/tange/centos3/ 2>/dev/null
vagrant ssh -c 'sudo ifconfig eth1 172.27.27.3' | vagrantssh() {
# Ignore empty ^M line port=$(perl -ne '/#/ and next; /config.vm.network.*host:\s*(\d+)/ and print $1' Vagrantfile)
grep .. w4it-for-port-open localhost $port
) ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 \
-oHostKeyAlgorithms=+ssh-rsa,ssh-dss \
-oPubkeyAcceptedAlgorithms=+ssh-dss -p$port vagrant@localhost "$@" |
# Ignore empty ^M line
grep ..
}
(
stdout vagrant up >/dev/null
vagrantssh 'sudo /sbin/ifconfig eth1 172.27.27.3'
) &
)
}
start_centos3
stdout parallel --tag -k 'ping -w 1 -c 1 {} || (cd vagrant/*/{} && vagrant up)' ::: rhel8 centos3 | stdout parallel --tag -k 'ping -w 1 -c 1 {} || (cd vagrant/*/{} && vagrant up)' ::: rhel8 centos3 |
grep -v 'default' | grep -v '==>' | grep -E '^$' & grep -v 'default' | grep -v '==>' | grep -E '^$' &

View file

@ -8,7 +8,7 @@ par_whitespace_delimiter() {
echo 'bug #59779: parsort does not work with white characters as delimiters' echo 'bug #59779: parsort does not work with white characters as delimiters'
doit() { doit() {
del="$1" del="$1"
tmp=$(tempfile) tmp=$(mktemp)
( (
printf "a%s8%se\n" "$del" "$del" printf "a%s8%se\n" "$del" "$del"
printf "b%s7%sf\n" "$del" "$del" printf "b%s7%sf\n" "$del" "$del"

View file

@ -0,0 +1,77 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "tange/centos3"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port
config.vm.network :forwarded_port, guest: 22, host: 50036, id: 'ssh'
config.vm.boot_timeout = 600
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access
# via 127.0.0.1 to disable public access
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "172.27.27.3"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
vb.memory = "256"
end
#
# View the documentation for the provider you are using for more
# information on available options.
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
config.vm.provision "shell" do |s|
ssh_pub_key = File.readlines("../../authorized_keys").first.strip
s.inline = <<-SHELL
mkdir /root/.ssh
echo #{ssh_pub_key} >> /home/vagrant/.ssh/authorized_keys
echo #{ssh_pub_key} >> /root/.ssh/authorized_keys
sudo apt install rsync || sudo yum install -y rsync || sudo pkg install -y rsync
SHELL
end
end

View file

@ -530,7 +530,7 @@ par_nice_locally PAR=a bash -c "echo \$PAR b"
par_nice_locally a b par_nice_locally a b
par_no_command_given ### Test bugfix if no command given par_no_command_given ### Test bugfix if no command given
par_no_command_given 1 2 par_no_command_given 1 2
par_no_command_given /bin/bash: 3: command not found 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_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 bug #46016: --joblog should not log when --dryrun
par_no_joblog_with_dryrun echo Only_this par_no_joblog_with_dryrun echo Only_this
@ -953,10 +953,10 @@ par_sem_quote ### sem --quote should not add empty argument
par_sem_quote echo par_sem_quote echo
par_sem_quote par_sem_quote
par_shellcompletion ### --shellcompletion par_shellcompletion ### --shellcompletion
par_shellcompletion a040c070a388e8799d899dce6e4d478b - par_shellcompletion 329fc284cae55cbfed49ed5546eb2b29 -
par_shellcompletion a040c070a388e8799d899dce6e4d478b - par_shellcompletion 329fc284cae55cbfed49ed5546eb2b29 -
par_shellcompletion 7bd30aa4542083e298ef0d1a60dc1322 - par_shellcompletion 4869360b2bf2f084c17bdc60413faace -
par_shellcompletion 7bd30aa4542083e298ef0d1a60dc1322 - par_shellcompletion 4869360b2bf2f084c17bdc60413faace -
par_slow_pipe_regexp ### bug #53718: --pipe --regexp -N blocks 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 This should take a few ms, but took more than 2 hours
par_slow_pipe_regexp 0 1 1 par_slow_pipe_regexp 0 1 1

View file

@ -934,8 +934,7 @@ par_shellquote fish '
par_shellquote fish par_shellquote fish  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>' par_shellquote fish par_shellquote fish  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
par_shellquote fizsh ' par_shellquote fizsh '
par_shellquote fizsh par_shellquote fizsh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>' par_shellquote fizsh par_shellquote fizsh  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
par_shellquote ksh2020 ' par_shellquote ksh2020 environment: line 1: ksh2020: command not found
par_shellquote ksh2020 par_shellquote ksh2020  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
par_shellquote ksh93 ' par_shellquote ksh93 '
par_shellquote ksh93 par_shellquote ksh93  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>' par_shellquote ksh93 par_shellquote ksh93  !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
par_shellquote lksh ' par_shellquote lksh '

View file

@ -18,7 +18,7 @@ par_halt_on_error -2 false true parallel: This job succeeded:
par_halt_on_error -2 false true sleep 2;true par_halt_on_error -2 false true sleep 2;true
par_halt_on_error -2 false false 3 par_halt_on_error -2 false false 3
par_halt_on_error -2 false false 4 par_halt_on_error -2 false false 4
par_halt_on_error -2 false false /bin/bash: non_exist: command not found par_halt_on_error -2 false false /bin/bash: line 1: non_exist: command not found
par_halt_on_error -1 true true 0 par_halt_on_error -1 true true 0
par_halt_on_error -1 true true 0 par_halt_on_error -1 true true 0
par_halt_on_error -1 true true parallel: This job succeeded: par_halt_on_error -1 true true parallel: This job succeeded:
@ -38,7 +38,7 @@ par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 2 jo
par_halt_on_error -1 true true parallel: This job succeeded: par_halt_on_error -1 true true parallel: This job succeeded:
par_halt_on_error -1 true true sleep 3;true par_halt_on_error -1 true true sleep 3;true
par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 1 jobs to finish. par_halt_on_error -1 true true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 true true /bin/bash: non_exist: command not found par_halt_on_error -1 true true /bin/bash: line 1: non_exist: command not found
par_halt_on_error -1 true false 0 par_halt_on_error -1 true false 0
par_halt_on_error -1 true false 0 par_halt_on_error -1 true false 0
par_halt_on_error -1 true false parallel: This job succeeded: par_halt_on_error -1 true false parallel: This job succeeded:
@ -52,7 +52,7 @@ par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 3 j
par_halt_on_error -1 true false parallel: This job succeeded: par_halt_on_error -1 true false parallel: This job succeeded:
par_halt_on_error -1 true false sleep 3;true par_halt_on_error -1 true false sleep 3;true
par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 1 jobs to finish. par_halt_on_error -1 true false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error -1 true false /bin/bash: non_exist: command not found par_halt_on_error -1 true false /bin/bash: line 1: non_exist: command not found
par_halt_on_error -1 false true 0 par_halt_on_error -1 false true 0
par_halt_on_error -1 false true 0 par_halt_on_error -1 false true 0
par_halt_on_error -1 false true parallel: This job succeeded: par_halt_on_error -1 false true parallel: This job succeeded:
@ -61,25 +61,25 @@ par_halt_on_error -1 false true parallel: Starting no more jobs. Waiting for 1 j
par_halt_on_error -1 false true parallel: This job succeeded: par_halt_on_error -1 false true parallel: This job succeeded:
par_halt_on_error -1 false true sleep 2;true par_halt_on_error -1 false true sleep 2;true
par_halt_on_error -1 false true parallel: Starting no more jobs. Waiting for 2 jobs to finish. par_halt_on_error -1 false true parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error -1 false true /bin/bash: non_exist: command not found par_halt_on_error -1 false true /bin/bash: line 1: non_exist: command not found
par_halt_on_error -1 false false 3 par_halt_on_error -1 false false 3
par_halt_on_error -1 false false 4 par_halt_on_error -1 false false 4
par_halt_on_error -1 false false /bin/bash: non_exist: command not found par_halt_on_error -1 false false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 0 true true 0 par_halt_on_error 0 true true 0
par_halt_on_error 0 true true 1 par_halt_on_error 0 true true 1
par_halt_on_error 0 true true /bin/bash: non_exist: command not found par_halt_on_error 0 true true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 0 true false 1 par_halt_on_error 0 true false 1
par_halt_on_error 0 true false 2 par_halt_on_error 0 true false 2
par_halt_on_error 0 true false /bin/bash: non_exist: command not found par_halt_on_error 0 true false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 0 false true 2 par_halt_on_error 0 false true 2
par_halt_on_error 0 false true 3 par_halt_on_error 0 false true 3
par_halt_on_error 0 false true /bin/bash: non_exist: command not found par_halt_on_error 0 false true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 0 false false 3 par_halt_on_error 0 false false 3
par_halt_on_error 0 false false 4 par_halt_on_error 0 false false 4
par_halt_on_error 0 false false /bin/bash: non_exist: command not found par_halt_on_error 0 false false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 true true 0 par_halt_on_error 1 true true 0
par_halt_on_error 1 true true 127 par_halt_on_error 1 true true 127
par_halt_on_error 1 true true /bin/bash: non_exist: command not found par_halt_on_error 1 true true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 true true parallel: This job failed: par_halt_on_error 1 true true parallel: This job failed:
par_halt_on_error 1 true true sleep 4;non_exist par_halt_on_error 1 true true sleep 4;non_exist
par_halt_on_error 1 true false 1 par_halt_on_error 1 true false 1
@ -90,7 +90,7 @@ par_halt_on_error 1 true false parallel: Starting no more jobs. Waiting for 1 jo
par_halt_on_error 1 true false parallel: This job failed: par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 2;false par_halt_on_error 1 true false sleep 2;false
par_halt_on_error 1 true false parallel: Starting no more jobs. Waiting for 2 jobs to finish. par_halt_on_error 1 true false parallel: Starting no more jobs. Waiting for 2 jobs to finish.
par_halt_on_error 1 true false /bin/bash: non_exist: command not found par_halt_on_error 1 true false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 true false parallel: This job failed: par_halt_on_error 1 true false parallel: This job failed:
par_halt_on_error 1 true false sleep 4;non_exist par_halt_on_error 1 true false sleep 4;non_exist
par_halt_on_error 1 false true 1 par_halt_on_error 1 false true 1
@ -106,7 +106,7 @@ par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 3 jo
par_halt_on_error 1 false true parallel: This job failed: par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 3;false par_halt_on_error 1 false true sleep 3;false
par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 1 jobs to finish. par_halt_on_error 1 false true parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 false true /bin/bash: non_exist: command not found par_halt_on_error 1 false true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 false true parallel: This job failed: par_halt_on_error 1 false true parallel: This job failed:
par_halt_on_error 1 false true sleep 4;non_exist par_halt_on_error 1 false true sleep 4;non_exist
par_halt_on_error 1 false false 1 par_halt_on_error 1 false false 1
@ -128,12 +128,12 @@ par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 2 j
par_halt_on_error 1 false false parallel: This job failed: par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 3;false par_halt_on_error 1 false false sleep 3;false
par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 1 jobs to finish. par_halt_on_error 1 false false parallel: Starting no more jobs. Waiting for 1 jobs to finish.
par_halt_on_error 1 false false /bin/bash: non_exist: command not found par_halt_on_error 1 false false /bin/bash: line 1: non_exist: command not found
par_halt_on_error 1 false false parallel: This job failed: par_halt_on_error 1 false false parallel: This job failed:
par_halt_on_error 1 false false sleep 4;non_exist par_halt_on_error 1 false false sleep 4;non_exist
par_halt_on_error 2 true true 0 par_halt_on_error 2 true true 0
par_halt_on_error 2 true true 127 par_halt_on_error 2 true true 127
par_halt_on_error 2 true true /bin/bash: non_exist: command not found par_halt_on_error 2 true true /bin/bash: line 1: non_exist: command not found
par_halt_on_error 2 true true parallel: This job failed: par_halt_on_error 2 true true parallel: This job failed:
par_halt_on_error 2 true true sleep 4;non_exist par_halt_on_error 2 true true sleep 4;non_exist
par_halt_on_error 2 true false 1 par_halt_on_error 2 true false 1
@ -259,221 +259,221 @@ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/parallel.pod > "."/parallel.1n \ par_test_build_and_install --section=1 "."/parallel.pod > "."/parallel.1n \
par_test_build_and_install && mv "."/parallel.1n "."/parallel.1 \ par_test_build_and_install && mv "."/parallel.1n "."/parallel.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel.1 par_test_build_and_install Warning: pod2man not found. Using old parallel.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/env_parallel.pod > "."/env_parallel.1n \ par_test_build_and_install --section=1 "."/env_parallel.pod > "."/env_parallel.1n \
par_test_build_and_install && mv "."/env_parallel.1n "."/env_parallel.1 \ par_test_build_and_install && mv "."/env_parallel.1n "."/env_parallel.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old env_parallel.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old env_parallel.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old env_parallel.1 par_test_build_and_install Warning: pod2man not found. Using old env_parallel.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/sem.pod > "."/sem.1n \ par_test_build_and_install --section=1 "."/sem.pod > "."/sem.1n \
par_test_build_and_install && mv "."/sem.1n "."/sem.1 \ par_test_build_and_install && mv "."/sem.1n "."/sem.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old sem.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old sem.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old sem.1 par_test_build_and_install Warning: pod2man not found. Using old sem.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/sql > "."/sql.1n \ par_test_build_and_install --section=1 "."/sql > "."/sql.1n \
par_test_build_and_install && mv "."/sql.1n "."/sql.1 \ par_test_build_and_install && mv "."/sql.1n "."/sql.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old sql.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old sql.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old sql.1 par_test_build_and_install Warning: pod2man not found. Using old sql.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/niceload.pod > "."/niceload.1n \ par_test_build_and_install --section=1 "."/niceload.pod > "."/niceload.1n \
par_test_build_and_install && mv "."/niceload.1n "."/niceload.1 \ par_test_build_and_install && mv "."/niceload.1n "."/niceload.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old niceload.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old niceload.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old niceload.1 par_test_build_and_install Warning: pod2man not found. Using old niceload.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_tutorial.pod > "."/parallel_tutorial.7n \ par_test_build_and_install --section=7 "."/parallel_tutorial.pod > "."/parallel_tutorial.7n \
par_test_build_and_install && mv "."/parallel_tutorial.7n "."/parallel_tutorial.7 \ par_test_build_and_install && mv "."/parallel_tutorial.7n "."/parallel_tutorial.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_tutorial.7" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_tutorial.7"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_tutorial.7 par_test_build_and_install Warning: pod2man not found. Using old parallel_tutorial.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_book.pod > "."/parallel_book.7n \ par_test_build_and_install --section=7 "."/parallel_book.pod > "."/parallel_book.7n \
par_test_build_and_install && mv "."/parallel_book.7n "."/parallel_book.7 \ par_test_build_and_install && mv "."/parallel_book.7n "."/parallel_book.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_book.7" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_book.7"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_book.7 par_test_build_and_install Warning: pod2man not found. Using old parallel_book.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_design.pod > "."/parallel_design.7n \ par_test_build_and_install --section=7 "."/parallel_design.pod > "."/parallel_design.7n \
par_test_build_and_install && mv "."/parallel_design.7n "."/parallel_design.7 \ par_test_build_and_install && mv "."/parallel_design.7n "."/parallel_design.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_design.7" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_design.7"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_design.7 par_test_build_and_install Warning: pod2man not found. Using old parallel_design.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_alternatives.pod > "."/parallel_alternatives.7n \ par_test_build_and_install --section=7 "."/parallel_alternatives.pod > "."/parallel_alternatives.7n \
par_test_build_and_install && mv "."/parallel_alternatives.7n "."/parallel_alternatives.7 \ par_test_build_and_install && mv "."/parallel_alternatives.7n "."/parallel_alternatives.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_alternatives.7" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_alternatives.7"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_alternatives.7 par_test_build_and_install Warning: pod2man not found. Using old parallel_alternatives.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/parcat.pod > "."/parcat.1n \ par_test_build_and_install --section=1 "."/parcat.pod > "."/parcat.1n \
par_test_build_and_install && mv "."/parcat.1n "."/parcat.1 \ par_test_build_and_install && mv "."/parcat.1n "."/parcat.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parcat.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old parcat.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parcat.1 par_test_build_and_install Warning: pod2man not found. Using old parcat.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/parset.pod > "."/parset.1n \ par_test_build_and_install --section=1 "."/parset.pod > "."/parset.1n \
par_test_build_and_install && mv "."/parset.1n "."/parset.1 \ par_test_build_and_install && mv "."/parset.1n "."/parset.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parset.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old parset.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parset.1 par_test_build_and_install Warning: pod2man not found. Using old parset.1
par_test_build_and_install pod2html --title "GNU Parallel" "."/parallel.pod > "."/parallel.htmln \ par_test_build_and_install pod2html --title "GNU Parallel" "."/parallel.pod > "."/parallel.htmln \
par_test_build_and_install && mv "."/parallel.htmln "."/parallel.html \ par_test_build_and_install && mv "."/parallel.htmln "."/parallel.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel.html par_test_build_and_install Warning: pod2html not found. Using old parallel.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel with environment" "."/env_parallel.pod > "."/env_parallel.htmln \ par_test_build_and_install pod2html --title "GNU Parallel with environment" "."/env_parallel.pod > "."/env_parallel.htmln \
par_test_build_and_install && mv "."/env_parallel.htmln "."/env_parallel.html \ par_test_build_and_install && mv "."/env_parallel.htmln "."/env_parallel.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old env_parallel.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old env_parallel.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old env_parallel.html par_test_build_and_install Warning: pod2html not found. Using old env_parallel.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel tutorial" "."/parallel_tutorial.pod > "."/parallel_tutorial.htmln \ par_test_build_and_install pod2html --title "GNU Parallel tutorial" "."/parallel_tutorial.pod > "."/parallel_tutorial.htmln \
par_test_build_and_install && mv "."/parallel_tutorial.htmln "."/parallel_tutorial.html \ par_test_build_and_install && mv "."/parallel_tutorial.htmln "."/parallel_tutorial.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_tutorial.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_tutorial.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_tutorial.html par_test_build_and_install Warning: pod2html not found. Using old parallel_tutorial.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel book" "."/parallel_book.pod > "."/parallel_book.htmln \ par_test_build_and_install pod2html --title "GNU Parallel book" "."/parallel_book.pod > "."/parallel_book.htmln \
par_test_build_and_install && mv "."/parallel_book.htmln "."/parallel_book.html \ par_test_build_and_install && mv "."/parallel_book.htmln "."/parallel_book.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_book.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_book.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_book.html par_test_build_and_install Warning: pod2html not found. Using old parallel_book.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel design" "."/parallel_design.pod > "."/parallel_design.htmln \ par_test_build_and_install pod2html --title "GNU Parallel design" "."/parallel_design.pod > "."/parallel_design.htmln \
par_test_build_and_install && mv "."/parallel_design.htmln "."/parallel_design.html \ par_test_build_and_install && mv "."/parallel_design.htmln "."/parallel_design.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_design.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_design.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_design.html par_test_build_and_install Warning: pod2html not found. Using old parallel_design.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel alternatives" "."/parallel_alternatives.pod > "."/parallel_alternatives.htmln \ par_test_build_and_install pod2html --title "GNU Parallel alternatives" "."/parallel_alternatives.pod > "."/parallel_alternatives.htmln \
par_test_build_and_install && mv "."/parallel_alternatives.htmln "."/parallel_alternatives.html \ par_test_build_and_install && mv "."/parallel_alternatives.htmln "."/parallel_alternatives.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_alternatives.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_alternatives.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_alternatives.html par_test_build_and_install Warning: pod2html not found. Using old parallel_alternatives.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "sem (GNU Parallel)" "."/sem.pod > "."/sem.htmln \ par_test_build_and_install pod2html --title "sem (GNU Parallel)" "."/sem.pod > "."/sem.htmln \
par_test_build_and_install && mv "."/sem.htmln "."/sem.html \ par_test_build_and_install && mv "."/sem.htmln "."/sem.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old sem.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old sem.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old sem.html par_test_build_and_install Warning: pod2html not found. Using old sem.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU SQL" "."/sql > "."/sql.htmln \ par_test_build_and_install pod2html --title "GNU SQL" "."/sql > "."/sql.htmln \
par_test_build_and_install && mv "."/sql.htmln "."/sql.html \ par_test_build_and_install && mv "."/sql.htmln "."/sql.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old sql.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old sql.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old sql.html par_test_build_and_install Warning: pod2html not found. Using old sql.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU niceload" "."/niceload.pod > "."/niceload.htmln \ par_test_build_and_install pod2html --title "GNU niceload" "."/niceload.pod > "."/niceload.htmln \
par_test_build_and_install && mv "."/niceload.htmln "."/niceload.html \ par_test_build_and_install && mv "."/niceload.htmln "."/niceload.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old niceload.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old niceload.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old niceload.html par_test_build_and_install Warning: pod2html not found. Using old niceload.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU parcat" "."/parcat.pod > "."/parcat.htmln \ par_test_build_and_install pod2html --title "GNU parcat" "."/parcat.pod > "."/parcat.htmln \
par_test_build_and_install && mv "."/parcat.htmln "."/parcat.html \ par_test_build_and_install && mv "."/parcat.htmln "."/parcat.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parcat.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parcat.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parcat.html par_test_build_and_install Warning: pod2html not found. Using old parcat.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU parset" "."/parset.pod > "."/parset.htmln \ par_test_build_and_install pod2html --title "GNU parset" "."/parset.pod > "."/parset.htmln \
par_test_build_and_install && mv "."/parset.htmln "."/parset.html \ par_test_build_and_install && mv "."/parset.htmln "."/parset.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parset.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parset.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parset.html par_test_build_and_install Warning: pod2html not found. Using old parset.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2texi --output="."/parallel.texi "."/parallel.pod \ par_test_build_and_install pod2texi --output="."/parallel.texi "."/parallel.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel.texi
par_test_build_and_install pod2texi --output="."/env_parallel.texi "."/env_parallel.pod \ par_test_build_and_install pod2texi --output="."/env_parallel.texi "."/env_parallel.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old env_parallel.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old env_parallel.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old env_parallel.texi par_test_build_and_install Warning: pod2texi not found. Using old env_parallel.texi
par_test_build_and_install pod2texi --output="."/sem.texi "."/sem.pod \ par_test_build_and_install pod2texi --output="."/sem.texi "."/sem.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old sem.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old sem.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old sem.texi par_test_build_and_install Warning: pod2texi not found. Using old sem.texi
par_test_build_and_install pod2texi --output="."/sql.texi "."/sql \ par_test_build_and_install pod2texi --output="."/sql.texi "."/sql \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old sql.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old sql.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old sql.texi par_test_build_and_install Warning: pod2texi not found. Using old sql.texi
par_test_build_and_install pod2texi --output="."/niceload.texi "."/niceload.pod \ par_test_build_and_install pod2texi --output="."/niceload.texi "."/niceload.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old niceload.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old niceload.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old niceload.texi par_test_build_and_install Warning: pod2texi not found. Using old niceload.texi
par_test_build_and_install pod2texi --output="."/parallel_tutorial.texi "."/parallel_tutorial.pod \ par_test_build_and_install pod2texi --output="."/parallel_tutorial.texi "."/parallel_tutorial.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_tutorial.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_tutorial.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel_tutorial.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel_tutorial.texi
par_test_build_and_install pod2texi --output="."/parallel_book.texi "."/parallel_book.pod \ par_test_build_and_install pod2texi --output="."/parallel_book.texi "."/parallel_book.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_book.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_book.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel_book.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel_book.texi
par_test_build_and_install pod2texi --output="."/parallel_design.texi "."/parallel_design.pod \ par_test_build_and_install pod2texi --output="."/parallel_design.texi "."/parallel_design.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_design.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_design.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel_design.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel_design.texi
par_test_build_and_install pod2texi --output="."/parallel_alternatives.texi "."/parallel_alternatives.pod \ par_test_build_and_install pod2texi --output="."/parallel_alternatives.texi "."/parallel_alternatives.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_alternatives.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_alternatives.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel_alternatives.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel_alternatives.texi
par_test_build_and_install pod2texi --output="."/parcat.texi "."/parcat.pod \ par_test_build_and_install pod2texi --output="."/parcat.texi "."/parcat.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parcat.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parcat.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parcat.texi par_test_build_and_install Warning: pod2texi not found. Using old parcat.texi
par_test_build_and_install pod2texi --output="."/parset.texi "."/parset.pod \ par_test_build_and_install pod2texi --output="."/parset.texi "."/parset.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parset.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parset.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parset.texi par_test_build_and_install Warning: pod2texi not found. Using old parset.texi
par_test_build_and_install pod2pdf --output-file "."/parallel.pdf "."/parallel.pod --title "GNU Parallel" \ par_test_build_and_install pod2pdf --output-file "."/parallel.pdf "."/parallel.pod --title "GNU Parallel" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel.pdf
par_test_build_and_install pod2pdf --output-file "."/env_parallel.pdf "."/env_parallel.pod --title "GNU Parallel with environment" \ par_test_build_and_install pod2pdf --output-file "."/env_parallel.pdf "."/env_parallel.pod --title "GNU Parallel with environment" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old env_parallel.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old env_parallel.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old env_parallel.pdf par_test_build_and_install Warning: pod2pdf not found. Using old env_parallel.pdf
par_test_build_and_install pod2pdf --output-file "."/sem.pdf "."/sem.pod --title "GNU sem" \ par_test_build_and_install pod2pdf --output-file "."/sem.pdf "."/sem.pod --title "GNU sem" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sem.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sem.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old sem.pdf par_test_build_and_install Warning: pod2pdf not found. Using old sem.pdf
par_test_build_and_install pod2pdf --output-file "."/sql.pdf "."/sql --title "GNU SQL" \ par_test_build_and_install pod2pdf --output-file "."/sql.pdf "."/sql --title "GNU SQL" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sql.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sql.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old sql.pdf par_test_build_and_install Warning: pod2pdf not found. Using old sql.pdf
par_test_build_and_install pod2pdf --output-file "."/niceload.pdf "."/niceload.pod --title "GNU niceload" \ par_test_build_and_install pod2pdf --output-file "."/niceload.pdf "."/niceload.pod --title "GNU niceload" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old niceload.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old niceload.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old niceload.pdf par_test_build_and_install Warning: pod2pdf not found. Using old niceload.pdf
par_test_build_and_install pod2pdf --output-file "."/parallel_tutorial.pdf "."/parallel_tutorial.pod --title "GNU Parallel Tutorial" \ par_test_build_and_install pod2pdf --output-file "."/parallel_tutorial.pdf "."/parallel_tutorial.pod --title "GNU Parallel Tutorial" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel_tutorial.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel_tutorial.pdf
par_test_build_and_install pod2pdf --output-file "."/parallel_book.pdf "."/parallel_book.pod --title "GNU Parallel Book" \ par_test_build_and_install pod2pdf --output-file "."/parallel_book.pdf "."/parallel_book.pod --title "GNU Parallel Book" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_book.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_book.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel_book.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel_book.pdf
par_test_build_and_install pod2pdf --output-file "."/parallel_design.pdf "."/parallel_design.pod --title "GNU Parallel Design" \ par_test_build_and_install pod2pdf --output-file "."/parallel_design.pdf "."/parallel_design.pod --title "GNU Parallel Design" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_design.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_design.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel_design.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel_design.pdf
par_test_build_and_install pod2pdf --output-file "."/parallel_alternatives.pdf "."/parallel_alternatives.pod --title "GNU Parallel alternatives" \ par_test_build_and_install pod2pdf --output-file "."/parallel_alternatives.pdf "."/parallel_alternatives.pod --title "GNU Parallel alternatives" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_alternatives.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_alternatives.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel_alternatives.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel_alternatives.pdf
par_test_build_and_install pod2pdf --output-file "."/parcat.pdf "."/parcat.pod --title "GNU parcat" \ par_test_build_and_install pod2pdf --output-file "."/parcat.pdf "."/parcat.pod --title "GNU parcat" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parcat.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parcat.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parcat.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parcat.pdf
par_test_build_and_install pod2pdf --output-file "."/parset.pdf "."/parset.pod --title "GNU parset" \ par_test_build_and_install pod2pdf --output-file "."/parset.pdf "."/parset.pod --title "GNU parset" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parset.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parset.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parset.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parset.pdf
par_test_build_and_install make[0]: Entering directory '/tmp/parallel-00000000/src' par_test_build_and_install make[0]: Entering directory '/tmp/parallel-00000000/src'
par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/bin' par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/bin'
@ -486,156 +486,156 @@ par_test_build_and_install make[0]: Leaving directory '/tmp/parallel-00000000/sr
par_test_build_and_install pod2html --title "GNU Parallel" "."/parallel.pod > "."/parallel.htmln \ par_test_build_and_install pod2html --title "GNU Parallel" "."/parallel.pod > "."/parallel.htmln \
par_test_build_and_install && mv "."/parallel.htmln "."/parallel.html \ par_test_build_and_install && mv "."/parallel.htmln "."/parallel.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel.html par_test_build_and_install Warning: pod2html not found. Using old parallel.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel with environment" "."/env_parallel.pod > "."/env_parallel.htmln \ par_test_build_and_install pod2html --title "GNU Parallel with environment" "."/env_parallel.pod > "."/env_parallel.htmln \
par_test_build_and_install && mv "."/env_parallel.htmln "."/env_parallel.html \ par_test_build_and_install && mv "."/env_parallel.htmln "."/env_parallel.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old env_parallel.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old env_parallel.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old env_parallel.html par_test_build_and_install Warning: pod2html not found. Using old env_parallel.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel tutorial" "."/parallel_tutorial.pod > "."/parallel_tutorial.htmln \ par_test_build_and_install pod2html --title "GNU Parallel tutorial" "."/parallel_tutorial.pod > "."/parallel_tutorial.htmln \
par_test_build_and_install && mv "."/parallel_tutorial.htmln "."/parallel_tutorial.html \ par_test_build_and_install && mv "."/parallel_tutorial.htmln "."/parallel_tutorial.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_tutorial.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_tutorial.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_tutorial.html par_test_build_and_install Warning: pod2html not found. Using old parallel_tutorial.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel book" "."/parallel_book.pod > "."/parallel_book.htmln \ par_test_build_and_install pod2html --title "GNU Parallel book" "."/parallel_book.pod > "."/parallel_book.htmln \
par_test_build_and_install && mv "."/parallel_book.htmln "."/parallel_book.html \ par_test_build_and_install && mv "."/parallel_book.htmln "."/parallel_book.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_book.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_book.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_book.html par_test_build_and_install Warning: pod2html not found. Using old parallel_book.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel design" "."/parallel_design.pod > "."/parallel_design.htmln \ par_test_build_and_install pod2html --title "GNU Parallel design" "."/parallel_design.pod > "."/parallel_design.htmln \
par_test_build_and_install && mv "."/parallel_design.htmln "."/parallel_design.html \ par_test_build_and_install && mv "."/parallel_design.htmln "."/parallel_design.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_design.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_design.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_design.html par_test_build_and_install Warning: pod2html not found. Using old parallel_design.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU Parallel alternatives" "."/parallel_alternatives.pod > "."/parallel_alternatives.htmln \ par_test_build_and_install pod2html --title "GNU Parallel alternatives" "."/parallel_alternatives.pod > "."/parallel_alternatives.htmln \
par_test_build_and_install && mv "."/parallel_alternatives.htmln "."/parallel_alternatives.html \ par_test_build_and_install && mv "."/parallel_alternatives.htmln "."/parallel_alternatives.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_alternatives.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parallel_alternatives.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parallel_alternatives.html par_test_build_and_install Warning: pod2html not found. Using old parallel_alternatives.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "sem (GNU Parallel)" "."/sem.pod > "."/sem.htmln \ par_test_build_and_install pod2html --title "sem (GNU Parallel)" "."/sem.pod > "."/sem.htmln \
par_test_build_and_install && mv "."/sem.htmln "."/sem.html \ par_test_build_and_install && mv "."/sem.htmln "."/sem.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old sem.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old sem.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old sem.html par_test_build_and_install Warning: pod2html not found. Using old sem.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU SQL" "."/sql > "."/sql.htmln \ par_test_build_and_install pod2html --title "GNU SQL" "."/sql > "."/sql.htmln \
par_test_build_and_install && mv "."/sql.htmln "."/sql.html \ par_test_build_and_install && mv "."/sql.htmln "."/sql.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old sql.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old sql.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old sql.html par_test_build_and_install Warning: pod2html not found. Using old sql.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU niceload" "."/niceload.pod > "."/niceload.htmln \ par_test_build_and_install pod2html --title "GNU niceload" "."/niceload.pod > "."/niceload.htmln \
par_test_build_and_install && mv "."/niceload.htmln "."/niceload.html \ par_test_build_and_install && mv "."/niceload.htmln "."/niceload.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old niceload.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old niceload.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old niceload.html par_test_build_and_install Warning: pod2html not found. Using old niceload.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU parcat" "."/parcat.pod > "."/parcat.htmln \ par_test_build_and_install pod2html --title "GNU parcat" "."/parcat.pod > "."/parcat.htmln \
par_test_build_and_install && mv "."/parcat.htmln "."/parcat.html \ par_test_build_and_install && mv "."/parcat.htmln "."/parcat.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parcat.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parcat.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parcat.html par_test_build_and_install Warning: pod2html not found. Using old parcat.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2html --title "GNU parset" "."/parset.pod > "."/parset.htmln \ par_test_build_and_install pod2html --title "GNU parset" "."/parset.pod > "."/parset.htmln \
par_test_build_and_install && mv "."/parset.htmln "."/parset.html \ par_test_build_and_install && mv "."/parset.htmln "."/parset.html \
par_test_build_and_install || echo "Warning: pod2html not found. Using old parset.html" par_test_build_and_install || echo "Warning: pod2html not found. Using old parset.html"
par_test_build_and_install /bin/bash: pod2html: command not found par_test_build_and_install /bin/bash: line 1: pod2html: command not found
par_test_build_and_install Warning: pod2html not found. Using old parset.html par_test_build_and_install Warning: pod2html not found. Using old parset.html
par_test_build_and_install rm -f "."/pod2htm* par_test_build_and_install rm -f "."/pod2htm*
par_test_build_and_install pod2texi --output="."/parallel.texi "."/parallel.pod \ par_test_build_and_install pod2texi --output="."/parallel.texi "."/parallel.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel.texi
par_test_build_and_install pod2texi --output="."/env_parallel.texi "."/env_parallel.pod \ par_test_build_and_install pod2texi --output="."/env_parallel.texi "."/env_parallel.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old env_parallel.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old env_parallel.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old env_parallel.texi par_test_build_and_install Warning: pod2texi not found. Using old env_parallel.texi
par_test_build_and_install pod2texi --output="."/sem.texi "."/sem.pod \ par_test_build_and_install pod2texi --output="."/sem.texi "."/sem.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old sem.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old sem.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old sem.texi par_test_build_and_install Warning: pod2texi not found. Using old sem.texi
par_test_build_and_install pod2texi --output="."/sql.texi "."/sql \ par_test_build_and_install pod2texi --output="."/sql.texi "."/sql \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old sql.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old sql.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old sql.texi par_test_build_and_install Warning: pod2texi not found. Using old sql.texi
par_test_build_and_install pod2texi --output="."/niceload.texi "."/niceload.pod \ par_test_build_and_install pod2texi --output="."/niceload.texi "."/niceload.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old niceload.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old niceload.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old niceload.texi par_test_build_and_install Warning: pod2texi not found. Using old niceload.texi
par_test_build_and_install pod2texi --output="."/parallel_tutorial.texi "."/parallel_tutorial.pod \ par_test_build_and_install pod2texi --output="."/parallel_tutorial.texi "."/parallel_tutorial.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_tutorial.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_tutorial.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel_tutorial.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel_tutorial.texi
par_test_build_and_install pod2texi --output="."/parallel_book.texi "."/parallel_book.pod \ par_test_build_and_install pod2texi --output="."/parallel_book.texi "."/parallel_book.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_book.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_book.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel_book.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel_book.texi
par_test_build_and_install pod2texi --output="."/parallel_design.texi "."/parallel_design.pod \ par_test_build_and_install pod2texi --output="."/parallel_design.texi "."/parallel_design.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_design.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_design.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel_design.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel_design.texi
par_test_build_and_install pod2texi --output="."/parallel_alternatives.texi "."/parallel_alternatives.pod \ par_test_build_and_install pod2texi --output="."/parallel_alternatives.texi "."/parallel_alternatives.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_alternatives.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parallel_alternatives.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parallel_alternatives.texi par_test_build_and_install Warning: pod2texi not found. Using old parallel_alternatives.texi
par_test_build_and_install pod2texi --output="."/parcat.texi "."/parcat.pod \ par_test_build_and_install pod2texi --output="."/parcat.texi "."/parcat.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parcat.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parcat.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parcat.texi par_test_build_and_install Warning: pod2texi not found. Using old parcat.texi
par_test_build_and_install pod2texi --output="."/parset.texi "."/parset.pod \ par_test_build_and_install pod2texi --output="."/parset.texi "."/parset.pod \
par_test_build_and_install || echo "Warning: pod2texi not found. Using old parset.texi" par_test_build_and_install || echo "Warning: pod2texi not found. Using old parset.texi"
par_test_build_and_install /bin/bash: pod2texi: command not found par_test_build_and_install /bin/bash: line 1: pod2texi: command not found
par_test_build_and_install Warning: pod2texi not found. Using old parset.texi par_test_build_and_install Warning: pod2texi not found. Using old parset.texi
par_test_build_and_install pod2pdf --output-file "."/parallel.pdf "."/parallel.pod --title "GNU Parallel" \ par_test_build_and_install pod2pdf --output-file "."/parallel.pdf "."/parallel.pod --title "GNU Parallel" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel.pdf
par_test_build_and_install pod2pdf --output-file "."/env_parallel.pdf "."/env_parallel.pod --title "GNU Parallel with environment" \ par_test_build_and_install pod2pdf --output-file "."/env_parallel.pdf "."/env_parallel.pod --title "GNU Parallel with environment" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old env_parallel.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old env_parallel.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old env_parallel.pdf par_test_build_and_install Warning: pod2pdf not found. Using old env_parallel.pdf
par_test_build_and_install pod2pdf --output-file "."/sem.pdf "."/sem.pod --title "GNU sem" \ par_test_build_and_install pod2pdf --output-file "."/sem.pdf "."/sem.pod --title "GNU sem" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sem.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sem.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old sem.pdf par_test_build_and_install Warning: pod2pdf not found. Using old sem.pdf
par_test_build_and_install pod2pdf --output-file "."/sql.pdf "."/sql --title "GNU SQL" \ par_test_build_and_install pod2pdf --output-file "."/sql.pdf "."/sql --title "GNU SQL" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sql.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sql.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old sql.pdf par_test_build_and_install Warning: pod2pdf not found. Using old sql.pdf
par_test_build_and_install pod2pdf --output-file "."/niceload.pdf "."/niceload.pod --title "GNU niceload" \ par_test_build_and_install pod2pdf --output-file "."/niceload.pdf "."/niceload.pod --title "GNU niceload" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old niceload.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old niceload.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old niceload.pdf par_test_build_and_install Warning: pod2pdf not found. Using old niceload.pdf
par_test_build_and_install pod2pdf --output-file "."/parallel_tutorial.pdf "."/parallel_tutorial.pod --title "GNU Parallel Tutorial" \ par_test_build_and_install pod2pdf --output-file "."/parallel_tutorial.pdf "."/parallel_tutorial.pod --title "GNU Parallel Tutorial" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel_tutorial.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel_tutorial.pdf
par_test_build_and_install pod2pdf --output-file "."/parallel_book.pdf "."/parallel_book.pod --title "GNU Parallel Book" \ par_test_build_and_install pod2pdf --output-file "."/parallel_book.pdf "."/parallel_book.pod --title "GNU Parallel Book" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_book.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_book.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel_book.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel_book.pdf
par_test_build_and_install pod2pdf --output-file "."/parallel_design.pdf "."/parallel_design.pod --title "GNU Parallel Design" \ par_test_build_and_install pod2pdf --output-file "."/parallel_design.pdf "."/parallel_design.pod --title "GNU Parallel Design" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_design.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_design.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel_design.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel_design.pdf
par_test_build_and_install pod2pdf --output-file "."/parallel_alternatives.pdf "."/parallel_alternatives.pod --title "GNU Parallel alternatives" \ par_test_build_and_install pod2pdf --output-file "."/parallel_alternatives.pdf "."/parallel_alternatives.pod --title "GNU Parallel alternatives" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_alternatives.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parallel_alternatives.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parallel_alternatives.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parallel_alternatives.pdf
par_test_build_and_install pod2pdf --output-file "."/parcat.pdf "."/parcat.pod --title "GNU parcat" \ par_test_build_and_install pod2pdf --output-file "."/parcat.pdf "."/parcat.pod --title "GNU parcat" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parcat.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parcat.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parcat.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parcat.pdf
par_test_build_and_install pod2pdf --output-file "."/parset.pdf "."/parset.pod --title "GNU parset" \ par_test_build_and_install pod2pdf --output-file "."/parset.pdf "."/parset.pod --title "GNU parset" \
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parset.pdf" par_test_build_and_install || echo "Warning: pod2pdf not found. Using old parset.pdf"
par_test_build_and_install /bin/bash: pod2pdf: command not found par_test_build_and_install /bin/bash: line 1: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parset.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parset.pdf
par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/doc/parallel' par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/doc/parallel'
par_test_build_and_install /bin/install -c -m 644 parallel.html env_parallel.html sem.html sql.html niceload.html parallel_tutorial.html parallel_book.html parallel_design.html parallel_alternatives.html parcat.html parset.html parsort.html parallel.texi env_parallel.texi sem.texi sql.texi niceload.texi parallel_tutorial.texi parallel_book.texi parallel_design.texi parallel_alternatives.texi parcat.texi parset.texi parsort.texi parallel.rst env_parallel.rst sem.rst sql.rst niceload.rst parallel_tutorial.rst parallel_book.rst parallel_design.rst parallel_alternatives.rst parcat.rst parset.rst parsort.rst parallel.pdf env_parallel.pdf sem.pdf sql.pdf '/tmp/parallel-install/share/doc/parallel' par_test_build_and_install /bin/install -c -m 644 parallel.html env_parallel.html sem.html sql.html niceload.html parallel_tutorial.html parallel_book.html parallel_design.html parallel_alternatives.html parcat.html parset.html parsort.html parallel.texi env_parallel.texi sem.texi sql.texi niceload.texi parallel_tutorial.texi parallel_book.texi parallel_design.texi parallel_alternatives.texi parcat.texi parset.texi parsort.texi parallel.rst env_parallel.rst sem.rst sql.rst niceload.rst parallel_tutorial.rst parallel_book.rst parallel_design.rst parallel_alternatives.rst parcat.rst parset.rst parsort.rst parallel.pdf env_parallel.pdf sem.pdf sql.pdf '/tmp/parallel-install/share/doc/parallel'
@ -644,67 +644,67 @@ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/parallel.pod > "."/parallel.1n \ par_test_build_and_install --section=1 "."/parallel.pod > "."/parallel.1n \
par_test_build_and_install && mv "."/parallel.1n "."/parallel.1 \ par_test_build_and_install && mv "."/parallel.1n "."/parallel.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel.1 par_test_build_and_install Warning: pod2man not found. Using old parallel.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/env_parallel.pod > "."/env_parallel.1n \ par_test_build_and_install --section=1 "."/env_parallel.pod > "."/env_parallel.1n \
par_test_build_and_install && mv "."/env_parallel.1n "."/env_parallel.1 \ par_test_build_and_install && mv "."/env_parallel.1n "."/env_parallel.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old env_parallel.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old env_parallel.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old env_parallel.1 par_test_build_and_install Warning: pod2man not found. Using old env_parallel.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/sem.pod > "."/sem.1n \ par_test_build_and_install --section=1 "."/sem.pod > "."/sem.1n \
par_test_build_and_install && mv "."/sem.1n "."/sem.1 \ par_test_build_and_install && mv "."/sem.1n "."/sem.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old sem.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old sem.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old sem.1 par_test_build_and_install Warning: pod2man not found. Using old sem.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/sql > "."/sql.1n \ par_test_build_and_install --section=1 "."/sql > "."/sql.1n \
par_test_build_and_install && mv "."/sql.1n "."/sql.1 \ par_test_build_and_install && mv "."/sql.1n "."/sql.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old sql.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old sql.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old sql.1 par_test_build_and_install Warning: pod2man not found. Using old sql.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/niceload.pod > "."/niceload.1n \ par_test_build_and_install --section=1 "."/niceload.pod > "."/niceload.1n \
par_test_build_and_install && mv "."/niceload.1n "."/niceload.1 \ par_test_build_and_install && mv "."/niceload.1n "."/niceload.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old niceload.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old niceload.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old niceload.1 par_test_build_and_install Warning: pod2man not found. Using old niceload.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_tutorial.pod > "."/parallel_tutorial.7n \ par_test_build_and_install --section=7 "."/parallel_tutorial.pod > "."/parallel_tutorial.7n \
par_test_build_and_install && mv "."/parallel_tutorial.7n "."/parallel_tutorial.7 \ par_test_build_and_install && mv "."/parallel_tutorial.7n "."/parallel_tutorial.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_tutorial.7" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_tutorial.7"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_tutorial.7 par_test_build_and_install Warning: pod2man not found. Using old parallel_tutorial.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_book.pod > "."/parallel_book.7n \ par_test_build_and_install --section=7 "."/parallel_book.pod > "."/parallel_book.7n \
par_test_build_and_install && mv "."/parallel_book.7n "."/parallel_book.7 \ par_test_build_and_install && mv "."/parallel_book.7n "."/parallel_book.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_book.7" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_book.7"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_book.7 par_test_build_and_install Warning: pod2man not found. Using old parallel_book.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_design.pod > "."/parallel_design.7n \ par_test_build_and_install --section=7 "."/parallel_design.pod > "."/parallel_design.7n \
par_test_build_and_install && mv "."/parallel_design.7n "."/parallel_design.7 \ par_test_build_and_install && mv "."/parallel_design.7n "."/parallel_design.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_design.7" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_design.7"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_design.7 par_test_build_and_install Warning: pod2man not found. Using old parallel_design.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=7 "."/parallel_alternatives.pod > "."/parallel_alternatives.7n \ par_test_build_and_install --section=7 "."/parallel_alternatives.pod > "."/parallel_alternatives.7n \
par_test_build_and_install && mv "."/parallel_alternatives.7n "."/parallel_alternatives.7 \ par_test_build_and_install && mv "."/parallel_alternatives.7n "."/parallel_alternatives.7 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_alternatives.7" par_test_build_and_install || echo "Warning: pod2man not found. Using old parallel_alternatives.7"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parallel_alternatives.7 par_test_build_and_install Warning: pod2man not found. Using old parallel_alternatives.7
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/parcat.pod > "."/parcat.1n \ par_test_build_and_install --section=1 "."/parcat.pod > "."/parcat.1n \
par_test_build_and_install && mv "."/parcat.1n "."/parcat.1 \ par_test_build_and_install && mv "."/parcat.1n "."/parcat.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parcat.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old parcat.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parcat.1 par_test_build_and_install Warning: pod2man not found. Using old parcat.1
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/parset.pod > "."/parset.1n \ par_test_build_and_install --section=1 "."/parset.pod > "."/parset.1n \
par_test_build_and_install && mv "."/parset.1n "."/parset.1 \ par_test_build_and_install && mv "."/parset.1n "."/parset.1 \
par_test_build_and_install || echo "Warning: pod2man not found. Using old parset.1" par_test_build_and_install || echo "Warning: pod2man not found. Using old parset.1"
par_test_build_and_install /bin/bash: pod2man: command not found par_test_build_and_install /bin/bash: line 1: pod2man: command not found
par_test_build_and_install Warning: pod2man not found. Using old parset.1 par_test_build_and_install Warning: pod2man not found. Using old parset.1
par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/man/man1' par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/man/man1'
par_test_build_and_install /bin/install -c -m 644 parallel.1 env_parallel.1 sem.1 sql.1 niceload.1 parcat.1 parset.1 parsort.1 '/tmp/parallel-install/share/man/man1' par_test_build_and_install /bin/install -c -m 644 parallel.1 env_parallel.1 sem.1 sql.1 niceload.1 parcat.1 parset.1 parsort.1 '/tmp/parallel-install/share/man/man1'

View file

@ -88,16 +88,16 @@ par_exit_code fizsh parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' :::
par_exit_code fizsh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code fizsh parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137
par_exit_code fizsh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code fizsh parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0
par_exit_code fizsh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code fizsh parallel --halt-on-error now,done=1 'true;exit' ::: 100 100
par_exit_code ksh2020 /tmp/mysleep 100 137 par_exit_code ksh2020 /tmp/mysleep 100 open3: exec of ksh2020 -c /tmp/mysleep 100 failed: No such file or directory at -e line 1.
par_exit_code ksh2020 parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code ksh2020 parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 failed: No such file or directory at -e line 1.
par_exit_code ksh2020 parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code ksh2020 parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 failed: No such file or directory at -e line 1.
par_exit_code ksh2020 parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code ksh2020 parallel --halt-on-error now,done=1 /bin/true ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 /bin/true ::: 100 failed: No such file or directory at -e line 1.
par_exit_code ksh2020 parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code ksh2020 parallel --halt-on-error now,done=1 exit ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 exit ::: 100 failed: No such file or directory at -e line 1.
par_exit_code ksh2020 true;/tmp/mysleep 100 137 par_exit_code ksh2020 true;/tmp/mysleep 100 open3: exec of ksh2020 -c true;/tmp/mysleep 100 failed: No such file or directory at -e line 1.
par_exit_code ksh2020 parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code ksh2020 parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 failed: No such file or directory at -e line 1.
par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 failed: No such file or directory at -e line 1.
par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 failed: No such file or directory at -e line 1.
par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;exit' ::: 100 100 par_exit_code ksh2020 parallel --halt-on-error now,done=1 'true;exit' ::: 100 open3: exec of ksh2020 -c parallel --halt-on-error now,done=1 'true;exit' ::: 100 failed: No such file or directory at -e line 1.
par_exit_code posh /tmp/mysleep 100 137 par_exit_code posh /tmp/mysleep 100 137
par_exit_code posh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137 par_exit_code posh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137
par_exit_code posh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code posh parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137
@ -153,7 +153,7 @@ par_exit_code bash parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137
par_exit_code bash parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137 par_exit_code bash parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137
par_exit_code bash parallel --halt-on-error now,done=1 /bin/true ::: 100 0 par_exit_code bash parallel --halt-on-error now,done=1 /bin/true ::: 100 0
par_exit_code bash parallel --halt-on-error now,done=1 exit ::: 100 100 par_exit_code bash parallel --halt-on-error now,done=1 exit ::: 100 100
par_exit_code bash true;/tmp/mysleep 100 137 par_exit_code bash true;/tmp/mysleep 100 0
par_exit_code bash parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code bash parallel --halt-on-error now,fail=1 'true;/tmp/mysleep' ::: 100 137
par_exit_code bash parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137 par_exit_code bash parallel --halt-on-error now,done=1 'true;/tmp/mysleep' ::: 100 137
par_exit_code bash parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0 par_exit_code bash parallel --halt-on-error now,done=1 'true;/bin/true' ::: 100 0
@ -1481,13 +1481,13 @@ par_macron
par_macron ¯ -q "¯" ¯ par_macron ¯ -q "¯" ¯
par_macron ¯ -q ¯¯ par_macron ¯ -q ¯¯
par_macron ¯ -q "¯"¯ par_macron ¯ -q "¯"¯
par_macron ¯ -q /usr/bin/bash: $'echo \257': command not found par_macron ¯ -q /usr/bin/bash: line 1: $'echo \257': command not found
par_macron ¯ -Xq ¯ par_macron ¯ -Xq ¯
par_macron ¯ -Xq ¯ ¯ par_macron ¯ -Xq ¯ ¯
par_macron ¯ -Xq "¯" ¯ par_macron ¯ -Xq "¯" ¯
par_macron ¯ -Xq ¯¯ par_macron ¯ -Xq ¯¯
par_macron ¯ -Xq "¯"¯ par_macron ¯ -Xq "¯"¯
par_macron ¯ -Xq /usr/bin/bash: $'echo \257': command not found par_macron ¯ -Xq /usr/bin/bash: line 1: $'echo \257': command not found
par_macron ¯ -k ¯ par_macron ¯ -k ¯
par_macron ¯ -k ¯ par_macron ¯ -k ¯
par_macron ¯ -k ¯ ¯ par_macron ¯ -k ¯ ¯
@ -1505,13 +1505,13 @@ par_macron
par_macron ¯® -q "¯®" ¯® par_macron ¯® -q "¯®" ¯®
par_macron ¯® -q ¯®¯® par_macron ¯® -q ¯®¯®
par_macron ¯® -q "¯®"¯® par_macron ¯® -q "¯®"¯®
par_macron ¯® -q /usr/bin/bash: $'echo \257\256': command not found par_macron ¯® -q /usr/bin/bash: line 1: $'echo \257\256': command not found
par_macron ¯® -Xq ¯® par_macron ¯® -Xq ¯®
par_macron ¯® -Xq ¯® ¯® par_macron ¯® -Xq ¯® ¯®
par_macron ¯® -Xq "¯®" ¯® par_macron ¯® -Xq "¯®" ¯®
par_macron ¯® -Xq ¯®¯® par_macron ¯® -Xq ¯®¯®
par_macron ¯® -Xq "¯®"¯® par_macron ¯® -Xq "¯®"¯®
par_macron ¯® -Xq /usr/bin/bash: $'echo \257\256': command not found par_macron ¯® -Xq /usr/bin/bash: line 1: $'echo \257\256': command not found
par_macron ¯® -k ¯® par_macron ¯® -k ¯®
par_macron ¯® -k ¯® par_macron ¯® -k ¯®
par_macron ¯® -k ¯® ¯® par_macron ¯® -k ¯® ¯®
@ -1529,13 +1529,13 @@ par_macron
par_macron ¯¯® -q "¯¯®" ¯¯® par_macron ¯¯® -q "¯¯®" ¯¯®
par_macron ¯¯® -q ¯¯®¯¯® par_macron ¯¯® -q ¯¯®¯¯®
par_macron ¯¯® -q "¯¯®"¯¯® par_macron ¯¯® -q "¯¯®"¯¯®
par_macron ¯¯® -q /usr/bin/bash: $'echo \257\257\256': command not found par_macron ¯¯® -q /usr/bin/bash: line 1: $'echo \257\257\256': command not found
par_macron ¯¯® -Xq ¯¯® par_macron ¯¯® -Xq ¯¯®
par_macron ¯¯® -Xq ¯¯® ¯¯® par_macron ¯¯® -Xq ¯¯® ¯¯®
par_macron ¯¯® -Xq "¯¯®" ¯¯® par_macron ¯¯® -Xq "¯¯®" ¯¯®
par_macron ¯¯® -Xq ¯¯®¯¯® par_macron ¯¯® -Xq ¯¯®¯¯®
par_macron ¯¯® -Xq "¯¯®"¯¯® par_macron ¯¯® -Xq "¯¯®"¯¯®
par_macron ¯¯® -Xq /usr/bin/bash: $'echo \257\257\256': command not found par_macron ¯¯® -Xq /usr/bin/bash: line 1: $'echo \257\257\256': command not found
par_macron ¯¯® -k ¯¯® par_macron ¯¯® -k ¯¯®
par_macron ¯¯® -k ¯¯® par_macron ¯¯® -k ¯¯®
par_macron ¯¯® -k ¯¯® ¯¯® par_macron ¯¯® -k ¯¯® ¯¯®
@ -1545,29 +1545,29 @@ par_macron
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -X ¯<¯<¯>¯>¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 0: syntax error near unexpected token `newline' par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline'
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 0: `echo ¯<¯<¯>¯>' par_macron ¯<¯<¯>¯> -X /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>'
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: ¯: No such file or directory par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: No such file or directory
par_macron ¯<¯<¯>¯> -X /usr/bin/bash: ¯: No such file or directory par_macron ¯<¯<¯>¯> -X /usr/bin/bash: line 1: ¯: No such file or directory
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>" ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>" ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q ¯<¯<¯>¯>¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>"¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -q "¯<¯<¯>¯>"¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -q /usr/bin/bash: $'echo \257<\257<\257>\257>': command not found par_macron ¯<¯<¯>¯> -q /usr/bin/bash: line 1: $'echo \257<\257<\257>\257>': command not found
par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>" ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>" ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq ¯<¯<¯>¯>¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>"¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -Xq "¯<¯<¯>¯>"¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -Xq /usr/bin/bash: $'echo \257<\257<\257>\257>': command not found par_macron ¯<¯<¯>¯> -Xq /usr/bin/bash: line 1: $'echo \257<\257<\257>\257>': command not found
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯> ¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯> ¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯>¯<¯<¯>¯> par_macron ¯<¯<¯>¯> -k ¯<¯<¯>¯>¯<¯<¯>¯>
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 0: syntax error near unexpected token `newline' par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: syntax error near unexpected token `newline'
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 0: `echo ¯<¯<¯>¯>' par_macron ¯<¯<¯>¯> -k /usr/bin/bash: -c: line 1: `echo ¯<¯<¯>¯>'
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: ¯: No such file or directory par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory
par_macron ¯<¯<¯>¯> -k /usr/bin/bash: ¯: No such file or directory par_macron ¯<¯<¯>¯> -k /usr/bin/bash: line 1: ¯: No such file or directory
par_max_length_len_128k ### BUG: The length for -X is not close to max (131072) par_max_length_len_128k ### BUG: The length for -X is not close to max (131072)
par_max_length_len_128k 64xxx par_max_length_len_128k 64xxx
par_max_length_len_128k 64xxx par_max_length_len_128k 64xxx

View file

@ -135,9 +135,6 @@ par_kill_term bash---pstree
par_lb_mem_usage 1 par_lb_mem_usage 1
par_lb_mem_usage 1 par_lb_mem_usage 1
par_lb_mem_usage 2 par_lb_mem_usage 2
par_llb_color bug #62386: --color (--ctag but without --tag)
par_llb_color bug #62438: See last line from multiple jobslots
par_llb_color 74c668db859b3c8acbecbddf5880fd20 -
par_maxargs ### Test -n and --max-args: Max number of args per line (only with -X and -m) par_maxargs ### Test -n and --max-args: Max number of args per line (only with -X and -m)
par_maxargs line 1 par_maxargs line 1
par_maxargs line 2 par_maxargs line 2

View file

@ -118,6 +118,9 @@ par_kill_hup parallel: Waiting for these 2 jobs to finish. Send SIGTERM to stop
par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid'
par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid' par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid'
par_kill_hup bash---pstree par_kill_hup bash---pstree
par_ll_lb_color bug #62386: --color (--ctag but without --tag)
par_ll_lb_color bug #62438: See last line from multiple jobslots
par_ll_lb_color 715a389ad9d92c8fab448a74494617d1 -
par_more_than_9_relative_sshlogin ### Check more than 9(relative) simultaneous sshlogins par_more_than_9_relative_sshlogin ### Check more than 9(relative) simultaneous sshlogins
par_more_than_9_relative_sshlogin 1 par_more_than_9_relative_sshlogin 1
par_more_than_9_relative_sshlogin 2 par_more_than_9_relative_sshlogin 2

View file

@ -285,7 +285,7 @@ par_empty $SQLITE p_wrapper par_empty '$SQLITE'
par_empty $SQLITE Do nothing: TBL99999 does not exist because it is not created par_empty $SQLITE Do nothing: TBL99999 does not exist because it is not created
par_empty $SQLITE Exit=0 par_empty $SQLITE Exit=0
par_empty $SQLITE Exit=0 par_empty $SQLITE Exit=0
par_empty $SQLITE Error: near line 1: no such table: TBL99999 par_empty $SQLITE Error: near line 1: in prepare, no such table: TBL99999 (1)
par_empty $CSV p_wrapper par_empty '$CSV' par_empty $CSV p_wrapper par_empty '$CSV'
par_empty $CSV Do nothing: TBL99999 does not exist because it is not created par_empty $CSV Do nothing: TBL99999 does not exist because it is not created
par_empty $CSV Exit=0 par_empty $CSV Exit=0

View file

@ -608,5 +608,5 @@ par_autossh AUTOSSH_DEBUG - turn logging to maximum verbosity and log
par_autossh stderr par_autossh stderr
par_autossh par_autossh
par_autossh rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] par_autossh rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
par_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(235) [Receiver=3.1.3] par_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(228) [Receiver=3.2.3]
par_autossh foo_autossh par_autossh foo_autossh

View file

@ -718,8 +718,8 @@ par_mksh_underscore variables in aliases in and arrays in functions work
par_mksh_underscore variables in aliases in and arrays in functions work par_mksh_underscore variables in aliases in and arrays in functions work
par_mksh_underscore variables in aliases in and arrays in functions work par_mksh_underscore variables in aliases in and arrays in functions work
par_mksh_underscore variables in aliases in and arrays in functions work par_mksh_underscore variables in aliases in and arrays in functions work
par_mksh_underscore script[9]: not_copied_alias: inaccessible or not found par_mksh_underscore W: script[9]: not_copied_alias: inaccessible or not found
par_mksh_underscore script[9]: not_copied_func: inaccessible or not found par_mksh_underscore W: script[9]: not_copied_func: inaccessible or not found
par_mksh_underscore error=OK par_mksh_underscore error=OK
par_mksh_underscore error=OK par_mksh_underscore error=OK
par_mksh_underscore aliases in and arrays in functions work par_mksh_underscore aliases in and arrays in functions work
@ -730,9 +730,9 @@ par_mksh_underscore aliases in functions work
par_mksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^ par_mksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_mksh_underscore aliases in functions work par_mksh_underscore aliases in functions work
par_mksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^ par_mksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_mksh_underscore /bin/mksh: myfunc: inaccessible or not found par_mksh_underscore W: /bin/mksh: myfunc: inaccessible or not found
par_mksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^ par_mksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_mksh_underscore script[9]: myfunc: inaccessible or not found par_mksh_underscore W: script[9]: myfunc: inaccessible or not found
par_mksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^ par_mksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_mksh_parset parset par_mksh_parset parset
par_mksh_parset ### parset into array par_mksh_parset ### parset into array
@ -880,12 +880,12 @@ par_mksh_env_parallel_session ### Test env_parallel --session
par_mksh_env_parallel_session ### level0 should be hidden, level1 should be transferred par_mksh_env_parallel_session ### level0 should be hidden, level1 should be transferred
par_mksh_env_parallel_session par_mksh_env_parallel_session
par_mksh_env_parallel_session fail par_mksh_env_parallel_session fail
par_mksh_env_parallel_session script[9]: level0func: inaccessible or not found par_mksh_env_parallel_session W: script[9]: level0func: inaccessible or not found
par_mksh_env_parallel_session script[9]: level0alias: inaccessible or not found par_mksh_env_parallel_session W: script[9]: level0alias: inaccessible or not found
par_mksh_env_parallel_session par_mksh_env_parallel_session
par_mksh_env_parallel_session fail par_mksh_env_parallel_session fail
par_mksh_env_parallel_session /bin/mksh: level0func: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: level0func: inaccessible or not found
par_mksh_env_parallel_session /bin/mksh: level0alias: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: level0alias: inaccessible or not found
par_mksh_env_parallel_session l1var par_mksh_env_parallel_session l1var
par_mksh_env_parallel_session l1func par_mksh_env_parallel_session l1func
par_mksh_env_parallel_session l1alias par_mksh_env_parallel_session l1alias
@ -897,20 +897,20 @@ par_mksh_env_parallel_session level1 array OK
par_mksh_env_parallel_session ### level0+1 should be hidden, level2 should be transferred par_mksh_env_parallel_session ### level0+1 should be hidden, level2 should be transferred
par_mksh_env_parallel_session par_mksh_env_parallel_session
par_mksh_env_parallel_session fail par_mksh_env_parallel_session fail
par_mksh_env_parallel_session script[9]: level0func: inaccessible or not found par_mksh_env_parallel_session W: script[9]: level0func: inaccessible or not found
par_mksh_env_parallel_session script[9]: level0alias: inaccessible or not found par_mksh_env_parallel_session W: script[9]: level0alias: inaccessible or not found
par_mksh_env_parallel_session par_mksh_env_parallel_session
par_mksh_env_parallel_session fail par_mksh_env_parallel_session fail
par_mksh_env_parallel_session /bin/mksh: level0func: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: level0func: inaccessible or not found
par_mksh_env_parallel_session /bin/mksh: level0alias: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: level0alias: inaccessible or not found
par_mksh_env_parallel_session par_mksh_env_parallel_session
par_mksh_env_parallel_session fail par_mksh_env_parallel_session fail
par_mksh_env_parallel_session script[9]: level1func: inaccessible or not found par_mksh_env_parallel_session W: script[9]: level1func: inaccessible or not found
par_mksh_env_parallel_session script[9]: level1alias: inaccessible or not found par_mksh_env_parallel_session W: script[9]: level1alias: inaccessible or not found
par_mksh_env_parallel_session par_mksh_env_parallel_session
par_mksh_env_parallel_session fail par_mksh_env_parallel_session fail
par_mksh_env_parallel_session /bin/mksh: level1func: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: level1func: inaccessible or not found
par_mksh_env_parallel_session /bin/mksh: level1alias: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: level1alias: inaccessible or not found
par_mksh_env_parallel_session l2var par_mksh_env_parallel_session l2var
par_mksh_env_parallel_session l2func par_mksh_env_parallel_session l2func
par_mksh_env_parallel_session l2alias par_mksh_env_parallel_session l2alias
@ -922,12 +922,12 @@ par_mksh_env_parallel_session level2 array OK
par_mksh_env_parallel_session ### level0 should be hidden, level1+2 should be transferred par_mksh_env_parallel_session ### level0 should be hidden, level1+2 should be transferred
par_mksh_env_parallel_session par_mksh_env_parallel_session
par_mksh_env_parallel_session fail par_mksh_env_parallel_session fail
par_mksh_env_parallel_session script[9]: level0func: inaccessible or not found par_mksh_env_parallel_session W: script[9]: level0func: inaccessible or not found
par_mksh_env_parallel_session script[9]: level0alias: inaccessible or not found par_mksh_env_parallel_session W: script[9]: level0alias: inaccessible or not found
par_mksh_env_parallel_session par_mksh_env_parallel_session
par_mksh_env_parallel_session fail par_mksh_env_parallel_session fail
par_mksh_env_parallel_session /bin/mksh: level0func: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: level0func: inaccessible or not found
par_mksh_env_parallel_session /bin/mksh: level0alias: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: level0alias: inaccessible or not found
par_mksh_env_parallel_session l1var par_mksh_env_parallel_session l1var
par_mksh_env_parallel_session l1func par_mksh_env_parallel_session l1func
par_mksh_env_parallel_session l1alias par_mksh_env_parallel_session l1alias
@ -969,10 +969,10 @@ par_mksh_env_parallel_session l2var
par_mksh_env_parallel_session l2func par_mksh_env_parallel_session l2func
par_mksh_env_parallel_session l2alias par_mksh_env_parallel_session l2alias
par_mksh_env_parallel_session level2 array OK par_mksh_env_parallel_session level2 array OK
par_mksh_env_parallel_session /bin/mksh: aliasbefore: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: aliasbefore: inaccessible or not found
par_mksh_env_parallel_session script[9]: aliasbefore: inaccessible or not found par_mksh_env_parallel_session W: script[9]: aliasbefore: inaccessible or not found
par_mksh_env_parallel_session /bin/mksh: funcbefore: inaccessible or not found par_mksh_env_parallel_session W: /bin/mksh: funcbefore: inaccessible or not found
par_mksh_env_parallel_session script[9]: funcbefore: inaccessible or not found par_mksh_env_parallel_session W: script[9]: funcbefore: inaccessible or not found
par_mksh_env_parallel_session no_before par_mksh_env_parallel_session no_before
par_mksh_env_parallel_session no_before par_mksh_env_parallel_session no_before
par_mksh_env_parallel_session no_before par_mksh_env_parallel_session no_before
@ -1021,21 +1021,21 @@ par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore variables in aliases in and arrays in functions work par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore variables in aliases in and arrays in functions work par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore variables in aliases in and arrays in functions work par_ksh_underscore variables in aliases in and arrays in functions work
par_ksh_underscore script[9]: not_copied_alias: not found [No such file or directory] par_ksh_underscore script: line 5: not_copied_alias: not found
par_ksh_underscore script[9]: not_copied_func: not found [No such file or directory] par_ksh_underscore script: line 5: not_copied_func: not found
par_ksh_underscore error=OK par_ksh_underscore error=OK
par_ksh_underscore error=OK par_ksh_underscore error=OK
par_ksh_underscore aliases in and arrays in functions work par_ksh_underscore aliases in and arrays in functions work
par_ksh_underscore aliases in and arrays in functions work par_ksh_underscore aliases in and arrays in functions work
par_ksh_underscore aliases in functions work par_ksh_underscore aliases in functions work
par_ksh_underscore aliases in functions work par_ksh_underscore aliases in functions work
par_ksh_underscore /bin/ksh: myecho: not found [No such file or directory] par_ksh_underscore /bin/ksh: myecho: not found
par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^ par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_ksh_underscore script[9]: myecho: not found [No such file or directory] par_ksh_underscore script[9]: myecho: not found
par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^ par_ksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_ksh_underscore /bin/ksh: myfunc: not found par_ksh_underscore /bin/ksh: myfunc: not found
par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^ par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_ksh_underscore script[9]: myfunc: not found [No such file or directory] par_ksh_underscore script: line 2: myfunc: not found
par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^ par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_ksh_parset parset par_ksh_parset parset
par_ksh_parset ### parset into array par_ksh_parset ### parset into array
@ -1142,9 +1142,9 @@ par_ksh_man work,
par_ksh_man too par_ksh_man too
par_ksh_man This may never work par_ksh_man This may never work
par_ksh_man https://unix.stackexchange.com/questions/457031/extract-full-function-definitions par_ksh_man https://unix.stackexchange.com/questions/457031/extract-full-function-definitions
par_ksh_man /bin/ksh: line XXX: syntax error at line XXX: `{' unmatched par_ksh_man /bin/ksh: line 3: syntax error at line XXX: `{' unmatched
par_ksh_man /bin/ksh: line XXX: syntax error at line XXX: `{' unmatched par_ksh_man /bin/ksh: line 3: syntax error at line XXX: `{' unmatched
par_ksh_man /bin/ksh: line XXX: syntax error at line XXX: `{' unmatched par_ksh_man /bin/ksh: line 3: syntax error at line XXX: `{' unmatched
par_ksh_man exit value 2 should be 2 par_ksh_man exit value 2 should be 2
par_ksh_man Unknown option: no-such-option par_ksh_man Unknown option: no-such-option
par_ksh_man exit value 255 should be 255 par_ksh_man exit value 255 should be 255
@ -1187,12 +1187,12 @@ par_ksh_env_parallel_session ### Test env_parallel --session
par_ksh_env_parallel_session ### level0 should be hidden, level1 should be transferred par_ksh_env_parallel_session ### level0 should be hidden, level1 should be transferred
par_ksh_env_parallel_session par_ksh_env_parallel_session
par_ksh_env_parallel_session fail par_ksh_env_parallel_session fail
par_ksh_env_parallel_session script[9]: level0func: not found [No such file or directory] par_ksh_env_parallel_session script[9]: level0func: not found
par_ksh_env_parallel_session script[9]: level0alias: not found [No such file or directory] par_ksh_env_parallel_session script[9]: level0alias: not found
par_ksh_env_parallel_session par_ksh_env_parallel_session
par_ksh_env_parallel_session fail par_ksh_env_parallel_session fail
par_ksh_env_parallel_session /bin/ksh[XXX]: level0func: not found [No such file or directory] par_ksh_env_parallel_session /bin/ksh[XXX]: level0func: not found
par_ksh_env_parallel_session /bin/ksh[XXX]: level0alias: not found [No such file or directory] par_ksh_env_parallel_session /bin/ksh[XXX]: level0alias: not found
par_ksh_env_parallel_session l1var par_ksh_env_parallel_session l1var
par_ksh_env_parallel_session l1func par_ksh_env_parallel_session l1func
par_ksh_env_parallel_session l1alias par_ksh_env_parallel_session l1alias
@ -1204,20 +1204,20 @@ par_ksh_env_parallel_session level1 array OK
par_ksh_env_parallel_session ### level0+1 should be hidden, level2 should be transferred par_ksh_env_parallel_session ### level0+1 should be hidden, level2 should be transferred
par_ksh_env_parallel_session par_ksh_env_parallel_session
par_ksh_env_parallel_session fail par_ksh_env_parallel_session fail
par_ksh_env_parallel_session script[9]: level0func: not found [No such file or directory] par_ksh_env_parallel_session script[9]: level0func: not found
par_ksh_env_parallel_session script[9]: level0alias: not found [No such file or directory] par_ksh_env_parallel_session script[9]: level0alias: not found
par_ksh_env_parallel_session par_ksh_env_parallel_session
par_ksh_env_parallel_session fail par_ksh_env_parallel_session fail
par_ksh_env_parallel_session /bin/ksh[XXX]: level0func: not found [No such file or directory] par_ksh_env_parallel_session /bin/ksh[XXX]: level0func: not found
par_ksh_env_parallel_session /bin/ksh[XXX]: level0alias: not found [No such file or directory] par_ksh_env_parallel_session /bin/ksh[XXX]: level0alias: not found
par_ksh_env_parallel_session par_ksh_env_parallel_session
par_ksh_env_parallel_session fail par_ksh_env_parallel_session fail
par_ksh_env_parallel_session script[9]: level1func: not found [No such file or directory] par_ksh_env_parallel_session script[9]: level1func: not found
par_ksh_env_parallel_session script[9]: level1alias: not found [No such file or directory] par_ksh_env_parallel_session script[9]: level1alias: not found
par_ksh_env_parallel_session par_ksh_env_parallel_session
par_ksh_env_parallel_session fail par_ksh_env_parallel_session fail
par_ksh_env_parallel_session /bin/ksh[XXX]: level1func: not found [No such file or directory] par_ksh_env_parallel_session /bin/ksh[XXX]: level1func: not found
par_ksh_env_parallel_session /bin/ksh[XXX]: level1alias: not found [No such file or directory] par_ksh_env_parallel_session /bin/ksh[XXX]: level1alias: not found
par_ksh_env_parallel_session l2var par_ksh_env_parallel_session l2var
par_ksh_env_parallel_session l2func par_ksh_env_parallel_session l2func
par_ksh_env_parallel_session l2alias par_ksh_env_parallel_session l2alias
@ -1229,12 +1229,12 @@ par_ksh_env_parallel_session level2 array OK
par_ksh_env_parallel_session ### level0 should be hidden, level1+2 should be transferred par_ksh_env_parallel_session ### level0 should be hidden, level1+2 should be transferred
par_ksh_env_parallel_session par_ksh_env_parallel_session
par_ksh_env_parallel_session fail par_ksh_env_parallel_session fail
par_ksh_env_parallel_session script[9]: level0func: not found [No such file or directory] par_ksh_env_parallel_session script[9]: level0func: not found
par_ksh_env_parallel_session script[9]: level0alias: not found [No such file or directory] par_ksh_env_parallel_session script[9]: level0alias: not found
par_ksh_env_parallel_session par_ksh_env_parallel_session
par_ksh_env_parallel_session fail par_ksh_env_parallel_session fail
par_ksh_env_parallel_session /bin/ksh[XXX]: level0func: not found [No such file or directory] par_ksh_env_parallel_session /bin/ksh[XXX]: level0func: not found
par_ksh_env_parallel_session /bin/ksh[XXX]: level0alias: not found [No such file or directory] par_ksh_env_parallel_session /bin/ksh[XXX]: level0alias: not found
par_ksh_env_parallel_session l1var par_ksh_env_parallel_session l1var
par_ksh_env_parallel_session l1func par_ksh_env_parallel_session l1func
par_ksh_env_parallel_session l1alias par_ksh_env_parallel_session l1alias
@ -1277,9 +1277,9 @@ par_ksh_env_parallel_session l2func
par_ksh_env_parallel_session l2alias par_ksh_env_parallel_session l2alias
par_ksh_env_parallel_session level2 array OK par_ksh_env_parallel_session level2 array OK
par_ksh_env_parallel_session /bin/ksh: line 3: aliasbefore: not found par_ksh_env_parallel_session /bin/ksh: line 3: aliasbefore: not found
par_ksh_env_parallel_session script[9]: aliasbefore: not found [No such file or directory] par_ksh_env_parallel_session script: line 4: aliasbefore: not found
par_ksh_env_parallel_session /bin/ksh: line 3: funcbefore: not found par_ksh_env_parallel_session /bin/ksh: line 3: funcbefore: not found
par_ksh_env_parallel_session script[9]: funcbefore: not found [No such file or directory] par_ksh_env_parallel_session script: line 4: funcbefore: not found
par_ksh_env_parallel_session no_before par_ksh_env_parallel_session no_before
par_ksh_env_parallel_session no_before par_ksh_env_parallel_session no_before
par_ksh_env_parallel_session no_before par_ksh_env_parallel_session no_before
@ -1327,10 +1327,10 @@ par_fish_underscore variables in aliases and arrays in functions work
par_fish_underscore variables in aliases and arrays in functions work par_fish_underscore variables in aliases and arrays in functions work
par_fish_underscore variables in aliases and arrays in functions work par_fish_underscore variables in aliases and arrays in functions work
par_fish_underscore variables in aliases and arrays in functions work par_fish_underscore variables in aliases and arrays in functions work
par_fish_underscore script (line 15): par_fish_underscore script (line XXX):
par_fish_underscore not_copied_alias 'error=OK' par_fish_underscore not_copied_alias 'error=OK'
par_fish_underscore ^ par_fish_underscore ^
par_fish_underscore script (line 15): par_fish_underscore script (line XXX):
par_fish_underscore not_copied_func 'error=OK' par_fish_underscore not_copied_func 'error=OK'
par_fish_underscore ^ par_fish_underscore ^
par_fish_underscore error=OK par_fish_underscore error=OK
@ -1343,11 +1343,11 @@ par_fish_underscore myecho $myarray functions $argv
par_fish_underscore ^ par_fish_underscore ^
par_fish_underscore in function 'myfunc' with arguments 'work' par_fish_underscore in function 'myfunc' with arguments 'work'
par_fish_underscore OK if ^^^^^^^^^^^^^^^^^ no myecho par_fish_underscore OK if ^^^^^^^^^^^^^^^^^ no myecho
par_fish_underscore script (line 3): par_fish_underscore script (line 4):
par_fish_underscore myecho $myarray functions $argv par_fish_underscore myecho $myarray functions $argv
par_fish_underscore ^ par_fish_underscore ^
par_fish_underscore in function 'myfunc' with arguments 'work' par_fish_underscore in function 'myfunc' with arguments 'work'
par_fish_underscore called on line 9 of file script par_fish_underscore called on line XXX of file script
par_fish_underscore OK if ^^^^^^^^^^^^^^^^^ no myecho par_fish_underscore OK if ^^^^^^^^^^^^^^^^^ no myecho
par_fish_underscore myfunc work par_fish_underscore myfunc work
par_fish_underscore ^ par_fish_underscore ^

View file

@ -89,6 +89,7 @@ from one to xoney
xargs: argument list too long xargs: argument list too long
stdsort parallel -k -i -s26 -0 echo from \{\} to x{}y < items-0.xi stdsort parallel -k -i -s26 -0 echo from \{\} to x{}y < items-0.xi
from one to xoney
parallel: Error: Command line too long (32 >= 26) at input 0: parallel: Error: Command line too long (32 >= 26) at input 0:
echo '### -l -0 echo < ldata-0.xi' echo '### -l -0 echo < ldata-0.xi'
### -l -0 echo < ldata-0.xi ### -l -0 echo < ldata-0.xi
@ -314,6 +315,7 @@ second
echo '### -P3 -n1 -IARG sh -c ARG < Pdata.xi' echo '### -P3 -n1 -IARG sh -c ARG < Pdata.xi'
### -P3 -n1 -IARG sh -c ARG < Pdata.xi ### -P3 -n1 -IARG sh -c ARG < Pdata.xi
stdout xargs -P3 -n1 -IARG sh -c ARG < Pdata.xi stdout xargs -P3 -n1 -IARG sh -c ARG < Pdata.xi
xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value
three three
two two
one one
@ -441,7 +443,7 @@ stdout parallel -k -r echo this plus that < space.xi
echo '### -t -0 echo this plus that < space.xi' echo '### -t -0 echo this plus that < space.xi'
### -t -0 echo this plus that < space.xi ### -t -0 echo this plus that < space.xi
stdout xargs -t -0 echo this plus that < space.xi stdout xargs -t -0 echo this plus that < space.xi
echo this plus that ''$'\n'' '$'\f\r\t\v\n' echo this plus that ''$'\n'' '$'\f\r\t\v\n'
this plus that this plus that
@ -599,6 +601,7 @@ stdout parallel -k -L2 echo < ldatab.xi
echo '### -L2 -n2 echo < ldata.xi' echo '### -L2 -n2 echo < ldata.xi'
### -L2 -n2 echo < ldata.xi ### -L2 -n2 echo < ldata.xi
stdout xargs -L2 -n2 echo < ldata.xi stdout xargs -L2 -n2 echo < ldata.xi
xargs: warning: options --max-lines and --max-args/-n are mutually exclusive, ignoring previous --max-lines value
1 22 1 22
333 4444 333 4444
55555 666666 55555 666666
@ -1267,6 +1270,7 @@ stdout parallel -l -k echo < ldata.xi
echo '### -l1 -n4 echo < files.xi' echo '### -l1 -n4 echo < files.xi'
### -l1 -n4 echo < files.xi ### -l1 -n4 echo < files.xi
stdout xargs -l1 -n4 echo < files.xi stdout xargs -l1 -n4 echo < files.xi
xargs: warning: options --max-lines and --max-args/-n are mutually exclusive, ignoring previous --max-lines value
/src/gnu/autoconf-1.11 /src/gnu/autoconf-1.11/README /src/gnu/autoconf-1.11/Makefile.in /src/gnu/autoconf-1.11/INSTALL /src/gnu/autoconf-1.11 /src/gnu/autoconf-1.11/README /src/gnu/autoconf-1.11/Makefile.in /src/gnu/autoconf-1.11/INSTALL
/src/gnu/autoconf-1.11/NEWS /src/gnu/autoconf-1.11/COPYING /src/gnu/autoconf-1.11/ChangeLog /src/gnu/autoconf-1.11/autoconf.texi /src/gnu/autoconf-1.11/NEWS /src/gnu/autoconf-1.11/COPYING /src/gnu/autoconf-1.11/ChangeLog /src/gnu/autoconf-1.11/autoconf.texi
/src/gnu/autoconf-1.11/acconfig.h /src/gnu/autoconf-1.11/autoconf.sh /src/gnu/autoconf-1.11/acgeneral.m4 /src/gnu/autoconf-1.11/acspecific.m4 /src/gnu/autoconf-1.11/acconfig.h /src/gnu/autoconf-1.11/autoconf.sh /src/gnu/autoconf-1.11/acgeneral.m4 /src/gnu/autoconf-1.11/acspecific.m4
@ -1309,15 +1313,15 @@ stdout parallel -k -l2 echo < files.xi
echo '### -s30 -t echo < stairs.xi - xargs' echo '### -s30 -t echo < stairs.xi - xargs'
### -s30 -t echo < stairs.xi - xargs ### -s30 -t echo < stairs.xi - xargs
stdout xargs -s30 -t echo < stairs.xi stdout xargs -s30 -t echo < stairs.xi
echo 1 22 333 4444 55555 echo 1 22 333 4444 55555
1 22 333 4444 55555 1 22 333 4444 55555
echo 666666 7777777 88888888 echo 666666 7777777 88888888
666666 7777777 88888888 666666 7777777 88888888
echo 999999999 1 22 333 4444 echo 999999999 1 22 333 4444
999999999 1 22 333 4444 999999999 1 22 333 4444
echo 55555 666666 7777777 echo 55555 666666 7777777
55555 666666 7777777 55555 666666 7777777
echo 88888888 999999999 echo 88888888 999999999
88888888 999999999 88888888 999999999
echo '### -s30 -t echo < stairs.xi - parallel' echo '### -s30 -t echo < stairs.xi - parallel'
### -s30 -t echo < stairs.xi - parallel ### -s30 -t echo < stairs.xi - parallel
@ -1339,7 +1343,7 @@ echo 999999999 1 22 333 4444
echo '### -t echo this plus that < space.xi' echo '### -t echo this plus that < space.xi'
### -t echo this plus that < space.xi ### -t echo this plus that < space.xi
stdout xargs -t echo this plus that < space.xi stdout xargs -t echo this plus that < space.xi
echo this plus that echo this plus that
this plus that this plus that
stdout parallel -k -t echo this plus that < space.xi | sort stdout parallel -k -t echo this plus that < space.xi | sort
echo this plus that ' ' echo this plus that ' '
@ -1360,9 +1364,9 @@ stdout parallel -k -n1 printf "@%s@\n" < empty.xi
@foo '' bar@n@baz ''@n@'' fnord@necho '### -n2 -t echo < foobar.xi' @foo '' bar@n@baz ''@n@'' fnord@necho '### -n2 -t echo < foobar.xi'
### -n2 -t echo < foobar.xi ### -n2 -t echo < foobar.xi
stdout xargs -n2 -t echo < foobar.xi stdout xargs -n2 -t echo < foobar.xi
echo foo bar echo foo bar
foo bar foo bar
echo baz ugh echo baz ugh
baz ugh baz ugh
stdout parallel -k -n2 -t echo < foobar.xi | sort stdout parallel -k -n2 -t echo < foobar.xi | sort
echo 'foo bar' 'baz ' echo 'foo bar' 'baz '

View file

@ -16,7 +16,7 @@ parallel: Error: Command line too long (2012 >= 523) at input 0: 2001
parallel: Error: Command line too long (3012 >= 523) at input 0: 3001 parallel: Error: Command line too long (3012 >= 523) at input 0: 3001
255 255
seq 4001 10 4030 | PARALLEL_TMUX=tmux-1.9 par_tm seq 4001 10 4030 | PARALLEL_TMUX=tmux-1.9 par_tm
/usr/bin/bash: par_tm: command not found /usr/bin/bash: line 1: par_tm: command not found
echo 4036 | PARALLEL_TMUX=tmux-1.9 par_tmux echo 4036 | PARALLEL_TMUX=tmux-1.9 par_tmux
parallel: Error: Command line too long (4047 >= 523) at input 0: 4036 parallel: Error: Command line too long (4047 >= 523) at input 0: 4036
255 255

View file

@ -1,14 +1,14 @@
par_big_func 1 3XXX 91XXX par_big_func 1 3XXX 91XXX
par_big_func 1 3XXX 91XXX par_big_func 1 3XXX 91XXX
par_big_func 1 3XXX 91XXX par_big_func 1 3XXX 91XXX
par_big_func 1 1XXX 44XXX par_big_func 1 1XXX 45XXX
par_big_func_name 19XXX par_big_func_name 19XXX
par_big_func_name 19XXX par_big_func_name 19XXX
par_big_func_name 19XXX par_big_func_name 19XXX
par_big_func_name 19XXX par_big_func_name 19XXX
par_big_func_name 19XXX par_big_func_name 19XXX
par_big_func_name 19XXX par_big_func_name 19XXX
par_big_func_name 2XXX par_big_func_name 3XXX
par_big_var_func_name 19XXX par_big_var_func_name 19XXX
par_big_var_func_name 19XXX par_big_var_func_name 19XXX
par_big_var_func_name 19XXX par_big_var_func_name 19XXX
@ -25,7 +25,7 @@ par_big_var_func_name 19XXX
par_big_var_func_name 19XXX par_big_var_func_name 19XXX
par_big_var_func_name 19XXX par_big_var_func_name 19XXX
par_big_var_func_name 19XXX par_big_var_func_name 19XXX
par_big_var_func_name 8XXX par_big_var_func_name 9XXX
par_many_args 1 3XXX 6XXX par_many_args 1 3XXX 6XXX
par_many_args 1 3XXX 6XXX par_many_args 1 3XXX 6XXX
par_many_args 1 3XXX 6XXX par_many_args 1 3XXX 6XXX
@ -33,43 +33,43 @@ par_many_args 1 3XXX 6XXX
par_many_args 1 3XXX 6XXX par_many_args 1 3XXX 6XXX
par_many_args 1 3XXX 6XXX par_many_args 1 3XXX 6XXX
par_many_args 1 1XXX 2XXX par_many_args 1 1XXX 2XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 228 5XXX par_many_func 1 224 5XXX
par_many_func 1 56 1XXX par_many_func 1 172 4XXX
par_many_var 1 980 23XXX par_many_var 1 976 23XXX
par_many_var 1 980 23XXX par_many_var 1 976 23XXX
par_many_var 1 980 23XXX par_many_var 1 976 23XXX
par_many_var 1 980 23XXX par_many_var 1 976 23XXX
par_many_var 1 980 23XXX par_many_var 1 976 23XXX
par_many_var 1 980 23XXX par_many_var 1 976 23XXX
par_many_var 1 788 18XXX par_many_var 1 812 19XXX
par_many_var_big_func 6XXX par_many_var_big_func 6XXX
par_many_var_big_func 6XXX par_many_var_big_func 6XXX
par_many_var_big_func 6XXX par_many_var_big_func 6XXX
@ -95,7 +95,8 @@ par_many_var_big_func 6XXX
par_many_var_big_func 6XXX par_many_var_big_func 6XXX
par_many_var_big_func 6XXX par_many_var_big_func 6XXX
par_many_var_big_func 6XXX par_many_var_big_func 6XXX
par_many_var_big_func 4XXX par_many_var_big_func 6XXX
par_many_var_big_func 260
par_many_var_func 1 2XXX 59XXX par_many_var_func 1 2XXX 59XXX
par_many_var_func 1 2XXX 59XXX par_many_var_func 1 2XXX 59XXX
par_many_var_func 1 1XXX 40XXX par_many_var_func 1 1XXX 41XXX

View file

@ -8,8 +8,8 @@
40f53af6 9e20dae5 713ba06c f517006d 9897747b ed8a4694 b1acba1b 1464beb4 40f53af6 9e20dae5 713ba06c f517006d 9897747b ed8a4694 b1acba1b 1464beb4
60055629 3f2356f3 3e9c4e3c 76e3f3af a9db4b32 bd33322b 975696fc e6b23cfb 60055629 3f2356f3 3e9c4e3c 76e3f3af a9db4b32 bd33322b 975696fc e6b23cfb
$ bash install.sh $ bash install.sh
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: ` fetch -o - http://pi.dk/3 ) > install.sh' /usr/bin/bash: -c: line 1: ` fetch -o - http://pi.dk/3 ) > install.sh'
parallel -k echo ::: A B C > abc-file parallel -k echo ::: A B C > abc-file
parallel -k echo ::: D E F > def-file parallel -k echo ::: D E F > def-file
perl -e 'printf "A\0B\0C\0"' > abc0-file perl -e 'printf "A\0B\0C\0"' > abc0-file
@ -21,11 +21,11 @@
perl -e 'for(1..1000000){print "$_\n"}' > num1000000 perl -e 'for(1..1000000){print "$_\n"}' > num1000000
(echo %head1; echo %head2; \ (echo %head1; echo %head2; \
sleep .3 sleep .3
/usr/bin/bash: -c: line 2: syntax error: unexpected end of file /usr/bin/bash: -c: line 3: syntax error: unexpected end of file
sleep .3 sleep .3
perl -e 'for(1..10){print "$_\n"}') > num_%header perl -e 'for(1..10){print "$_\n"}') > num_%header
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: ` perl -e 'for(1..10){print "$_\n"}') > num_%header' /usr/bin/bash: -c: line 1: ` perl -e 'for(1..10){print "$_\n"}') > num_%header'
perl -e 'print "HHHHAAABBBCCC"' > fixedlen perl -e 'print "HHHHAAABBBCCC"' > fixedlen
parallel echo ::: A B C parallel echo ::: A B C
parallel -a abc-file echo parallel -a abc-file echo
@ -213,7 +213,7 @@ foo
foo foo
parallel --rpl '{..} s:\.[^.]+$::;s:\.[^.]+$::;' echo '{..}' parallel --rpl '{..} s:\.[^.]+$::;s:\.[^.]+$::;' echo '{..}'
::: foo.tar.gz ::: foo.tar.gz
/usr/bin/bash: line 1: :::: command not found /usr/bin/bash: line 2: :::: command not found
parallel --rpl '{%(.+?)} s/$$1$//;' echo {%.tar.gz}.zip ::: foo.tar.gz parallel --rpl '{%(.+?)} s/$$1$//;' echo {%.tar.gz}.zip ::: foo.tar.gz
foo.zip foo.zip
parallel --rpl '{/(.+?)/(.*?)} s/$$1/$$2/;' echo {/tar.gz/zip} \ parallel --rpl '{/(.+?)/(.*?)} s/$$1/$$2/;' echo {/tar.gz/zip} \
@ -227,13 +227,13 @@ foo.zip
eval "use File::Basename; 1;"; $_ = dirname($_);' eval "use File::Basename; 1;"; $_ = dirname($_);'
--rpl '{/.} s:.*/::; s:\.[^/.]+$::;' --rpl '{/.} s:.*/::; s:\.[^/.]+$::;'
--rpl '{.} s:\.[^/.]+$::' --rpl '{.} s:\.[^/.]+$::'
/usr/bin/bash: --rpl: command not found
/usr/bin/bash: line 1: --rpl: command not found /usr/bin/bash: line 1: --rpl: command not found
/usr/bin/bash: line 2: --rpl: command not found /usr/bin/bash: line 2: --rpl: command not found
/usr/bin/bash: line 3: --rpl: command not found /usr/bin/bash: line 3: --rpl: command not found
/usr/bin/bash: line 5: --rpl: command not found /usr/bin/bash: line 4: --rpl: command not found
/usr/bin/bash: line 6: --rpl: command not found /usr/bin/bash: line 6: --rpl: command not found
/usr/bin/bash: line 7: --rpl: command not found /usr/bin/bash: line 7: --rpl: command not found
/usr/bin/bash: line 8: --rpl: command not found
parallel echo {1} and {2} ::: A B ::: C D parallel echo {1} and {2} ::: A B ::: C D
A and C A and C
A and D A and D
@ -351,9 +351,9 @@ foo
Warning: Press CTRL-D to exit. Warning: Press CTRL-D to exit.
perl -e 'print "@ARGV\n"' perl -e 'print "@ARGV\n"'
[CTRL-D] [CTRL-D]
/usr/bin/bash: line 1: Warning:: command not found /usr/bin/bash: line 2: Warning:: command not found
/usr/bin/bash: -c: line 2: syntax error near unexpected token `(' /usr/bin/bash: -c: line 3: syntax error near unexpected token `('
/usr/bin/bash: -c: line 2: ` Warning: are doing (in which case: YOU ARE AWESOME!) or you forgot' /usr/bin/bash: -c: line 3: ` Warning: are doing (in which case: YOU ARE AWESOME!) or you forgot'
parallel --trim r echo pre-{}-post ::: ' A ' parallel --trim r echo pre-{}-post ::: ' A '
pre- A-post pre- A-post
parallel --trim l echo pre-{}-post ::: ' A ' parallel --trim l echo pre-{}-post ::: ' A '
@ -365,26 +365,26 @@ pre-A-post
=bash =bash
=ls =ls
parallel 'set a="{}"; if( { test -d "$a" } ) echo "$a is a dir"' ::: * parallel 'set a="{}"; if( { test -d "$a" } ) echo "$a is a dir"' ::: *
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="abc-file"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="abc-file"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="abc0-file"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="abc0-file"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="abc_-file"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="abc_-file"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="def-file"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="def-file"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="fixedlen"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="fixedlen"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="num1000000"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="num1000000"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="num128"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="num128"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="num30000"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="num30000"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="num8"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="num8"; if( { test -d "$a" } ) echo "$a is a dir"'
/usr/bin/bash: -c: line 0: syntax error near unexpected token `)' /usr/bin/bash: -c: line 1: syntax error near unexpected token `)'
/usr/bin/bash: -c: line 0: `set a="tsv-file.tsv"; if( { test -d "$a" } ) echo "$a is a dir"' /usr/bin/bash: -c: line 1: `set a="tsv-file.tsv"; if( { test -d "$a" } ) echo "$a is a dir"'
parallel --tag echo foo-{} ::: A B C parallel --tag echo foo-{} ::: A B C
A foo-A A foo-A
B foo-B B foo-B
@ -452,15 +452,15 @@ echo C
outdir/1/C/seq outdir/1/C/seq
outdir/1/C/stderr outdir/1/C/stderr
outdir/1/C/stdout outdir/1/C/stdout
/usr/bin/bash: outdir/1/A/seq: No such file or directory /usr/bin/bash: line 1: outdir/1/A/seq: No such file or directory
/usr/bin/bash: line 1: outdir/1/A/stderr: No such file or directory /usr/bin/bash: line 2: outdir/1/A/stderr: No such file or directory
/usr/bin/bash: line 2: outdir/1/A/stdout: No such file or directory /usr/bin/bash: line 3: outdir/1/A/stdout: No such file or directory
/usr/bin/bash: line 3: outdir/1/B/seq: No such file or directory /usr/bin/bash: line 4: outdir/1/B/seq: No such file or directory
/usr/bin/bash: line 4: outdir/1/B/stderr: No such file or directory /usr/bin/bash: line 5: outdir/1/B/stderr: No such file or directory
/usr/bin/bash: line 5: outdir/1/B/stdout: No such file or directory /usr/bin/bash: line 6: outdir/1/B/stdout: No such file or directory
/usr/bin/bash: line 6: outdir/1/C/seq: No such file or directory /usr/bin/bash: line 7: outdir/1/C/seq: No such file or directory
/usr/bin/bash: line 7: outdir/1/C/stderr: No such file or directory /usr/bin/bash: line 8: outdir/1/C/stderr: No such file or directory
/usr/bin/bash: line 8: outdir/1/C/stdout: No such file or directory /usr/bin/bash: line 9: outdir/1/C/stdout: No such file or directory
parallel --header : --results outdir echo ::: f1 A B ::: f2 C D parallel --header : --results outdir echo ::: f1 A B ::: f2 C D
outdir/f1/A/f2/C/seq outdir/f1/A/f2/C/seq
outdir/f1/A/f2/C/stderr outdir/f1/A/f2/C/stderr
@ -474,18 +474,18 @@ echo C
outdir/f1/B/f2/D/seq outdir/f1/B/f2/D/seq
outdir/f1/B/f2/D/stderr outdir/f1/B/f2/D/stderr
outdir/f1/B/f2/D/stdout outdir/f1/B/f2/D/stdout
/usr/bin/bash: outdir/f1/A/f2/C/seq: No such file or directory /usr/bin/bash: line 1: outdir/f1/A/f2/C/seq: No such file or directory
/usr/bin/bash: line 1: outdir/f1/A/f2/C/stderr: No such file or directory /usr/bin/bash: line 2: outdir/f1/A/f2/C/stderr: No such file or directory
/usr/bin/bash: line 2: outdir/f1/A/f2/C/stdout: No such file or directory /usr/bin/bash: line 3: outdir/f1/A/f2/C/stdout: No such file or directory
/usr/bin/bash: line 3: outdir/f1/A/f2/D/seq: No such file or directory /usr/bin/bash: line 4: outdir/f1/A/f2/D/seq: No such file or directory
/usr/bin/bash: line 4: outdir/f1/A/f2/D/stderr: No such file or directory /usr/bin/bash: line 5: outdir/f1/A/f2/D/stderr: No such file or directory
/usr/bin/bash: line 5: outdir/f1/A/f2/D/stdout: No such file or directory /usr/bin/bash: line 6: outdir/f1/A/f2/D/stdout: No such file or directory
/usr/bin/bash: line 6: outdir/f1/B/f2/C/seq: No such file or directory /usr/bin/bash: line 7: outdir/f1/B/f2/C/seq: No such file or directory
/usr/bin/bash: line 7: outdir/f1/B/f2/C/stderr: No such file or directory /usr/bin/bash: line 8: outdir/f1/B/f2/C/stderr: No such file or directory
/usr/bin/bash: line 8: outdir/f1/B/f2/C/stdout: No such file or directory /usr/bin/bash: line 9: outdir/f1/B/f2/C/stdout: No such file or directory
/usr/bin/bash: line 9: outdir/f1/B/f2/D/seq: No such file or directory /usr/bin/bash: line 10: outdir/f1/B/f2/D/seq: No such file or directory
/usr/bin/bash: line 10: outdir/f1/B/f2/D/stderr: No such file or directory /usr/bin/bash: line 11: outdir/f1/B/f2/D/stderr: No such file or directory
/usr/bin/bash: line 11: outdir/f1/B/f2/D/stdout: No such file or directory /usr/bin/bash: line 12: outdir/f1/B/f2/D/stdout: No such file or directory
/usr/bin/time -f %e parallel -N0 -j64 sleep 1 :::: num128 /usr/bin/time -f %e parallel -N0 -j64 sleep 1 :::: num128
9 9
/usr/bin/time -f %e parallel -N0 sleep 1 :::: num128 /usr/bin/time -f %e parallel -N0 sleep 1 :::: num128
@ -634,7 +634,7 @@ parallel: Warning: This job was killed because it timed out:
parallel: Warning: show_signals '' parallel: Warning: show_signals ''
echo | parallel --termseq INT,200,TERM,100,KILL,25 \ echo | parallel --termseq INT,200,TERM,100,KILL,25 \
-u --timeout 1 show_signals -u --timeout 1 show_signals
/usr/bin/bash: show_signals: command not found /usr/bin/bash: line 1: show_signals: command not found
parallel --load 100% echo load is less than {} job per cpu ::: 1 parallel --load 100% echo load is less than {} job per cpu ::: 1
load is less than 1 job per cpu load is less than 1 job per cpu
parallel --noswap echo the system is not swapping ::: now parallel --noswap echo the system is not swapping ::: now
@ -692,6 +692,7 @@ This is input_file
parallel -S $SERVER1 --trc {}.out cat {} ">"{}.out ::: input_file parallel -S $SERVER1 --trc {}.out cat {} ">"{}.out ::: input_file
cat input_file.out cat input_file.out
This is input_file This is input_file
rsync: [sender] link_stat "/home/parallel/input_file.out" failed: No such file or directory (2)
echo common data > common_file echo common data > common_file
parallel --basefile common_file -S $SERVER1 \ parallel --basefile common_file -S $SERVER1 \
cat common_file\; echo {} ::: foo cat common_file\; echo {} ::: foo
@ -1026,11 +1027,11 @@ Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,_Signal,Command,V1,V2,Stdout,
2,:,000000000.000,0.000,0,12,0,0,"seq 10 13",10,13,outdir/1/10/2/13/stdout,outdir/1/10/2/13/stderr 2,:,000000000.000,0.000,0,12,0,0,"seq 10 13",10,13,outdir/1/10/2/13/stdout,outdir/1/10/2/13/stderr
3,:,000000000.000,0.000,0,15,0,0,"seq 10 14",10,14,outdir/1/10/2/14/stdout,outdir/1/10/2/14/stderr 3,:,000000000.000,0.000,0,15,0,0,"seq 10 14",10,14,outdir/1/10/2/14/stdout,outdir/1/10/2/14/stderr
vendor://[[user][:password]@][host][:port]/[database[/table] vendor://[[user][:password]@][host][:port]/[database[/table]
/usr/bin/bash: vendor://[[user][:password]@][host][:port]/[database[/table]: No such file or directory /usr/bin/bash: line 1: vendor://[[user][:password]@][host][:port]/[database[/table]: No such file or directory
sqlite3:///%2Ftmp%2Fmydatabase/mytable sqlite3:///%2Ftmp%2Fmydatabase/mytable
csv:///%2Ftmp/log.csv csv:///%2Ftmp/log.csv
/usr/bin/bash: sqlite3:///%2Ftmp%2Fmydatabase/mytable: No such file or directory /usr/bin/bash: line 1: sqlite3:///%2Ftmp%2Fmydatabase/mytable: No such file or directory
/usr/bin/bash: line 1: csv:///%2Ftmp/log.csv: No such file or directory /usr/bin/bash: line 2: csv:///%2Ftmp/log.csv: No such file or directory
DBURL=sqlite3:///%2Ftmp%2Fmydatabase DBURL=sqlite3:///%2Ftmp%2Fmydatabase
DBURLTABLE=$DBURL/mytable DBURLTABLE=$DBURL/mytable
parallel --sqlandworker $DBURLTABLE echo ::: foo bar ::: baz quuz parallel --sqlandworker $DBURLTABLE echo ::: foo bar ::: baz quuz
@ -1103,40 +1104,43 @@ cat: num_%header: No such file or directory
999999 999999 9999999 999999 999999 9999999
126984 126984 888889 126984 126984 888889
cat input_file | parallel command cat input_file | parallel command
/usr/bin/bash: This is input_file: command not found /usr/bin/bash: line 1: This is input_file: command not found
#!/bin/bash #!/bin/bash
#!/usr/bin/parallel --shebang -r echo #!/usr/bin/parallel --shebang -r echo
foo foo
bar bar
baz baz
/usr/bin/bash: foo: command not found /usr/bin/bash: line 1: foo: command not found
/usr/bin/bash: line 1: bar: command not found /usr/bin/bash: line 2: bar: command not found
/usr/bin/bash: line 2: baz: command not found /usr/bin/bash: line 3: baz: command not found
cat input_file | parallel command cat input_file | parallel command
parallel command ::: foo bar parallel command ::: foo bar
/usr/bin/bash: This is input_file: command not found /usr/bin/bash: line 1: This is input_file: command not found
/usr/bin/bash: foo: command not found /usr/bin/bash: line 1: foo: command not found
/usr/bin/bash: bar: command not found /usr/bin/bash: line 1: bar: command not found
cat input_file | command cat input_file | command
command foo bar command foo bar
/usr/bin/bash: line 1: foo: command not found /usr/bin/bash: line 2: foo: command not found
#!/usr/bin/perl #!/usr/bin/perl
print "@ARGV\n" print "@ARGV\n"
Warning: unknown mime-type for "@ARGV\n" -- using "application/octet-stream"
Error: no such file "@ARGV\n" Error: no such file "@ARGV\n"
parallel perl_echo ::: foo bar parallel perl_echo ::: foo bar
/usr/bin/bash: perl_echo: command not found /usr/bin/bash: line 1: perl_echo: command not found
#!/usr/bin/parallel --shebang-wrap /usr/bin/perl #!/usr/bin/parallel --shebang-wrap /usr/bin/perl
print "@ARGV\n" print "@ARGV\n"
Warning: unknown mime-type for "@ARGV\n" -- using "application/octet-stream"
Error: no such file "@ARGV\n" Error: no such file "@ARGV\n"
perl_echo foo bar perl_echo foo bar
/usr/bin/bash: perl_echo: command not found /usr/bin/bash: line 1: perl_echo: command not found
#!/usr/bin/parallel --shebang-wrap /usr/bin/perl #!/usr/bin/parallel --shebang-wrap /usr/bin/perl
print "Arguments @ARGV\n"; print "Arguments @ARGV\n";
Warning: unknown mime-type for "Arguments @ARGV\n" -- using "application/octet-stream"
Error: no such file "Arguments @ARGV\n" Error: no such file "Arguments @ARGV\n"
#!/usr/bin/parallel --shebang-wrap /usr/bin/python #!/usr/bin/parallel --shebang-wrap /usr/bin/python
print 'Arguments', str(sys.argv) print 'Arguments', str(sys.argv)
/usr/bin/bash: -c: line 3: syntax error near unexpected token `(' /usr/bin/bash: -c: line 4: syntax error near unexpected token `('
/usr/bin/bash: -c: line 3: ` print 'Arguments', str(sys.argv)' /usr/bin/bash: -c: line 4: ` print 'Arguments', str(sys.argv)'
#!/usr/bin/parallel --shebang-wrap /bin/bash #!/usr/bin/parallel --shebang-wrap /bin/bash
echo Arguments "$@" echo Arguments "$@"
Arguments Arguments
@ -1145,21 +1149,22 @@ Arguments
Arguments Arguments
#!/usr/bin/parallel --shebang-wrap /usr/bin/tclsh #!/usr/bin/parallel --shebang-wrap /usr/bin/tclsh
puts "Arguments $argv" puts "Arguments $argv"
/usr/bin/bash: line 2: puts: command not found /usr/bin/bash: line 3: puts: command not found
#!/usr/bin/parallel --shebang-wrap /usr/bin/Rscript --vanilla --slave #!/usr/bin/parallel --shebang-wrap /usr/bin/Rscript --vanilla --slave
args <- commandArgs(trailingOnly = TRUE) args <- commandArgs(trailingOnly = TRUE)
print(paste("Arguments ",args)) print(paste("Arguments ",args))
/usr/bin/bash: -c: line 2: syntax error near unexpected token `(' /usr/bin/bash: -c: line 3: syntax error near unexpected token `('
/usr/bin/bash: -c: line 2: ` args <- commandArgs(trailingOnly = TRUE)' /usr/bin/bash: -c: line 3: ` args <- commandArgs(trailingOnly = TRUE)'
#!/usr/bin/parallel --shebang-wrap ARG={} /usr/bin/gnuplot #!/usr/bin/parallel --shebang-wrap ARG={} /usr/bin/gnuplot
print "Arguments ", system('echo $ARG') print "Arguments ", system('echo $ARG')
/usr/bin/bash: -c: line 2: syntax error near unexpected token `(' /usr/bin/bash: -c: line 3: syntax error near unexpected token `('
/usr/bin/bash: -c: line 2: ` print "Arguments ", system('echo $ARG')' /usr/bin/bash: -c: line 3: ` print "Arguments ", system('echo $ARG')'
#!/usr/bin/parallel --shebang-wrap /usr/bin/ruby #!/usr/bin/parallel --shebang-wrap /usr/bin/ruby
print "Arguments " print "Arguments "
puts ARGV puts ARGV
Warning: unknown mime-type for "Arguments " -- using "application/octet-stream"
Error: no such file "Arguments " Error: no such file "Arguments "
/usr/bin/bash: line 3: puts: command not found /usr/bin/bash: line 4: puts: command not found
#!/usr/bin/parallel --shebang-wrap /usr/bin/octave #!/usr/bin/parallel --shebang-wrap /usr/bin/octave
printf ("Arguments"); printf ("Arguments");
arg_list = argv (); arg_list = argv ();
@ -1167,13 +1172,13 @@ Error: no such file "Arguments "
printf (" %s", arg_list{i}); printf (" %s", arg_list{i});
endfor endfor
printf ("\n"); printf ("\n");
/usr/bin/bash: -c: line 2: syntax error near unexpected token `"Arguments"' /usr/bin/bash: -c: line 3: syntax error near unexpected token `"Arguments"'
/usr/bin/bash: -c: line 2: ` printf ("Arguments");' /usr/bin/bash: -c: line 3: ` printf ("Arguments");'
#!/usr/bin/parallel --shebang-wrap /usr/bin/clisp #!/usr/bin/parallel --shebang-wrap /usr/bin/clisp
(format t "~&~S~&" 'Arguments) (format t "~&~S~&" 'Arguments)
(format t "~&~S~&" *args*) (format t "~&~S~&" *args*)
/usr/bin/bash: -c: line 2: unexpected EOF while looking for matching `'' /usr/bin/bash: -c: line 3: unexpected EOF while looking for matching `''
/usr/bin/bash: -c: line 4: syntax error: unexpected end of file /usr/bin/bash: -c: line 5: syntax error: unexpected end of file
#!/usr/bin/parallel --shebang-wrap /usr/bin/php #!/usr/bin/parallel --shebang-wrap /usr/bin/php
<?php <?php
echo "Arguments"; echo "Arguments";
@ -1184,14 +1189,14 @@ Error: no such file "Arguments "
echo "\n"; echo "\n";
?> ?>
Arguments Arguments
/usr/bin/bash: line 1: ?php: No such file or directory /usr/bin/bash: line 2: ?php: No such file or directory
/usr/bin/bash: -c: line 3: syntax error near unexpected token `array_slice' /usr/bin/bash: -c: line 4: syntax error near unexpected token `array_slice'
/usr/bin/bash: -c: line 3: ` foreach(array_slice($argv,1) as $v)' /usr/bin/bash: -c: line 4: ` foreach(array_slice($argv,1) as $v)'
#!/usr/bin/parallel --shebang-wrap /usr/bin/node #!/usr/bin/parallel --shebang-wrap /usr/bin/node
var myArgs = process.argv.slice(2); var myArgs = process.argv.slice(2);
console.log('Arguments ', myArgs); console.log('Arguments ', myArgs);
/usr/bin/bash: -c: line 0: syntax error near unexpected token `(' /usr/bin/bash: -c: line 1: syntax error near unexpected token `('
/usr/bin/bash: -c: line 0: ` var myArgs = process.argv.slice(2);' /usr/bin/bash: -c: line 1: ` var myArgs = process.argv.slice(2);'
#!/usr/bin/parallel --shebang-wrap /usr/bin/lua #!/usr/bin/parallel --shebang-wrap /usr/bin/lua
io.write "Arguments" io.write "Arguments"
for a = 1, #arg do for a = 1, #arg do
@ -1199,14 +1204,14 @@ Arguments
io.write(arg[a]) io.write(arg[a])
end end
print("") print("")
/usr/bin/bash: line 2: io.write: command not found /usr/bin/bash: line 3: io.write: command not found
/usr/bin/bash: -c: line 3: syntax error near unexpected token `=' /usr/bin/bash: -c: line 4: syntax error near unexpected token `='
/usr/bin/bash: -c: line 3: ` for a = 1, #arg do' /usr/bin/bash: -c: line 4: ` for a = 1, #arg do'
#!/usr/bin/parallel --shebang-wrap ARGV={} /usr/bin/csharp #!/usr/bin/parallel --shebang-wrap ARGV={} /usr/bin/csharp
var argv = Environment.GetEnvironmentVariable("ARGV"); var argv = Environment.GetEnvironmentVariable("ARGV");
print("Arguments "+argv); print("Arguments "+argv);
/usr/bin/bash: -c: line 2: syntax error near unexpected token `(' /usr/bin/bash: -c: line 3: syntax error near unexpected token `('
/usr/bin/bash: -c: line 2: ` var argv = Environment.GetEnvironmentVariable("ARGV");' /usr/bin/bash: -c: line 3: ` var argv = Environment.GetEnvironmentVariable("ARGV");'
sem 'sleep 1; echo The first finished' && sem 'sleep 1; echo The first finished' &&
echo The first is now running in the background && echo The first is now running in the background &&
sem 'sleep 1; echo The second finished' && sem 'sleep 1; echo The second finished' &&

View file

@ -110,12 +110,10 @@ par_exit 30 environment: line 1: PID Power failure bash -c 'kill -'$1'
par_exit 31 Bash exit value 159 par_exit 31 Bash exit value 159
par_exit 31 Sem exit value 159 par_exit 31 Sem exit value 159
par_exit 31 environment: line 1: PID Bad system call (core dumped) bash -c 'kill -'$1' $$' par_exit 31 environment: line 1: PID Bad system call (core dumped) bash -c 'kill -'$1' $$'
par_exit 32 Bash exit value 160 par_exit 32 Bash exit value 0
par_exit 32 Sem exit value 160 par_exit 32 Sem exit value 0
par_exit 32 environment: line 1: PID Unknown signal 32 bash -c 'kill -'$1' $$' par_exit 33 Bash exit value 0
par_exit 33 Bash exit value 161 par_exit 33 Sem exit value 0
par_exit 33 Sem exit value 161
par_exit 33 environment: line 1: PID Unknown signal 33 bash -c 'kill -'$1' $$'
par_exit 34 Bash exit value 162 par_exit 34 Bash exit value 162
par_exit 34 Sem exit value 162 par_exit 34 Sem exit value 162
par_exit 34 environment: line 1: PID Real-time signal 0 bash -c 'kill -'$1' $$' par_exit 34 environment: line 1: PID Real-time signal 0 bash -c 'kill -'$1' $$'

View file

@ -55,30 +55,23 @@ Yes it does
### Test -r ### Test -r
dburl pg://nongood@127.0.0.3:2227/ dburl pg://nongood@127.0.0.3:2227/
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
psql: error: could not connect to server: Connection refused psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
Is the server running on host "127.0.0.3" and accepting Is the server running on that host and accepting TCP/IP connections?
TCP/IP connections on port 2227? psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
psql: error: could not connect to server: Connection refused Is the server running on that host and accepting TCP/IP connections?
Is the server running on host "127.0.0.3" and accepting psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
TCP/IP connections on port 2227? Is the server running on that host and accepting TCP/IP connections?
psql: error: could not connect to server: Connection refused
Is the server running on host "127.0.0.3" and accepting
TCP/IP connections on port 2227?
### Test --retries=s ### Test --retries=s
dburl pg://nongood@127.0.0.3:2227/ dburl pg://nongood@127.0.0.3:2227/
databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query databasedriver pg user nongood password host 127.0.0.3 port 2227 database nongood query
psql: error: could not connect to server: Connection refused psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
Is the server running on host "127.0.0.3" and accepting Is the server running on that host and accepting TCP/IP connections?
TCP/IP connections on port 2227? psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
psql: error: could not connect to server: Connection refused Is the server running on that host and accepting TCP/IP connections?
Is the server running on host "127.0.0.3" and accepting psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
TCP/IP connections on port 2227? Is the server running on that host and accepting TCP/IP connections?
psql: error: could not connect to server: Connection refused psql: error: connection to server at "127.0.0.3", port 2227 failed: Connection refused
Is the server running on host "127.0.0.3" and accepting Is the server running on that host and accepting TCP/IP connections?
TCP/IP connections on port 2227?
psql: error: could not connect to server: Connection refused
Is the server running on host "127.0.0.3" and accepting
TCP/IP connections on port 2227?
### Test --help -h ### Test --help -h
Usage: Usage:
sql [options] dburl [sqlcommand] sql [options] dburl [sqlcommand]

View file

@ -37,7 +37,7 @@ bytes
3072 3072
Current command: sqlite3 Current command: sqlite3
foo foo
sqltest.sqlite3: SQLite 3.x database, last written using SQLite version 3031001 sqltest.sqlite3: SQLite 3.x database, last written using SQLite version 3037002, file counter 1, database pages 2, cookie 0x1, schema 4, UTF-8, version-valid-for 1
n|t n|t
1|Line 1 1|Line 1
2|Line 2 2|Line 2

View file

@ -76,11 +76,11 @@ ls: tmp/parallel.file*: No such file or directory
OK OK
Input for ssh Input for ssh
-l vagrant one-server -- exec mkdir -p ./. -l vagrant one-server -- exec mkdir -p ./.
-l vagrant one-server rsync --server -lDrRze.iLsfxC . ./. -l vagrant one-server rsync --server -lDrRze.iLsfxCIvu . ./.
-l vagrant one-server -- exec perl -X -e GNU_Parallel_worker,eval+pack+q/H10000000/,join+q//,@ARGV hex -l vagrant one-server -- exec perl -X -e GNU_Parallel_worker,eval+pack+q/H10000000/,join+q//,@ARGV hex
-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file. -l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxCIvu . './parallel.file.
newlineX.out' newlineX.out'
-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file. -l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxCIvu . './parallel.file.
newlineX.out2' newlineX.out2'
-l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file. -l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file.
newlineX'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;' newlineX'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'
@ -89,11 +89,11 @@ newlineX.out'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'
-l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file. -l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file.
newlineX.out2'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;' newlineX.out2'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'
-l vagrant one-server -- exec mkdir -p ./. -l vagrant one-server -- exec mkdir -p ./.
-l vagrant one-server rsync --server -lDrRze.iLsfxC . ./. -l vagrant one-server rsync --server -lDrRze.iLsfxCIvu . ./.
-l vagrant one-server -- exec perl -X -e GNU_Parallel_worker,eval+pack+q/H10000000/,join+q//,@ARGV hex -l vagrant one-server -- exec perl -X -e GNU_Parallel_worker,eval+pack+q/H10000000/,join+q//,@ARGV hex
-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file. -l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxCIvu . './parallel.file.
newlineX.out' newlineX.out'
-l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxC . './parallel.file. -l vagrant one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfxCIvu . './parallel.file.
newlineX.out2' newlineX.out2'
-l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file. -l vagrant one-server -- exec sh -c 'rm -f '"'"'./tmp/parallel.file.
newlineX'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;' newlineX'"'"' 2>/dev/null;rmdir ./tmp/ ./ 2>/dev/null;'