mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 22:17:54 +00:00
parallel: If --results {replstr} ends in /: save in dir. Otherwise save as file.
This commit is contained in:
parent
968e2ab2bb
commit
dae4f4b7ca
|
@ -208,44 +208,22 @@ file:///home/tange/privat/parallel/doc/release_new_version
|
||||||
from:tange@gnu.org
|
from:tange@gnu.org
|
||||||
to:parallel@gnu.org, bug-parallel@gnu.org
|
to:parallel@gnu.org, bug-parallel@gnu.org
|
||||||
|
|
||||||
Subject: GNU Parallel 20170122 ('George Michael') released <<[stable]>>
|
Subject: GNU Parallel 20170222 ('<<>>') released <<[stable]>>
|
||||||
|
|
||||||
GNU Parallel 20170122 ('George Michael') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
GNU Parallel 20170222 ('<<>>') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||||
|
|
||||||
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
||||||
|
|
||||||
Haiku of the month:
|
Haiku of the month:
|
||||||
|
|
||||||
Speed is good for you
|
<<>>
|
||||||
Multi speed is better still
|
|
||||||
Use GNU Parallel
|
|
||||||
-- Ole Tange
|
-- Ole Tange
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
* sql now uses a temporary credentials file for MySQL to avoid warning.
|
http://workshop2016.iwslt.org/downloads/IWSLT_2016_paper_27.pdf
|
||||||
|
http://aip.scitation.org/doi/full/10.1063/1.4974021
|
||||||
|
|
||||||
* --sqlmaster and --sqlworker have been reworked.
|
|
||||||
|
|
||||||
* --sqlworker only reads from the DBURL: any command and any arguments are ignored.
|
|
||||||
|
|
||||||
* --sqlmaster +DBURL will append commands to the DBURL and not erase the table.
|
|
||||||
|
|
||||||
* If --results contain a replacement string, no tree structure with args will be generated.
|
|
||||||
|
|
||||||
* --fg --tmux or --fg --tmuxpane will connect to the tmux.
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: Fast, Automated Indoor Light Detection, Classification, and Measurement https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-212.pdf
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: Unbiased RNA Shotgun Metagenomics in Social and Solitary Wild Bees Detects Associations with Eukaryote Parasites and New Viruses http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0168456
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: Almost Event-Rate Independent Monitoring of Metric Temporal Logic http://people.inf.ethz.ch/trayteld/papers/tacas17-aerial/aerial.pdf
|
|
||||||
|
|
||||||
* 使用GNU parallel命令并行预处理数据https://blog.razrlele.com/p/1843
|
|
||||||
|
|
||||||
* GNU Parallel as a queuing system: http://puntoblogspot.blogspot.com/2017/01/gnu-parallel-as-queuing-system.html
|
|
||||||
|
|
||||||
* AWS re:Invent 2016: Deep Dive on Amazon Elastic File System (STG202) slide 45 http://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-deep-dive-on-amazon-elastic-file-system-stg202 and https://youtu.be/PlTuJx4VnGw?t=30m16s
|
|
||||||
|
|
||||||
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>
|
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>
|
||||||
|
|
||||||
|
|
62
src/parallel
62
src/parallel
|
@ -6544,9 +6544,24 @@ sub openoutputfiles {
|
||||||
my ($outfhw, $errfhw, $outname, $errname);
|
my ($outfhw, $errfhw, $outname, $errname);
|
||||||
|
|
||||||
if($opt::results and not $Global::csv) {
|
if($opt::results and not $Global::csv) {
|
||||||
my $dir = $self->{'commandline'}->resultsdir();
|
my $out = $self->{'commandline'}->results_out();
|
||||||
# prefix/name1/val1/name2/val2/seq
|
my $seqname;
|
||||||
my $seqname = "$dir/seq";
|
if($out eq $opt::results or $out =~ m:/$:) {
|
||||||
|
# $opt::results = simple string or ending in /
|
||||||
|
# => $out is a dir/
|
||||||
|
# prefix/name1/val1/name2/val2/seq
|
||||||
|
$seqname = $out."seq";
|
||||||
|
# prefix/name1/val1/name2/val2/stdout
|
||||||
|
$outname = $out."stdout";
|
||||||
|
# prefix/name1/val1/name2/val2/stderr
|
||||||
|
$errname = $out."stderr";
|
||||||
|
} else {
|
||||||
|
# $opt::results = replacement string not ending in /
|
||||||
|
# => $out is a file
|
||||||
|
$outname = $out;
|
||||||
|
$errname = "$out.err";
|
||||||
|
$seqname = "$out.seq";
|
||||||
|
}
|
||||||
my $seqfhw;
|
my $seqfhw;
|
||||||
if(not open($seqfhw, "+>", $seqname)) {
|
if(not open($seqfhw, "+>", $seqname)) {
|
||||||
::error("Cannot write to `$seqname'.");
|
::error("Cannot write to `$seqname'.");
|
||||||
|
@ -6554,14 +6569,10 @@ sub openoutputfiles {
|
||||||
}
|
}
|
||||||
print $seqfhw $self->seq();
|
print $seqfhw $self->seq();
|
||||||
close $seqfhw;
|
close $seqfhw;
|
||||||
# prefix/name1/val1/name2/val2/stdout
|
|
||||||
$outname = "$dir/stdout";
|
|
||||||
if(not open($outfhw, "+>", $outname)) {
|
if(not open($outfhw, "+>", $outname)) {
|
||||||
::error("Cannot write to `$outname'.");
|
::error("Cannot write to `$outname'.");
|
||||||
::wait_and_exit(255);
|
::wait_and_exit(255);
|
||||||
}
|
}
|
||||||
# prefix/name1/val1/name2/val2/stderr
|
|
||||||
$errname = "$dir/stderr";
|
|
||||||
if(not open($errfhw, "+>", $errname)) {
|
if(not open($errfhw, "+>", $errname)) {
|
||||||
::error("Cannot write to `$errname'.");
|
::error("Cannot write to `$errname'.");
|
||||||
::wait_and_exit(255);
|
::wait_and_exit(255);
|
||||||
|
@ -8037,9 +8048,9 @@ sub is_already_in_results {
|
||||||
# Returns:
|
# Returns:
|
||||||
# $job_already_run = bool whether there is output for this or not
|
# $job_already_run = bool whether there is output for this or not
|
||||||
my $job = $_[0];
|
my $job = $_[0];
|
||||||
my $dir = $job->{'commandline'}->resultsdir();
|
my $out = $job->{'commandline'}->results_out();
|
||||||
::debug("run", "Test $dir/stdout", -e "$dir/stdout", "\n");
|
::debug("run", "Test ${out}stdout", -e "${out}stdout", "\n");
|
||||||
return -e "$dir/stdout";
|
return(-e $out."stdout" or -f $out);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub is_already_in_joblog {
|
sub is_already_in_joblog {
|
||||||
|
@ -8905,7 +8916,7 @@ sub args_as_string {
|
||||||
map { @$_ } @{$self->{'arg_list'}});
|
map { @$_ } @{$self->{'arg_list'}});
|
||||||
}
|
}
|
||||||
|
|
||||||
sub resultsdir {
|
sub results_out {
|
||||||
sub max_file_name_length {
|
sub max_file_name_length {
|
||||||
# Figure out the max length of a subdir
|
# Figure out the max length of a subdir
|
||||||
# TODO and the max total length
|
# TODO and the max total length
|
||||||
|
@ -8945,13 +8956,13 @@ sub resultsdir {
|
||||||
}
|
}
|
||||||
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $dir = $self->replace_placeholders([$opt::results],0,0);
|
my $out = $self->replace_placeholders([$opt::results],0,0);
|
||||||
if($dir eq $opt::results) {
|
if($out eq $opt::results) {
|
||||||
# $opt::results simple string: Append args_as_dirname
|
# $opt::results simple string: Append args_as_dirname
|
||||||
my $args_as_dirname = $self->args_as_dirname();
|
my $args_as_dirname = $self->args_as_dirname();
|
||||||
# Output in: prefix/name1/val1/name2/val2/stdout
|
# Output in: prefix/name1/val1/name2/val2/stdout
|
||||||
$dir = $opt::results."/".$args_as_dirname;
|
$out = $opt::results."/".$args_as_dirname;
|
||||||
if(-d $dir or eval{ File::Path::mkpath($dir); }) {
|
if(-d $out or eval{ File::Path::mkpath($out); }) {
|
||||||
# OK
|
# OK
|
||||||
} else {
|
} else {
|
||||||
# mkpath failed: Argument probably too long.
|
# mkpath failed: Argument probably too long.
|
||||||
|
@ -8960,18 +8971,25 @@ sub resultsdir {
|
||||||
max_file_name_length($opt::results);
|
max_file_name_length($opt::results);
|
||||||
$args_as_dirname = $self->args_as_dirname();
|
$args_as_dirname = $self->args_as_dirname();
|
||||||
# prefix/name1/val1/name2/val2/
|
# prefix/name1/val1/name2/val2/
|
||||||
$dir = $opt::results."/".$args_as_dirname;
|
$out = $opt::results."/".$args_as_dirname;
|
||||||
File::Path::mkpath($dir);
|
File::Path::mkpath($out);
|
||||||
}
|
}
|
||||||
|
$out .="/";
|
||||||
} else {
|
} else {
|
||||||
if(-d $dir or eval{ File::Path::mkpath($dir); }) {
|
if($out =~ m:/$:) {
|
||||||
# OK
|
# / = dir
|
||||||
|
if(-d $out or eval{ File::Path::mkpath($out); }) {
|
||||||
|
# OK
|
||||||
|
} else {
|
||||||
|
::error("Cannot make dir '$out'.");
|
||||||
|
::wait_and_exit(255);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
::error("Cannot make dir '$dir'.");
|
$out =~ m:(.*)/:;
|
||||||
::wait_and_exit(255);
|
File::Path::mkpath($1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $dir;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub args_as_dirname {
|
sub args_as_dirname {
|
||||||
|
|
130
src/parallel.pod
130
src/parallel.pod
|
@ -1448,54 +1448,21 @@ it to the command.
|
||||||
Only used with B<--pipe>.
|
Only used with B<--pipe>.
|
||||||
|
|
||||||
|
|
||||||
=item B<--results> I<name> (beta testing)
|
=item B<--results> I<name> (alpha testing)
|
||||||
|
|
||||||
=item B<--res> I<name> (beta testing)
|
=item B<--res> I<name> (alpha testing)
|
||||||
|
|
||||||
Save the output into files.
|
Save the output into files.
|
||||||
|
|
||||||
B<CSV file output>
|
B<Simple string output dir>
|
||||||
|
|
||||||
If I<name> ends in B<.csv>/B<.tsv> the output will be a CSV-file
|
If I<name> does not contain replacement strings and does not end in
|
||||||
named I<name>.
|
B<.csv/.tsv>, the output will be stored in a directory tree rooted at
|
||||||
|
I<name>. Within this directory tree, each command will result in
|
||||||
B<.csv> gives a comma separated value file. B<.tsv> gives a TAB
|
three files: I<name>/<ARGS>/stdout and I<name>/<ARGS>/stderr,
|
||||||
separated value file.
|
I<name>/<ARGS>/seq, where <ARGS> is a sequence of directories
|
||||||
|
representing the header of the input source (if using B<--header :>)
|
||||||
B<-.csv>/B<-.tsv> are special: It will give the file on stdout
|
or the number of the input source and corresponding values.
|
||||||
(standard output).
|
|
||||||
|
|
||||||
|
|
||||||
B<Dir structure output>
|
|
||||||
|
|
||||||
If I<name> does not end in B<.csv>/B<.tsv> will be treated as a dir.
|
|
||||||
|
|
||||||
If I<name> contains replacement strings output files will be stored in
|
|
||||||
the resulting dir.
|
|
||||||
|
|
||||||
E.g.
|
|
||||||
|
|
||||||
parallel --results my_{} echo ::: foo bar baz
|
|
||||||
|
|
||||||
will generate the files:
|
|
||||||
|
|
||||||
my_bar/seq
|
|
||||||
my_bar/stderr
|
|
||||||
my_bar/stdout
|
|
||||||
my_baz/seq
|
|
||||||
my_baz/stderr
|
|
||||||
my_baz/stdout
|
|
||||||
my_foo/seq
|
|
||||||
my_foo/stderr
|
|
||||||
my_foo/stdout
|
|
||||||
|
|
||||||
If I<name> does not contain replacement strings the files will be
|
|
||||||
stored in a directory tree rooted at I<name>. Within this directory
|
|
||||||
tree, each command will result in three files: I<name>/<ARGS>/stdout
|
|
||||||
and I<name>/<ARGS>/stderr, I<name>/<ARGS>/seq, where <ARGS> is a
|
|
||||||
sequence of directories representing the header of the input source
|
|
||||||
(if using B<--header :>) or the number of the input source and
|
|
||||||
corresponding values.
|
|
||||||
|
|
||||||
E.g:
|
E.g:
|
||||||
|
|
||||||
|
@ -1536,26 +1503,64 @@ will generate the files:
|
||||||
foo/1/I/2/IIII/stderr
|
foo/1/I/2/IIII/stderr
|
||||||
foo/1/I/2/IIII/stdout
|
foo/1/I/2/IIII/stdout
|
||||||
|
|
||||||
and
|
|
||||||
|
|
||||||
parallel --results foo-{1} echo {1} {2} ::: I II ::: III IIII
|
B<CSV file output>
|
||||||
|
|
||||||
|
If I<name> ends in B<.csv>/B<.tsv> the output will be a CSV-file
|
||||||
|
named I<name>.
|
||||||
|
|
||||||
|
B<.csv> gives a comma separated value file. B<.tsv> gives a TAB
|
||||||
|
separated value file.
|
||||||
|
|
||||||
|
B<-.csv>/B<-.tsv> are special: It will give the file on stdout
|
||||||
|
(standard output).
|
||||||
|
|
||||||
|
|
||||||
|
B<Replacement string output file>
|
||||||
|
|
||||||
|
If I<name> contains a replacement string and the replaced result does
|
||||||
|
not end in /, then the standard output will be stored in a file named
|
||||||
|
by this result. Standard error will be stored in the same file name
|
||||||
|
with '.err' added, and the sequence number will be stored in the same
|
||||||
|
file name with '.seq' added.
|
||||||
|
|
||||||
|
E.g.
|
||||||
|
|
||||||
|
parallel --results my_{} echo ::: foo bar baz
|
||||||
|
|
||||||
will generate the files:
|
will generate the files:
|
||||||
|
|
||||||
foo-I/1/I/2/IIII/seq
|
my_bar
|
||||||
foo-I/1/I/2/IIII/stderr
|
my_bar.err
|
||||||
foo-I/1/I/2/IIII/stdout
|
my_bar.seq
|
||||||
foo-I/1/I/2/III/seq
|
my_baz
|
||||||
foo-I/1/I/2/III/stderr
|
my_baz.err
|
||||||
foo-I/1/I/2/III/stdout
|
my_baz.seq
|
||||||
foo-II/1/II/2/IIII/seq
|
my_foo
|
||||||
foo-II/1/II/2/IIII/stderr
|
my_foo.err
|
||||||
foo-II/1/II/2/IIII/stdout
|
my_foo.seq
|
||||||
foo-II/1/II/2/III/seq
|
|
||||||
foo-II/1/II/2/III/stderr
|
|
||||||
foo-II/1/II/2/III/stdout
|
|
||||||
|
|
||||||
If you do not want the dir structure, try B<--files> B<--tag> instead.
|
|
||||||
|
B<Replacement string output dir>
|
||||||
|
|
||||||
|
If I<name> contains a replacement string and the replaced result ends
|
||||||
|
in /, then output files will be stored in the resulting dir.
|
||||||
|
|
||||||
|
E.g.
|
||||||
|
|
||||||
|
parallel --results my_{}/ echo ::: foo bar baz
|
||||||
|
|
||||||
|
will generate the files:
|
||||||
|
|
||||||
|
my_bar/seq
|
||||||
|
my_bar/stderr
|
||||||
|
my_bar/stdout
|
||||||
|
my_baz/seq
|
||||||
|
my_baz/stderr
|
||||||
|
my_baz/stdout
|
||||||
|
my_foo/seq
|
||||||
|
my_foo/stderr
|
||||||
|
my_foo/stdout
|
||||||
|
|
||||||
See also B<--files>, B<--tag>, B<--header>, B<--joblog>.
|
See also B<--files>, B<--tag>, B<--header>, B<--joblog>.
|
||||||
|
|
||||||
|
@ -1994,11 +1999,11 @@ I<secs> seconds after starting each ssh. I<secs> can be less than 1
|
||||||
seconds.
|
seconds.
|
||||||
|
|
||||||
|
|
||||||
=item B<-S> I<[@hostgroups/][ncpu/]sshlogin[,[@hostgroups/][ncpu/]sshlogin[,...]]>
|
=item B<-S> I<[@hostgroups/][ncores/]sshlogin[,[@hostgroups/][ncores/]sshlogin[,...]]>
|
||||||
|
|
||||||
=item B<-S> I<@hostgroup>
|
=item B<-S> I<@hostgroup>
|
||||||
|
|
||||||
=item B<--sshlogin> I<[@hostgroups/][ncpu/]sshlogin[,[@hostgroups/][ncpu/]sshlogin[,...]]>
|
=item B<--sshlogin> I<[@hostgroups/][ncores/]sshlogin[,[@hostgroups/][ncores/]sshlogin[,...]]>
|
||||||
|
|
||||||
=item B<--sshlogin> I<@hostgroup>
|
=item B<--sshlogin> I<@hostgroup>
|
||||||
|
|
||||||
|
@ -2014,8 +2019,9 @@ hostgroup will be used. Multiple I<@hostgroup> can be given.
|
||||||
|
|
||||||
GNU B<parallel> will determine the number of CPU cores on the remote
|
GNU B<parallel> will determine the number of CPU cores on the remote
|
||||||
computers and run the number of jobs as specified by B<-j>. If the
|
computers and run the number of jobs as specified by B<-j>. If the
|
||||||
number I<ncpu> is given GNU B<parallel> will use this number for
|
number I<ncores> is given GNU B<parallel> will use this number for
|
||||||
number of CPU cores on the host. Normally I<ncpu> will not be needed.
|
number of CPU cores on the host. Normally I<ncores> will not be
|
||||||
|
needed.
|
||||||
|
|
||||||
An I<sshlogin> is of the form:
|
An I<sshlogin> is of the form:
|
||||||
|
|
||||||
|
|
|
@ -765,6 +765,10 @@ simply executes according to Seq number.
|
||||||
|
|
||||||
=head2 Buffering on disk
|
=head2 Buffering on disk
|
||||||
|
|
||||||
|
GNU B<parallel> buffers output, because if output is not buffered you
|
||||||
|
have to be ridiculously careful on sizes to avoid mixing of outputs
|
||||||
|
(see excellent example on https://catern.com/posts/pipes.html).
|
||||||
|
|
||||||
GNU B<parallel> buffers on disk in $TMPDIR using files, that are
|
GNU B<parallel> buffers on disk in $TMPDIR using files, that are
|
||||||
removed as soon as they are created, but which are kept open. So even
|
removed as soon as they are created, but which are kept open. So even
|
||||||
if GNU B<parallel> is killed by a power outage, there will be no files
|
if GNU B<parallel> is killed by a power outage, there will be no files
|
||||||
|
|
|
@ -518,42 +518,6 @@ echo '### Test bugfix if no command given'
|
||||||
|
|
||||||
echo '**'
|
echo '**'
|
||||||
|
|
||||||
echo "### Test --results"
|
|
||||||
mkdir -p /tmp/parallel_results_test;
|
|
||||||
parallel -k --results /tmp/parallel_results_test/testA echo {1} {2} ::: I II ::: III IIII;
|
|
||||||
ls /tmp/parallel_results_test/testA/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testA*
|
|
||||||
|
|
||||||
echo "### Test --res"
|
|
||||||
mkdir -p /tmp/parallel_results_test;
|
|
||||||
parallel -k --res /tmp/parallel_results_test/testD echo {1} {2} ::: I II ::: III IIII;
|
|
||||||
ls /tmp/parallel_results_test/testD/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testD*
|
|
||||||
|
|
||||||
echo "### Test --result"
|
|
||||||
mkdir -p /tmp/parallel_results_test;
|
|
||||||
parallel -k --result /tmp/parallel_results_test/testE echo {1} {2} ::: I II ::: III IIII;
|
|
||||||
ls /tmp/parallel_results_test/testE/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testE*
|
|
||||||
|
|
||||||
echo "### Test --results --header :"
|
|
||||||
mkdir -p /tmp/parallel_results_test;
|
|
||||||
parallel -k --header : --results /tmp/parallel_results_test/testB echo {1} {2} ::: a I II ::: b III IIII;
|
|
||||||
ls /tmp/parallel_results_test/testB/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testB*
|
|
||||||
|
|
||||||
echo "### Test --results --header : named - a/b swapped"
|
|
||||||
mkdir -p /tmp/parallel_results_test;
|
|
||||||
parallel -k --header : --results /tmp/parallel_results_test/testC echo {a} {b} ::: b III IIII ::: a I II;
|
|
||||||
ls /tmp/parallel_results_test/testC/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testC*
|
|
||||||
|
|
||||||
echo "### Test --results --header : piped"
|
|
||||||
mkdir -p /tmp/parallel_results_test;
|
|
||||||
(echo Col; perl -e 'print "backslash\\tab\tslash/null\0eof\n"') | parallel --header : --result /tmp/parallel_results_test/testF true;
|
|
||||||
find /tmp/parallel_results_test/testF/*/*/* | sort; rm -rf /tmp/parallel_results_test/testF*
|
|
||||||
|
|
||||||
echo "### Test --results --header : piped - non-existing column header"
|
|
||||||
mkdir -p /tmp/parallel_results_test;
|
|
||||||
(printf "Col1\t\n"; printf "v1\tv2\tv3\n"; perl -e 'print "backslash\\tab\tslash/null\0eof\n"') | parallel --header : --result /tmp/parallel_results_test/testG true; find /tmp/parallel_results_test/testG/ | sort; rm -rf /tmp/parallel_results_test/testG*
|
|
||||||
|
|
||||||
echo '**'
|
|
||||||
|
|
||||||
echo "bug #34958: --pipe with record size measured in lines"
|
echo "bug #34958: --pipe with record size measured in lines"
|
||||||
seq 10 | parallel -k --pipe -l 4 cat\;echo bug 34958-2
|
seq 10 | parallel -k --pipe -l 4 cat\;echo bug 34958-2
|
||||||
|
|
||||||
|
@ -693,25 +657,6 @@ par_python_children() {
|
||||||
\""import os; f = os.popen('uname -p'); output = f.read(); rc = f.close()"\"
|
\""import os; f = os.popen('uname -p'); output = f.read(); rc = f.close()"\"
|
||||||
}
|
}
|
||||||
|
|
||||||
par_result_replace() {
|
|
||||||
echo '### bug #49983: --results with {1}'
|
|
||||||
parallel --results /tmp/par_{}_49983 -k echo ::: foo bar baz
|
|
||||||
find /tmp/par_*_49983 | sort
|
|
||||||
rm -rf /tmp/par_*_49983
|
|
||||||
parallel --results /tmp/par_{}_49983 -k echo ::: foo bar baz ::: A B C
|
|
||||||
find /tmp/par_*_49983 | sort
|
|
||||||
rm -rf /tmp/par_*_49983
|
|
||||||
parallel --results /tmp/par_{1}-{2}_49983 -k echo ::: foo bar baz ::: A B C
|
|
||||||
find /tmp/par_*_49983 | sort
|
|
||||||
rm -rf /tmp/par_*_49983
|
|
||||||
parallel --results /tmp/par__49983 -k echo ::: foo bar baz ::: A B C
|
|
||||||
find /tmp/par_*_49983 | sort
|
|
||||||
rm -rf /tmp/par_*_49983
|
|
||||||
parallel --results /tmp/par__49983 --header : -k echo ::: foo bar baz ::: A B C
|
|
||||||
find /tmp/par_*_49983 | sort
|
|
||||||
rm -rf /tmp/par_*_49983
|
|
||||||
}
|
|
||||||
|
|
||||||
par_pipepart_block_bigger_2G() {
|
par_pipepart_block_bigger_2G() {
|
||||||
echo '### Test that --pipepart can have blocks > 2GB'
|
echo '### Test that --pipepart can have blocks > 2GB'
|
||||||
tmp=$(mktemp)
|
tmp=$(mktemp)
|
||||||
|
|
|
@ -112,3 +112,90 @@ echo "### Test -m -I";
|
||||||
|
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
par_failing_compressor() {
|
||||||
|
echo 'Compress with failing (de)compressor'
|
||||||
|
echo 'Test --tag/--line-buffer/--files in all combinations'
|
||||||
|
echo 'Test working/failing compressor/decompressor in all combinations'
|
||||||
|
echo '(-k is used as a dummy argument)'
|
||||||
|
|
||||||
|
stdout parallel -vk --header : --argsep ,,, \
|
||||||
|
parallel -k {tag} {lb} {files} --compress --compress-program {comp} --decompress-program {decomp} echo ::: C={comp},D={decomp} \
|
||||||
|
,,, tag --tag -k \
|
||||||
|
,,, lb --line-buffer -k \
|
||||||
|
,,, files --files -k \
|
||||||
|
,,, comp 'cat;true' 'cat;false' \
|
||||||
|
,,, decomp 'cat;true' 'cat;false' |
|
||||||
|
perl -pe 's:/par......par:/tmpfile:'
|
||||||
|
}
|
||||||
|
|
||||||
|
par_result() {
|
||||||
|
echo "### Test --results"
|
||||||
|
mkdir -p /tmp/parallel_results_test
|
||||||
|
parallel -k --results /tmp/parallel_results_test/testA echo {1} {2} ::: I II ::: III IIII
|
||||||
|
ls /tmp/parallel_results_test/testA/*/*/*/*/*
|
||||||
|
rm -rf /tmp/parallel_results_test/testA*
|
||||||
|
|
||||||
|
echo "### Test --res"
|
||||||
|
mkdir -p /tmp/parallel_results_test
|
||||||
|
parallel -k --res /tmp/parallel_results_test/testD echo {1} {2} ::: I II ::: III IIII
|
||||||
|
ls /tmp/parallel_results_test/testD/*/*/*/*/*
|
||||||
|
rm -rf /tmp/parallel_results_test/testD*
|
||||||
|
|
||||||
|
echo "### Test --result"
|
||||||
|
mkdir -p /tmp/parallel_results_test
|
||||||
|
parallel -k --result /tmp/parallel_results_test/testE echo {1} {2} ::: I II ::: III IIII
|
||||||
|
ls /tmp/parallel_results_test/testE/*/*/*/*/*
|
||||||
|
rm -rf /tmp/parallel_results_test/testE*
|
||||||
|
|
||||||
|
echo "### Test --results --header :"
|
||||||
|
mkdir -p /tmp/parallel_results_test
|
||||||
|
parallel -k --header : --results /tmp/parallel_results_test/testB echo {1} {2} ::: a I II ::: b III IIII
|
||||||
|
ls /tmp/parallel_results_test/testB/*/*/*/*/*
|
||||||
|
rm -rf /tmp/parallel_results_test/testB*
|
||||||
|
|
||||||
|
echo "### Test --results --header : named - a/b swapped"
|
||||||
|
mkdir -p /tmp/parallel_results_test
|
||||||
|
parallel -k --header : --results /tmp/parallel_results_test/testC echo {a} {b} ::: b III IIII ::: a I II
|
||||||
|
ls /tmp/parallel_results_test/testC/*/*/*/*/*
|
||||||
|
rm -rf /tmp/parallel_results_test/testC*
|
||||||
|
|
||||||
|
echo "### Test --results --header : piped"
|
||||||
|
mkdir -p /tmp/parallel_results_test
|
||||||
|
(echo Col; perl -e 'print "backslash\\tab\tslash/null\0eof\n"') | parallel --header : --result /tmp/parallel_results_test/testF true
|
||||||
|
find /tmp/parallel_results_test/testF/*/*/* | sort
|
||||||
|
rm -rf /tmp/parallel_results_test/testF*
|
||||||
|
|
||||||
|
echo "### Test --results --header : piped - non-existing column header"
|
||||||
|
mkdir -p /tmp/parallel_results_test
|
||||||
|
(printf "Col1\t\n"; printf "v1\tv2\tv3\n"; perl -e 'print "backslash\\tab\tslash/null\0eof\n"') |
|
||||||
|
parallel --header : --result /tmp/parallel_results_test/testG true
|
||||||
|
find /tmp/parallel_results_test/testG/ | sort
|
||||||
|
rm -rf /tmp/parallel_results_test/testG*
|
||||||
|
}
|
||||||
|
|
||||||
|
par_result_replace() {
|
||||||
|
echo '### bug #49983: --results with {1}'
|
||||||
|
parallel --results /tmp/par_{}_49983 -k echo ::: foo bar baz
|
||||||
|
find /tmp/par_*_49983 | sort
|
||||||
|
rm -rf /tmp/par_*_49983
|
||||||
|
parallel --results /tmp/par_{}_49983 -k echo ::: foo bar baz ::: A B C
|
||||||
|
find /tmp/par_*_49983 | sort
|
||||||
|
rm -rf /tmp/par_*_49983
|
||||||
|
parallel --results /tmp/par_{1}-{2}_49983 -k echo ::: foo bar baz ::: A B C
|
||||||
|
find /tmp/par_*_49983 | sort
|
||||||
|
rm -rf /tmp/par_*_49983
|
||||||
|
parallel --results /tmp/par__49983 -k echo ::: foo bar baz ::: A B C
|
||||||
|
find /tmp/par_*_49983 | sort
|
||||||
|
rm -rf /tmp/par_*_49983
|
||||||
|
parallel --results /tmp/par__49983 --header : -k echo ::: foo bar baz ::: A B C
|
||||||
|
find /tmp/par_*_49983 | sort
|
||||||
|
rm -rf /tmp/par_*_49983
|
||||||
|
parallel --results /tmp/par__49983-{}/ --header : -k echo ::: foo bar baz ::: A B C
|
||||||
|
find /tmp/par_*_49983-* | sort
|
||||||
|
rm -rf /tmp/par_*_49983-*
|
||||||
|
}
|
||||||
|
|
||||||
|
export -f $(compgen -A function | grep par_)
|
||||||
|
compgen -A function | grep par_ | sort |
|
||||||
|
parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1'
|
||||||
|
|
|
@ -1377,136 +1377,6 @@ echo '### Test bugfix if no command given'
|
||||||
parallel: Error: Command line too long (1000002 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
parallel: Error: Command line too long (1000002 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
||||||
echo '**'
|
echo '**'
|
||||||
**
|
**
|
||||||
echo "### Test --results"
|
|
||||||
### Test --results
|
|
||||||
mkdir -p /tmp/parallel_results_test; parallel -k --results /tmp/parallel_results_test/testA echo {1} {2} ::: I II ::: III IIII; ls /tmp/parallel_results_test/testA/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testA*
|
|
||||||
I III
|
|
||||||
I IIII
|
|
||||||
II III
|
|
||||||
II IIII
|
|
||||||
/tmp/parallel_results_test/testA/1/I/2/III/seq
|
|
||||||
/tmp/parallel_results_test/testA/1/I/2/III/stderr
|
|
||||||
/tmp/parallel_results_test/testA/1/I/2/III/stdout
|
|
||||||
/tmp/parallel_results_test/testA/1/I/2/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testA/1/I/2/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testA/1/I/2/IIII/stdout
|
|
||||||
/tmp/parallel_results_test/testA/1/II/2/III/seq
|
|
||||||
/tmp/parallel_results_test/testA/1/II/2/III/stderr
|
|
||||||
/tmp/parallel_results_test/testA/1/II/2/III/stdout
|
|
||||||
/tmp/parallel_results_test/testA/1/II/2/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testA/1/II/2/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testA/1/II/2/IIII/stdout
|
|
||||||
echo "### Test --res"
|
|
||||||
### Test --res
|
|
||||||
mkdir -p /tmp/parallel_results_test; parallel -k --res /tmp/parallel_results_test/testD echo {1} {2} ::: I II ::: III IIII; ls /tmp/parallel_results_test/testD/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testD*
|
|
||||||
I III
|
|
||||||
I IIII
|
|
||||||
II III
|
|
||||||
II IIII
|
|
||||||
/tmp/parallel_results_test/testD/1/I/2/III/seq
|
|
||||||
/tmp/parallel_results_test/testD/1/I/2/III/stderr
|
|
||||||
/tmp/parallel_results_test/testD/1/I/2/III/stdout
|
|
||||||
/tmp/parallel_results_test/testD/1/I/2/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testD/1/I/2/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testD/1/I/2/IIII/stdout
|
|
||||||
/tmp/parallel_results_test/testD/1/II/2/III/seq
|
|
||||||
/tmp/parallel_results_test/testD/1/II/2/III/stderr
|
|
||||||
/tmp/parallel_results_test/testD/1/II/2/III/stdout
|
|
||||||
/tmp/parallel_results_test/testD/1/II/2/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testD/1/II/2/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testD/1/II/2/IIII/stdout
|
|
||||||
echo "### Test --result"
|
|
||||||
### Test --result
|
|
||||||
mkdir -p /tmp/parallel_results_test; parallel -k --result /tmp/parallel_results_test/testE echo {1} {2} ::: I II ::: III IIII; ls /tmp/parallel_results_test/testE/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testE*
|
|
||||||
I III
|
|
||||||
I IIII
|
|
||||||
II III
|
|
||||||
II IIII
|
|
||||||
/tmp/parallel_results_test/testE/1/I/2/III/seq
|
|
||||||
/tmp/parallel_results_test/testE/1/I/2/III/stderr
|
|
||||||
/tmp/parallel_results_test/testE/1/I/2/III/stdout
|
|
||||||
/tmp/parallel_results_test/testE/1/I/2/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testE/1/I/2/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testE/1/I/2/IIII/stdout
|
|
||||||
/tmp/parallel_results_test/testE/1/II/2/III/seq
|
|
||||||
/tmp/parallel_results_test/testE/1/II/2/III/stderr
|
|
||||||
/tmp/parallel_results_test/testE/1/II/2/III/stdout
|
|
||||||
/tmp/parallel_results_test/testE/1/II/2/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testE/1/II/2/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testE/1/II/2/IIII/stdout
|
|
||||||
echo "### Test --results --header :"
|
|
||||||
### Test --results --header :
|
|
||||||
mkdir -p /tmp/parallel_results_test; parallel -k --header : --results /tmp/parallel_results_test/testB echo {1} {2} ::: a I II ::: b III IIII; ls /tmp/parallel_results_test/testB/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testB*
|
|
||||||
I III
|
|
||||||
I IIII
|
|
||||||
II III
|
|
||||||
II IIII
|
|
||||||
/tmp/parallel_results_test/testB/a/I/b/III/seq
|
|
||||||
/tmp/parallel_results_test/testB/a/I/b/III/stderr
|
|
||||||
/tmp/parallel_results_test/testB/a/I/b/III/stdout
|
|
||||||
/tmp/parallel_results_test/testB/a/I/b/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testB/a/I/b/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testB/a/I/b/IIII/stdout
|
|
||||||
/tmp/parallel_results_test/testB/a/II/b/III/seq
|
|
||||||
/tmp/parallel_results_test/testB/a/II/b/III/stderr
|
|
||||||
/tmp/parallel_results_test/testB/a/II/b/III/stdout
|
|
||||||
/tmp/parallel_results_test/testB/a/II/b/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testB/a/II/b/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testB/a/II/b/IIII/stdout
|
|
||||||
echo "### Test --results --header : named - a/b swapped"
|
|
||||||
### Test --results --header : named - a/b swapped
|
|
||||||
mkdir -p /tmp/parallel_results_test; parallel -k --header : --results /tmp/parallel_results_test/testC echo {a} {b} ::: b III IIII ::: a I II; ls /tmp/parallel_results_test/testC/*/*/*/*/*; rm -rf /tmp/parallel_results_test/testC*
|
|
||||||
I III
|
|
||||||
II III
|
|
||||||
I IIII
|
|
||||||
II IIII
|
|
||||||
/tmp/parallel_results_test/testC/a/I/b/III/seq
|
|
||||||
/tmp/parallel_results_test/testC/a/I/b/III/stderr
|
|
||||||
/tmp/parallel_results_test/testC/a/I/b/III/stdout
|
|
||||||
/tmp/parallel_results_test/testC/a/I/b/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testC/a/I/b/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testC/a/I/b/IIII/stdout
|
|
||||||
/tmp/parallel_results_test/testC/a/II/b/III/seq
|
|
||||||
/tmp/parallel_results_test/testC/a/II/b/III/stderr
|
|
||||||
/tmp/parallel_results_test/testC/a/II/b/III/stdout
|
|
||||||
/tmp/parallel_results_test/testC/a/II/b/IIII/seq
|
|
||||||
/tmp/parallel_results_test/testC/a/II/b/IIII/stderr
|
|
||||||
/tmp/parallel_results_test/testC/a/II/b/IIII/stdout
|
|
||||||
echo "### Test --results --header : piped"
|
|
||||||
### Test --results --header : piped
|
|
||||||
mkdir -p /tmp/parallel_results_test; (echo Col; perl -e 'print "backslash\\tab\tslash/null\0eof\n"') | parallel --header : --result /tmp/parallel_results_test/testF true; find /tmp/parallel_results_test/testF/*/*/* | sort; rm -rf /tmp/parallel_results_test/testF*
|
|
||||||
/tmp/parallel_results_test/testF/Col/backslash\\tab/2
|
|
||||||
/tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof
|
|
||||||
/tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof/seq
|
|
||||||
/tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof/stderr
|
|
||||||
/tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof/stdout
|
|
||||||
parallel: Warning: a NUL character occurred in the input.
|
|
||||||
parallel: Warning: It cannot be passed through in the argument list.
|
|
||||||
parallel: Warning: Did you mean to use the --null option?
|
|
||||||
echo "### Test --results --header : piped - non-existing column header"
|
|
||||||
### Test --results --header : piped - non-existing column header
|
|
||||||
mkdir -p /tmp/parallel_results_test; (printf "Col1\t\n"; printf "v1\tv2\tv3\n"; perl -e 'print "backslash\\tab\tslash/null\0eof\n"') | parallel --header : --result /tmp/parallel_results_test/testG true; find /tmp/parallel_results_test/testG/ | sort; rm -rf /tmp/parallel_results_test/testG*
|
|
||||||
/tmp/parallel_results_test/testG/
|
|
||||||
/tmp/parallel_results_test/testG/Col1
|
|
||||||
/tmp/parallel_results_test/testG/Col1/backslash\\tab
|
|
||||||
/tmp/parallel_results_test/testG/Col1/backslash\\tab/2
|
|
||||||
/tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof
|
|
||||||
/tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof/seq
|
|
||||||
/tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof/stderr
|
|
||||||
/tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof/stdout
|
|
||||||
/tmp/parallel_results_test/testG/Col1/v1
|
|
||||||
/tmp/parallel_results_test/testG/Col1/v1/2
|
|
||||||
/tmp/parallel_results_test/testG/Col1/v1/2/v2
|
|
||||||
/tmp/parallel_results_test/testG/Col1/v1/2/v2/3
|
|
||||||
/tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3
|
|
||||||
/tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3/seq
|
|
||||||
/tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3/stderr
|
|
||||||
/tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3/stdout
|
|
||||||
parallel: Warning: a NUL character occurred in the input.
|
|
||||||
parallel: Warning: It cannot be passed through in the argument list.
|
|
||||||
parallel: Warning: Did you mean to use the --null option?
|
|
||||||
echo '**'
|
|
||||||
**
|
|
||||||
echo "bug #34958: --pipe with record size measured in lines"
|
echo "bug #34958: --pipe with record size measured in lines"
|
||||||
bug #34958: --pipe with record size measured in lines
|
bug #34958: --pipe with record size measured in lines
|
||||||
seq 10 | parallel -k --pipe -l 4 cat\;echo bug 34958-2
|
seq 10 | parallel -k --pipe -l 4 cat\;echo bug 34958-2
|
||||||
|
@ -1754,188 +1624,3 @@ par_file_ending_in_newline '
|
||||||
par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB
|
par_pipepart_block_bigger_2G ### Test that --pipepart can have blocks > 2GB
|
||||||
par_pipepart_block_bigger_2G 1 1 4
|
par_pipepart_block_bigger_2G 1 1 4
|
||||||
par_python_children ### bug #49970: Python child process dies if --env is used
|
par_python_children ### bug #49970: Python child process dies if --env is used
|
||||||
par_result_replace ### bug #49983: --results with {1}
|
|
||||||
par_result_replace foo
|
|
||||||
par_result_replace bar
|
|
||||||
par_result_replace baz
|
|
||||||
par_result_replace /tmp/par_bar_49983
|
|
||||||
par_result_replace /tmp/par_bar_49983/seq
|
|
||||||
par_result_replace /tmp/par_bar_49983/stderr
|
|
||||||
par_result_replace /tmp/par_bar_49983/stdout
|
|
||||||
par_result_replace /tmp/par_baz_49983
|
|
||||||
par_result_replace /tmp/par_baz_49983/seq
|
|
||||||
par_result_replace /tmp/par_baz_49983/stderr
|
|
||||||
par_result_replace /tmp/par_baz_49983/stdout
|
|
||||||
par_result_replace /tmp/par_foo_49983
|
|
||||||
par_result_replace /tmp/par_foo_49983/seq
|
|
||||||
par_result_replace /tmp/par_foo_49983/stderr
|
|
||||||
par_result_replace /tmp/par_foo_49983/stdout
|
|
||||||
par_result_replace foo A
|
|
||||||
par_result_replace foo B
|
|
||||||
par_result_replace foo C
|
|
||||||
par_result_replace bar A
|
|
||||||
par_result_replace bar B
|
|
||||||
par_result_replace bar C
|
|
||||||
par_result_replace baz A
|
|
||||||
par_result_replace baz B
|
|
||||||
par_result_replace baz C
|
|
||||||
par_result_replace /tmp/par_bar A_49983
|
|
||||||
par_result_replace /tmp/par_bar A_49983/seq
|
|
||||||
par_result_replace /tmp/par_bar A_49983/stderr
|
|
||||||
par_result_replace /tmp/par_bar A_49983/stdout
|
|
||||||
par_result_replace /tmp/par_bar B_49983
|
|
||||||
par_result_replace /tmp/par_bar B_49983/seq
|
|
||||||
par_result_replace /tmp/par_bar B_49983/stderr
|
|
||||||
par_result_replace /tmp/par_bar B_49983/stdout
|
|
||||||
par_result_replace /tmp/par_bar C_49983
|
|
||||||
par_result_replace /tmp/par_bar C_49983/seq
|
|
||||||
par_result_replace /tmp/par_bar C_49983/stderr
|
|
||||||
par_result_replace /tmp/par_bar C_49983/stdout
|
|
||||||
par_result_replace /tmp/par_baz A_49983
|
|
||||||
par_result_replace /tmp/par_baz A_49983/seq
|
|
||||||
par_result_replace /tmp/par_baz A_49983/stderr
|
|
||||||
par_result_replace /tmp/par_baz A_49983/stdout
|
|
||||||
par_result_replace /tmp/par_baz B_49983
|
|
||||||
par_result_replace /tmp/par_baz B_49983/seq
|
|
||||||
par_result_replace /tmp/par_baz B_49983/stderr
|
|
||||||
par_result_replace /tmp/par_baz B_49983/stdout
|
|
||||||
par_result_replace /tmp/par_baz C_49983
|
|
||||||
par_result_replace /tmp/par_baz C_49983/seq
|
|
||||||
par_result_replace /tmp/par_baz C_49983/stderr
|
|
||||||
par_result_replace /tmp/par_baz C_49983/stdout
|
|
||||||
par_result_replace /tmp/par_foo A_49983
|
|
||||||
par_result_replace /tmp/par_foo A_49983/seq
|
|
||||||
par_result_replace /tmp/par_foo A_49983/stderr
|
|
||||||
par_result_replace /tmp/par_foo A_49983/stdout
|
|
||||||
par_result_replace /tmp/par_foo B_49983
|
|
||||||
par_result_replace /tmp/par_foo B_49983/seq
|
|
||||||
par_result_replace /tmp/par_foo B_49983/stderr
|
|
||||||
par_result_replace /tmp/par_foo B_49983/stdout
|
|
||||||
par_result_replace /tmp/par_foo C_49983
|
|
||||||
par_result_replace /tmp/par_foo C_49983/seq
|
|
||||||
par_result_replace /tmp/par_foo C_49983/stderr
|
|
||||||
par_result_replace /tmp/par_foo C_49983/stdout
|
|
||||||
par_result_replace foo A
|
|
||||||
par_result_replace foo B
|
|
||||||
par_result_replace foo C
|
|
||||||
par_result_replace bar A
|
|
||||||
par_result_replace bar B
|
|
||||||
par_result_replace bar C
|
|
||||||
par_result_replace baz A
|
|
||||||
par_result_replace baz B
|
|
||||||
par_result_replace baz C
|
|
||||||
par_result_replace /tmp/par_bar-A_49983
|
|
||||||
par_result_replace /tmp/par_bar-A_49983/seq
|
|
||||||
par_result_replace /tmp/par_bar-A_49983/stderr
|
|
||||||
par_result_replace /tmp/par_bar-A_49983/stdout
|
|
||||||
par_result_replace /tmp/par_bar-B_49983
|
|
||||||
par_result_replace /tmp/par_bar-B_49983/seq
|
|
||||||
par_result_replace /tmp/par_bar-B_49983/stderr
|
|
||||||
par_result_replace /tmp/par_bar-B_49983/stdout
|
|
||||||
par_result_replace /tmp/par_bar-C_49983
|
|
||||||
par_result_replace /tmp/par_bar-C_49983/seq
|
|
||||||
par_result_replace /tmp/par_bar-C_49983/stderr
|
|
||||||
par_result_replace /tmp/par_bar-C_49983/stdout
|
|
||||||
par_result_replace /tmp/par_baz-A_49983
|
|
||||||
par_result_replace /tmp/par_baz-A_49983/seq
|
|
||||||
par_result_replace /tmp/par_baz-A_49983/stderr
|
|
||||||
par_result_replace /tmp/par_baz-A_49983/stdout
|
|
||||||
par_result_replace /tmp/par_baz-B_49983
|
|
||||||
par_result_replace /tmp/par_baz-B_49983/seq
|
|
||||||
par_result_replace /tmp/par_baz-B_49983/stderr
|
|
||||||
par_result_replace /tmp/par_baz-B_49983/stdout
|
|
||||||
par_result_replace /tmp/par_baz-C_49983
|
|
||||||
par_result_replace /tmp/par_baz-C_49983/seq
|
|
||||||
par_result_replace /tmp/par_baz-C_49983/stderr
|
|
||||||
par_result_replace /tmp/par_baz-C_49983/stdout
|
|
||||||
par_result_replace /tmp/par_foo-A_49983
|
|
||||||
par_result_replace /tmp/par_foo-A_49983/seq
|
|
||||||
par_result_replace /tmp/par_foo-A_49983/stderr
|
|
||||||
par_result_replace /tmp/par_foo-A_49983/stdout
|
|
||||||
par_result_replace /tmp/par_foo-B_49983
|
|
||||||
par_result_replace /tmp/par_foo-B_49983/seq
|
|
||||||
par_result_replace /tmp/par_foo-B_49983/stderr
|
|
||||||
par_result_replace /tmp/par_foo-B_49983/stdout
|
|
||||||
par_result_replace /tmp/par_foo-C_49983
|
|
||||||
par_result_replace /tmp/par_foo-C_49983/seq
|
|
||||||
par_result_replace /tmp/par_foo-C_49983/stderr
|
|
||||||
par_result_replace /tmp/par_foo-C_49983/stdout
|
|
||||||
par_result_replace foo A
|
|
||||||
par_result_replace foo B
|
|
||||||
par_result_replace foo C
|
|
||||||
par_result_replace bar A
|
|
||||||
par_result_replace bar B
|
|
||||||
par_result_replace bar C
|
|
||||||
par_result_replace baz A
|
|
||||||
par_result_replace baz B
|
|
||||||
par_result_replace baz C
|
|
||||||
par_result_replace /tmp/par__49983
|
|
||||||
par_result_replace /tmp/par__49983/1
|
|
||||||
par_result_replace /tmp/par__49983/1/bar
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/A
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/A/seq
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/A/stderr
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/A/stdout
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/B
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/B/seq
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/B/stderr
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/B/stdout
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/C
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/C/seq
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/C/stderr
|
|
||||||
par_result_replace /tmp/par__49983/1/bar/2/C/stdout
|
|
||||||
par_result_replace /tmp/par__49983/1/baz
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/A
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/A/seq
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/A/stderr
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/A/stdout
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/B
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/B/seq
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/B/stderr
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/B/stdout
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/C
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/C/seq
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/C/stderr
|
|
||||||
par_result_replace /tmp/par__49983/1/baz/2/C/stdout
|
|
||||||
par_result_replace /tmp/par__49983/1/foo
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/A
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/A/seq
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/A/stderr
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/A/stdout
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/B
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/B/seq
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/B/stderr
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/B/stdout
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/C
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/C/seq
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/C/stderr
|
|
||||||
par_result_replace /tmp/par__49983/1/foo/2/C/stdout
|
|
||||||
par_result_replace bar B
|
|
||||||
par_result_replace bar C
|
|
||||||
par_result_replace baz B
|
|
||||||
par_result_replace baz C
|
|
||||||
par_result_replace /tmp/par__49983
|
|
||||||
par_result_replace /tmp/par__49983/A
|
|
||||||
par_result_replace /tmp/par__49983/A/B
|
|
||||||
par_result_replace /tmp/par__49983/A/B/foo
|
|
||||||
par_result_replace /tmp/par__49983/A/B/foo/bar
|
|
||||||
par_result_replace /tmp/par__49983/A/B/foo/bar/seq
|
|
||||||
par_result_replace /tmp/par__49983/A/B/foo/bar/stderr
|
|
||||||
par_result_replace /tmp/par__49983/A/B/foo/bar/stdout
|
|
||||||
par_result_replace /tmp/par__49983/A/B/foo/baz
|
|
||||||
par_result_replace /tmp/par__49983/A/B/foo/baz/seq
|
|
||||||
par_result_replace /tmp/par__49983/A/B/foo/baz/stderr
|
|
||||||
par_result_replace /tmp/par__49983/A/B/foo/baz/stdout
|
|
||||||
par_result_replace /tmp/par__49983/A/C
|
|
||||||
par_result_replace /tmp/par__49983/A/C/foo
|
|
||||||
par_result_replace /tmp/par__49983/A/C/foo/bar
|
|
||||||
par_result_replace /tmp/par__49983/A/C/foo/bar/seq
|
|
||||||
par_result_replace /tmp/par__49983/A/C/foo/bar/stderr
|
|
||||||
par_result_replace /tmp/par__49983/A/C/foo/bar/stdout
|
|
||||||
par_result_replace /tmp/par__49983/A/C/foo/baz
|
|
||||||
par_result_replace /tmp/par__49983/A/C/foo/baz/seq
|
|
||||||
par_result_replace /tmp/par__49983/A/C/foo/baz/stderr
|
|
||||||
par_result_replace /tmp/par__49983/A/C/foo/baz/stdout
|
|
||||||
|
|
|
@ -369,3 +369,343 @@ a7 b1 2 3 4 5 6 7
|
||||||
a8 b1 2 3 4 5 6 7 8
|
a8 b1 2 3 4 5 6 7 8
|
||||||
a9 b1 2 3 4 5 6 7 8 9
|
a9 b1 2 3 4 5 6 7 8 9
|
||||||
a10 b1 2 3 4 5 6 7 8 9 10
|
a10 b1 2 3 4 5 6 7 8 9 10
|
||||||
|
par_failing_compressor Compress with failing (de)compressor
|
||||||
|
par_failing_compressor Test --tag/--line-buffer/--files in all combinations
|
||||||
|
par_failing_compressor Test working/failing compressor/decompressor in all combinations
|
||||||
|
par_failing_compressor (-k is used as a dummy argument)
|
||||||
|
par_failing_compressor parallel -k --tag --line-buffer --files --compress --compress-program cat\;true --decompress-program cat\;true echo ::: C=cat\;true,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;true,D=cat;true /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel -k --tag --line-buffer --files --compress --compress-program cat\;true --decompress-program cat\;false echo ::: C=cat\;true,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;true,D=cat;false /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel -k --tag --line-buffer --files --compress --compress-program cat\;false --decompress-program cat\;true echo ::: C=cat\;false,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;false,D=cat;true /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k --tag --line-buffer --files --compress --compress-program cat\;false --decompress-program cat\;false echo ::: C=cat\;false,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;false,D=cat;false /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program cat\;true --decompress-program cat\;true echo ::: C=cat\;true,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;true,D=cat;true C=cat;true,D=cat;true
|
||||||
|
par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program cat\;true --decompress-program cat\;false echo ::: C=cat\;true,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;true,D=cat;false C=cat;true,D=cat;false
|
||||||
|
par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program cat\;false --decompress-program cat\;true echo ::: C=cat\;false,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k --tag --line-buffer -k --compress --compress-program cat\;false --decompress-program cat\;false echo ::: C=cat\;false,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k --tag -k --files --compress --compress-program cat\;true --decompress-program cat\;true echo ::: C=cat\;true,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;true,D=cat;true /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel -k --tag -k --files --compress --compress-program cat\;true --decompress-program cat\;false echo ::: C=cat\;true,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;true,D=cat;false /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel -k --tag -k --files --compress --compress-program cat\;false --decompress-program cat\;true echo ::: C=cat\;false,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;false,D=cat;true /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k --tag -k --files --compress --compress-program cat\;false --decompress-program cat\;false echo ::: C=cat\;false,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;false,D=cat;false /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k --tag -k -k --compress --compress-program cat\;true --decompress-program cat\;true echo ::: C=cat\;true,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;true,D=cat;true C=cat;true,D=cat;true
|
||||||
|
par_failing_compressor parallel -k --tag -k -k --compress --compress-program cat\;true --decompress-program cat\;false echo ::: C=cat\;true,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;true,D=cat;false C=cat;true,D=cat;false
|
||||||
|
par_failing_compressor parallel -k --tag -k -k --compress --compress-program cat\;false --decompress-program cat\;true echo ::: C=cat\;false,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;false,D=cat;true C=cat;false,D=cat;true
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k --tag -k -k --compress --compress-program cat\;false --decompress-program cat\;false echo ::: C=cat\;false,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;false,D=cat;false C=cat;false,D=cat;false
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k -k --line-buffer --files --compress --compress-program cat\;true --decompress-program cat\;true echo ::: C=cat\;true,D=cat\;true
|
||||||
|
par_failing_compressor /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel -k -k --line-buffer --files --compress --compress-program cat\;true --decompress-program cat\;false echo ::: C=cat\;true,D=cat\;false
|
||||||
|
par_failing_compressor /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel -k -k --line-buffer --files --compress --compress-program cat\;false --decompress-program cat\;true echo ::: C=cat\;false,D=cat\;true
|
||||||
|
par_failing_compressor /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k -k --line-buffer --files --compress --compress-program cat\;false --decompress-program cat\;false echo ::: C=cat\;false,D=cat\;false
|
||||||
|
par_failing_compressor /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program cat\;true --decompress-program cat\;true echo ::: C=cat\;true,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;true,D=cat;true
|
||||||
|
par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program cat\;true --decompress-program cat\;false echo ::: C=cat\;true,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;true,D=cat;false
|
||||||
|
par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program cat\;false --decompress-program cat\;true echo ::: C=cat\;false,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;false,D=cat;true
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k -k --line-buffer -k --compress --compress-program cat\;false --decompress-program cat\;false echo ::: C=cat\;false,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;false,D=cat;false
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k -k -k --files --compress --compress-program cat\;true --decompress-program cat\;true echo ::: C=cat\;true,D=cat\;true
|
||||||
|
par_failing_compressor /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel -k -k -k --files --compress --compress-program cat\;true --decompress-program cat\;false echo ::: C=cat\;true,D=cat\;false
|
||||||
|
par_failing_compressor /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel -k -k -k --files --compress --compress-program cat\;false --decompress-program cat\;true echo ::: C=cat\;false,D=cat\;true
|
||||||
|
par_failing_compressor /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k -k -k --files --compress --compress-program cat\;false --decompress-program cat\;false echo ::: C=cat\;false,D=cat\;false
|
||||||
|
par_failing_compressor /tmp/parallel-local-1s-tmpdir/tmpfile
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k -k -k -k --compress --compress-program cat\;true --decompress-program cat\;true echo ::: C=cat\;true,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;true,D=cat;true
|
||||||
|
par_failing_compressor parallel -k -k -k -k --compress --compress-program cat\;true --decompress-program cat\;false echo ::: C=cat\;true,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;true,D=cat;false
|
||||||
|
par_failing_compressor parallel -k -k -k -k --compress --compress-program cat\;false --decompress-program cat\;true echo ::: C=cat\;false,D=cat\;true
|
||||||
|
par_failing_compressor C=cat;false,D=cat;true
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_failing_compressor parallel -k -k -k -k --compress --compress-program cat\;false --decompress-program cat\;false echo ::: C=cat\;false,D=cat\;false
|
||||||
|
par_failing_compressor C=cat;false,D=cat;false
|
||||||
|
par_failing_compressor parallel: Error: cat;false failed.
|
||||||
|
par_result ### Test --results
|
||||||
|
par_result I III
|
||||||
|
par_result I IIII
|
||||||
|
par_result II III
|
||||||
|
par_result II IIII
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/I/2/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/I/2/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/I/2/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/I/2/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/I/2/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/I/2/IIII/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/II/2/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/II/2/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/II/2/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/II/2/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/II/2/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testA/1/II/2/IIII/stdout
|
||||||
|
par_result ### Test --res
|
||||||
|
par_result I III
|
||||||
|
par_result I IIII
|
||||||
|
par_result II III
|
||||||
|
par_result II IIII
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/I/2/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/I/2/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/I/2/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/I/2/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/I/2/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/I/2/IIII/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/II/2/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/II/2/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/II/2/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/II/2/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/II/2/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testD/1/II/2/IIII/stdout
|
||||||
|
par_result ### Test --result
|
||||||
|
par_result I III
|
||||||
|
par_result I IIII
|
||||||
|
par_result II III
|
||||||
|
par_result II IIII
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/I/2/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/I/2/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/I/2/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/I/2/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/I/2/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/I/2/IIII/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/II/2/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/II/2/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/II/2/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/II/2/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/II/2/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testE/1/II/2/IIII/stdout
|
||||||
|
par_result ### Test --results --header :
|
||||||
|
par_result I III
|
||||||
|
par_result I IIII
|
||||||
|
par_result II III
|
||||||
|
par_result II IIII
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/I/b/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/I/b/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/I/b/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/I/b/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/I/b/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/I/b/IIII/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/II/b/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/II/b/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/II/b/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/II/b/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/II/b/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testB/a/II/b/IIII/stdout
|
||||||
|
par_result ### Test --results --header : named - a/b swapped
|
||||||
|
par_result I III
|
||||||
|
par_result II III
|
||||||
|
par_result I IIII
|
||||||
|
par_result II IIII
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/I/b/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/I/b/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/I/b/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/I/b/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/I/b/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/I/b/IIII/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/II/b/III/seq
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/II/b/III/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/II/b/III/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/II/b/IIII/seq
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/II/b/IIII/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testC/a/II/b/IIII/stdout
|
||||||
|
par_result ### Test --results --header : piped
|
||||||
|
par_result parallel: Warning: a NUL character occurred in the input.
|
||||||
|
par_result parallel: Warning: It cannot be passed through in the argument list.
|
||||||
|
par_result parallel: Warning: Did you mean to use the --null option?
|
||||||
|
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2
|
||||||
|
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof
|
||||||
|
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof/seq
|
||||||
|
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\0eof/stdout
|
||||||
|
par_result ### Test --results --header : piped - non-existing column header
|
||||||
|
par_result parallel: Warning: a NUL character occurred in the input.
|
||||||
|
par_result parallel: Warning: It cannot be passed through in the argument list.
|
||||||
|
par_result parallel: Warning: Did you mean to use the --null option?
|
||||||
|
par_result /tmp/parallel_results_test/testG/
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof/seq
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\0eof/stdout
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/v1
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/v1/2
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/v1/2/v2
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/v1/2/v2/3
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3/seq
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3/stderr
|
||||||
|
par_result /tmp/parallel_results_test/testG/Col1/v1/2/v2/3/v3/stdout
|
||||||
|
par_result_replace ### bug #49983: --results with {1}
|
||||||
|
par_result_replace foo
|
||||||
|
par_result_replace bar
|
||||||
|
par_result_replace baz
|
||||||
|
par_result_replace /tmp/par_bar_49983
|
||||||
|
par_result_replace /tmp/par_baz_49983
|
||||||
|
par_result_replace /tmp/par_foo_49983
|
||||||
|
par_result_replace foo A
|
||||||
|
par_result_replace foo B
|
||||||
|
par_result_replace foo C
|
||||||
|
par_result_replace bar A
|
||||||
|
par_result_replace bar B
|
||||||
|
par_result_replace bar C
|
||||||
|
par_result_replace baz A
|
||||||
|
par_result_replace baz B
|
||||||
|
par_result_replace baz C
|
||||||
|
par_result_replace /tmp/par_bar A_49983
|
||||||
|
par_result_replace /tmp/par_bar B_49983
|
||||||
|
par_result_replace /tmp/par_bar C_49983
|
||||||
|
par_result_replace /tmp/par_baz A_49983
|
||||||
|
par_result_replace /tmp/par_baz B_49983
|
||||||
|
par_result_replace /tmp/par_baz C_49983
|
||||||
|
par_result_replace /tmp/par_foo A_49983
|
||||||
|
par_result_replace /tmp/par_foo B_49983
|
||||||
|
par_result_replace /tmp/par_foo C_49983
|
||||||
|
par_result_replace foo A
|
||||||
|
par_result_replace foo B
|
||||||
|
par_result_replace foo C
|
||||||
|
par_result_replace bar A
|
||||||
|
par_result_replace bar B
|
||||||
|
par_result_replace bar C
|
||||||
|
par_result_replace baz A
|
||||||
|
par_result_replace baz B
|
||||||
|
par_result_replace baz C
|
||||||
|
par_result_replace /tmp/par_bar-A_49983
|
||||||
|
par_result_replace /tmp/par_bar-B_49983
|
||||||
|
par_result_replace /tmp/par_bar-C_49983
|
||||||
|
par_result_replace /tmp/par_baz-A_49983
|
||||||
|
par_result_replace /tmp/par_baz-B_49983
|
||||||
|
par_result_replace /tmp/par_baz-C_49983
|
||||||
|
par_result_replace /tmp/par_foo-A_49983
|
||||||
|
par_result_replace /tmp/par_foo-B_49983
|
||||||
|
par_result_replace /tmp/par_foo-C_49983
|
||||||
|
par_result_replace foo A
|
||||||
|
par_result_replace foo B
|
||||||
|
par_result_replace foo C
|
||||||
|
par_result_replace bar A
|
||||||
|
par_result_replace bar B
|
||||||
|
par_result_replace bar C
|
||||||
|
par_result_replace baz A
|
||||||
|
par_result_replace baz B
|
||||||
|
par_result_replace baz C
|
||||||
|
par_result_replace /tmp/par__49983
|
||||||
|
par_result_replace /tmp/par__49983/1
|
||||||
|
par_result_replace /tmp/par__49983/1/bar
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/A
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/A/seq
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/A/stderr
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/A/stdout
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/B
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/B/seq
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/B/stderr
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/B/stdout
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/C
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/C/seq
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/C/stderr
|
||||||
|
par_result_replace /tmp/par__49983/1/bar/2/C/stdout
|
||||||
|
par_result_replace /tmp/par__49983/1/baz
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/A
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/A/seq
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/A/stderr
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/A/stdout
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/B
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/B/seq
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/B/stderr
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/B/stdout
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/C
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/C/seq
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/C/stderr
|
||||||
|
par_result_replace /tmp/par__49983/1/baz/2/C/stdout
|
||||||
|
par_result_replace /tmp/par__49983/1/foo
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/A
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/A/seq
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/A/stderr
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/A/stdout
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/B
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/B/seq
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/B/stderr
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/B/stdout
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/C
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/C/seq
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/C/stderr
|
||||||
|
par_result_replace /tmp/par__49983/1/foo/2/C/stdout
|
||||||
|
par_result_replace bar B
|
||||||
|
par_result_replace bar C
|
||||||
|
par_result_replace baz B
|
||||||
|
par_result_replace baz C
|
||||||
|
par_result_replace /tmp/par__49983
|
||||||
|
par_result_replace /tmp/par__49983/A
|
||||||
|
par_result_replace /tmp/par__49983/A/B
|
||||||
|
par_result_replace /tmp/par__49983/A/B/foo
|
||||||
|
par_result_replace /tmp/par__49983/A/B/foo/bar
|
||||||
|
par_result_replace /tmp/par__49983/A/B/foo/bar/seq
|
||||||
|
par_result_replace /tmp/par__49983/A/B/foo/bar/stderr
|
||||||
|
par_result_replace /tmp/par__49983/A/B/foo/bar/stdout
|
||||||
|
par_result_replace /tmp/par__49983/A/B/foo/baz
|
||||||
|
par_result_replace /tmp/par__49983/A/B/foo/baz/seq
|
||||||
|
par_result_replace /tmp/par__49983/A/B/foo/baz/stderr
|
||||||
|
par_result_replace /tmp/par__49983/A/B/foo/baz/stdout
|
||||||
|
par_result_replace /tmp/par__49983/A/C
|
||||||
|
par_result_replace /tmp/par__49983/A/C/foo
|
||||||
|
par_result_replace /tmp/par__49983/A/C/foo/bar
|
||||||
|
par_result_replace /tmp/par__49983/A/C/foo/bar/seq
|
||||||
|
par_result_replace /tmp/par__49983/A/C/foo/bar/stderr
|
||||||
|
par_result_replace /tmp/par__49983/A/C/foo/bar/stdout
|
||||||
|
par_result_replace /tmp/par__49983/A/C/foo/baz
|
||||||
|
par_result_replace /tmp/par__49983/A/C/foo/baz/seq
|
||||||
|
par_result_replace /tmp/par__49983/A/C/foo/baz/stderr
|
||||||
|
par_result_replace /tmp/par__49983/A/C/foo/baz/stdout
|
||||||
|
par_result_replace bar B
|
||||||
|
par_result_replace bar C
|
||||||
|
par_result_replace baz B
|
||||||
|
par_result_replace baz C
|
||||||
|
par_result_replace /tmp/par__49983-bar B
|
||||||
|
par_result_replace /tmp/par__49983-bar B/seq
|
||||||
|
par_result_replace /tmp/par__49983-bar B/stderr
|
||||||
|
par_result_replace /tmp/par__49983-bar B/stdout
|
||||||
|
par_result_replace /tmp/par__49983-bar C
|
||||||
|
par_result_replace /tmp/par__49983-bar C/seq
|
||||||
|
par_result_replace /tmp/par__49983-bar C/stderr
|
||||||
|
par_result_replace /tmp/par__49983-bar C/stdout
|
||||||
|
par_result_replace /tmp/par__49983-baz B
|
||||||
|
par_result_replace /tmp/par__49983-baz B/seq
|
||||||
|
par_result_replace /tmp/par__49983-baz B/stderr
|
||||||
|
par_result_replace /tmp/par__49983-baz B/stdout
|
||||||
|
par_result_replace /tmp/par__49983-baz C
|
||||||
|
par_result_replace /tmp/par__49983-baz C/seq
|
||||||
|
par_result_replace /tmp/par__49983-baz C/stderr
|
||||||
|
par_result_replace /tmp/par__49983-baz C/stdout
|
||||||
|
|
Loading…
Reference in a new issue