mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 22:17:54 +00:00
parallel: Use file descriptors instead of STDOUT/STDERR.
Fixed up Polarhome tests. Passes testsuite.
This commit is contained in:
parent
7ff2e711db
commit
dd1a637822
130
src/parallel
130
src/parallel
|
@ -1310,18 +1310,17 @@ sub save_stdin_stdout_stderr {
|
||||||
# Returns: N/A
|
# Returns: N/A
|
||||||
|
|
||||||
# Find file descriptors that are already opened (by the shell)
|
# Find file descriptors that are already opened (by the shell)
|
||||||
for (1..60) {
|
for my $fdno (1..61) {
|
||||||
# /dev/fd/62 and above are used by bash for <(cmd)
|
# /dev/fd/62 and above are used by bash for <(cmd)
|
||||||
my $fh;
|
my $fh;
|
||||||
if(open($fh,">&=$_")) {
|
if(open($fh,">&=",$fdno)) {
|
||||||
$Global::fd{$_}=$fh;
|
$Global::fd{$fdno}=$fh;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
open $Global::original_stderr, ">&", "STDERR" or
|
open $Global::original_stderr, ">&", "STDERR" or
|
||||||
::die_bug("Can't dup STDERR: $!");
|
::die_bug("Can't dup STDERR: $!");
|
||||||
open $Global::original_stdin, "<&", "STDIN" or
|
open $Global::original_stdin, "<&", "STDIN" or
|
||||||
::die_bug("Can't dup STDIN: $!");
|
::die_bug("Can't dup STDIN: $!");
|
||||||
$Global::fd{0} = $Global::original_stdin;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub enough_file_handles {
|
sub enough_file_handles {
|
||||||
|
@ -1334,15 +1333,17 @@ sub enough_file_handles {
|
||||||
if($Global::grouped) {
|
if($Global::grouped) {
|
||||||
my %fh;
|
my %fh;
|
||||||
my $enough_filehandles = 1;
|
my $enough_filehandles = 1;
|
||||||
# We need a filehandle for STDOUT and STDERR
|
|
||||||
# perl uses 7 filehandles for something?
|
# perl uses 7 filehandles for something?
|
||||||
# open3 uses 2 extra filehandles temporarily
|
# open3 uses 2 extra filehandles temporarily
|
||||||
for my $i (1..8) {
|
# We need a filehandle for each redirected file descriptor
|
||||||
|
# (normally just STDOUT and STDERR)
|
||||||
|
for my $i (1..(7+2+keys %Global::fd)) {
|
||||||
$enough_filehandles &&= open($fh{$i}, "<", "/dev/null");
|
$enough_filehandles &&= open($fh{$i}, "<", "/dev/null");
|
||||||
}
|
}
|
||||||
for (values %fh) { close $_; }
|
for (values %fh) { close $_; }
|
||||||
return $enough_filehandles;
|
return $enough_filehandles;
|
||||||
} else {
|
} else {
|
||||||
|
# Ungrouped does not need extra file handles
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1490,13 +1491,15 @@ sub start_another_job {
|
||||||
::usleep(rand()*300);
|
::usleep(rand()*300);
|
||||||
::warning("No more processes: ",
|
::warning("No more processes: ",
|
||||||
"Decreasing number of running jobs to $max. ",
|
"Decreasing number of running jobs to $max. ",
|
||||||
"Raising ulimit -u may help.\n");
|
"Raising ulimit -u or /etc/security/limits.conf may help.\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
# No more file handles
|
# No more file handles
|
||||||
debug("Not starting: no more file handles\n");
|
$Global::no_more_file_handles_warned++ or
|
||||||
|
::warning("No more file handles. ".
|
||||||
|
"Raising ulimit -n or /etc/security/limits.conf may help.\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2882,16 +2885,16 @@ sub processes_available_by_system_limit {
|
||||||
if($system_limit < $wanted_processes) {
|
if($system_limit < $wanted_processes) {
|
||||||
# The system_limit is less than the wanted_processes
|
# The system_limit is less than the wanted_processes
|
||||||
if($system_limit < 1 and not $Global::JobQueue->empty()) {
|
if($system_limit < 1 and not $Global::JobQueue->empty()) {
|
||||||
::warning("Cannot spawn any jobs. Raising ulimit -u may help.\n");
|
::warning("Cannot spawn any jobs. Raising ulimit -u or /etc/security/limits.conf may help.\n");
|
||||||
::wait_and_exit(255);
|
::wait_and_exit(255);
|
||||||
}
|
}
|
||||||
if(not $more_filehandles) {
|
if(not $more_filehandles) {
|
||||||
::warning("Only enough filehandles to run ", $system_limit,
|
::warning("Only enough file handles to run ", $system_limit, " jobs in parallel.\n",
|
||||||
" jobs in parallel. Raising ulimit -n may help.\n");
|
"Raising ulimit -n or /etc/security/limits.conf may help.\n");
|
||||||
}
|
}
|
||||||
if($max_system_proc_reached) {
|
if($max_system_proc_reached) {
|
||||||
::warning("Only enough available processes to run ", $system_limit,
|
::warning("Only enough available processes to run ", $system_limit,
|
||||||
" jobs in parallel. Raising ulimit -u may help.\n");
|
" jobs in parallel. Raising ulimit -u or /etc/security/limits.conf may help.\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($] == 5.008008 and $system_limit > 1000) {
|
if($] == 5.008008 and $system_limit > 1000) {
|
||||||
|
@ -3599,10 +3602,7 @@ sub new {
|
||||||
'commandline' => $commandline, # The commandline with no args
|
'commandline' => $commandline, # The commandline with no args
|
||||||
'workdir' => undef, # --workdir
|
'workdir' => undef, # --workdir
|
||||||
'stdin' => undef, # filehandle for stdin (used for --pipe)
|
'stdin' => undef, # filehandle for stdin (used for --pipe)
|
||||||
'stdout' => undef, # filehandle for stdout (used for --group)
|
|
||||||
# filename for writing stdout to (used for --files)
|
# filename for writing stdout to (used for --files)
|
||||||
'stdoutfilename' => undef,
|
|
||||||
'stderr' => undef, # filehandle for stderr (used for --group)
|
|
||||||
'remaining' => "", # remaining data not sent to stdin (used for --pipe)
|
'remaining' => "", # remaining data not sent to stdin (used for --pipe)
|
||||||
'datawritten' => 0, # amount of data sent via stdin (used for --pipe)
|
'datawritten' => 0, # amount of data sent via stdin (used for --pipe)
|
||||||
'transfersize' => 0, # size of files using --transfer
|
'transfersize' => 0, # size of files using --transfer
|
||||||
|
@ -3645,13 +3645,14 @@ sub openresultsfile {
|
||||||
::error("Cannot write to `$name'.\n");
|
::error("Cannot write to `$name'.\n");
|
||||||
::wait_and_exit(255);
|
::wait_and_exit(255);
|
||||||
}
|
}
|
||||||
$self->set_stdoutfilename($name);
|
$self->set_fd_file_name(1,$name);
|
||||||
# prefix/name1/val1/name2/val2/stderr
|
# prefix/name1/val1/name2/val2/stderr
|
||||||
$name = "$dir/stderr";
|
$name = "$dir/stderr";
|
||||||
if(not open($errfh,"+>",$name)) {
|
if(not open($errfh,"+>",$name)) {
|
||||||
::error("Cannot write to `$name'.\n");
|
::error("Cannot write to `$name'.\n");
|
||||||
::wait_and_exit(255);
|
::wait_and_exit(255);
|
||||||
}
|
}
|
||||||
|
$self->set_fd_file_name(2,$name);
|
||||||
open OUT, '>&', $outfh or ::die_bug("Can't redirect STDOUT: $!");
|
open OUT, '>&', $outfh or ::die_bug("Can't redirect STDOUT: $!");
|
||||||
open ERR, '>&', $errfh or ::die_bug("Can't dup STDOUT: $!");
|
open ERR, '>&', $errfh or ::die_bug("Can't dup STDOUT: $!");
|
||||||
$self->set_fd(1,$outfh);
|
$self->set_fd(1,$outfh);
|
||||||
|
@ -3672,14 +3673,18 @@ sub fd {
|
||||||
return $self->{'fd'}{$fd_no};
|
return $self->{'fd'}{$fd_no};
|
||||||
}
|
}
|
||||||
|
|
||||||
sub set_stdoutfilename {
|
sub set_fd_file_name {
|
||||||
|
# Set file name for a file descriptor
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
$self->{'stdoutfilename'} = shift;
|
my $fd_no = shift;
|
||||||
|
$self->{'fd_file_name',$fd_no} = shift;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub stdoutfilename {
|
sub fd_file_name {
|
||||||
|
# Get file name for a file descriptor
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return $self->{'stdoutfilename'};
|
my $fd_no = shift;
|
||||||
|
return $self->{'fd_file_name',$fd_no};
|
||||||
}
|
}
|
||||||
|
|
||||||
sub write {
|
sub write {
|
||||||
|
@ -4229,7 +4234,7 @@ sub start {
|
||||||
# To group we create temporary files for STDOUT and STDERR
|
# To group we create temporary files for STDOUT and STDERR
|
||||||
# To avoid the cleanup unlink the files immediately (but keep them open)
|
# To avoid the cleanup unlink the files immediately (but keep them open)
|
||||||
($outfh, $name) = ::tempfile(SUFFIX => ".par");
|
($outfh, $name) = ::tempfile(SUFFIX => ".par");
|
||||||
$job->set_stdoutfilename($name);
|
$job->set_fd_file_name(1,$name);
|
||||||
$opt::files or unlink $name;
|
$opt::files or unlink $name;
|
||||||
($errfh, $name) = ::tempfile(SUFFIX => ".par");
|
($errfh, $name) = ::tempfile(SUFFIX => ".par");
|
||||||
unlink $name;
|
unlink $name;
|
||||||
|
@ -4383,18 +4388,16 @@ sub print {
|
||||||
if($opt::pipe and $self->virgin()) {
|
if($opt::pipe and $self->virgin()) {
|
||||||
# Nothing was printed to this job:
|
# Nothing was printed to this job:
|
||||||
# cleanup tmp files if --files was set
|
# cleanup tmp files if --files was set
|
||||||
unlink $self->{'stdoutfilename'};
|
unlink $self->fd_file_name(1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if($opt::dryrun) {
|
if($opt::dryrun) {
|
||||||
# Nothing was printed to this job:
|
# Nothing was printed to this job:
|
||||||
# cleanup tmp files if --files was set
|
# cleanup tmp files if --files was set
|
||||||
unlink $self->{'stdoutfilename'};
|
unlink $self->fd_file_name(1);
|
||||||
}
|
}
|
||||||
# Only relevant for grouping
|
# Only relevant for grouping
|
||||||
$Global::grouped or return;
|
$Global::grouped or return;
|
||||||
my $out = $self->fd(1);
|
|
||||||
my $err = $self->fd(2);
|
|
||||||
my $command = $self->sshlogin_wrap();
|
my $command = $self->sshlogin_wrap();
|
||||||
|
|
||||||
if($Global::joblog) {
|
if($Global::joblog) {
|
||||||
|
@ -4427,60 +4430,61 @@ sub print {
|
||||||
# so flush to avoid STDOUT being buffered
|
# so flush to avoid STDOUT being buffered
|
||||||
flush STDOUT;
|
flush STDOUT;
|
||||||
}
|
}
|
||||||
seek $err, 0, 0;
|
for my $fdno (sort { $a <=> $b } keys %Global::fd) {
|
||||||
|
# Sort by file descriptor numerically: 1,2,3,..,9,10,11
|
||||||
|
$fdno == 0 and next;
|
||||||
|
my $out_fd = $Global::fd{$fdno};
|
||||||
|
my $in_fd = $self->fd($fdno);
|
||||||
|
if(not $in_fd) {
|
||||||
|
# ::warning("File descriptor $fdno not defined\n");
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
seek $in_fd, 0, 0;
|
||||||
if($Global::debug) {
|
if($Global::debug) {
|
||||||
print STDERR "ERR:\n";
|
print STDERR "File descriptor $fdno:\n";
|
||||||
}
|
}
|
||||||
if($opt::tag or defined $opt::tagstring) {
|
|
||||||
my $tag = $self->tag();
|
|
||||||
# OpenSSH_3.6.1p2 gives 'tcgetattr: Invalid argument' with -tt
|
|
||||||
# This is a crappy way of ignoring it.
|
|
||||||
while(<$err>) {
|
|
||||||
if($_ ne "tcgetattr: Invalid argument\n") {
|
|
||||||
print STDERR $tag,$_;
|
|
||||||
}
|
|
||||||
# At most run the loop once
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
while(<$err>) {
|
|
||||||
print STDERR $tag,$_;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
my $buf;
|
|
||||||
sysread($err,$buf,1_000_000);
|
|
||||||
# OpenSSH_3.6.1p2 gives 'tcgetattr: Invalid argument' with -tt
|
|
||||||
$buf =~ s/^tcgetattr: Invalid argument\n//;
|
|
||||||
print STDERR $buf;
|
|
||||||
while(sysread($err,$buf,1_000_000)) {
|
|
||||||
print STDERR $buf;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
flush STDERR;
|
|
||||||
|
|
||||||
if($opt::files) {
|
if($opt::files) {
|
||||||
print STDOUT $self->{'stdoutfilename'},"\n";
|
$self->fd_file_name($fdno) and print $out_fd $self->fd_file_name($fdno),"\n";
|
||||||
} else {
|
} else {
|
||||||
my $buf;
|
my $buf;
|
||||||
seek $out, 0, 0;
|
seek $in_fd, 0, 0;
|
||||||
if($Global::debug) {
|
if($Global::debug) {
|
||||||
print STDOUT "OUT:\n";
|
print STDOUT "OUT:\n";
|
||||||
}
|
}
|
||||||
if($opt::tag or defined $opt::tagstring) {
|
if($opt::tag or defined $opt::tagstring) {
|
||||||
my $tag = $self->tag();
|
my $tag = $self->tag();
|
||||||
while(<$out>) {
|
if($fdno == 2) {
|
||||||
print STDOUT $tag,$_;
|
# OpenSSH_3.6.1p2 gives 'tcgetattr: Invalid argument' with -tt
|
||||||
|
# This is a crappy way of ignoring it.
|
||||||
|
while(<$in_fd>) {
|
||||||
|
if($_ ne "tcgetattr: Invalid argument\n") {
|
||||||
|
print $out_fd $tag,$_;
|
||||||
|
}
|
||||||
|
# At most run the loop once
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while(<$in_fd>) {
|
||||||
|
print $out_fd $tag,$_;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
my $buf;
|
my $buf;
|
||||||
while(sysread($out,$buf,1_000_000)) {
|
if($fdno == 2) {
|
||||||
print STDOUT $buf;
|
# OpenSSH_3.6.1p2 gives 'tcgetattr: Invalid argument' with -tt
|
||||||
|
# This is a crappy way of ignoring it.
|
||||||
|
sysread($in_fd,$buf,1_000_000);
|
||||||
|
$buf =~ s/^tcgetattr: Invalid argument\n//;
|
||||||
|
print $out_fd $buf;
|
||||||
|
}
|
||||||
|
while(sysread($in_fd,$buf,1_000_000)) {
|
||||||
|
print $out_fd $buf;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
flush STDOUT;
|
}
|
||||||
|
flush $out_fd;
|
||||||
::debug("<<joboutput $command\n");
|
::debug("<<joboutput $command\n");
|
||||||
|
close $in_fd;
|
||||||
}
|
}
|
||||||
close $out;
|
|
||||||
close $err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub tag {
|
sub tag {
|
||||||
|
@ -5972,6 +5976,6 @@ sub mkdir_or_die {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Keep perl -w happy
|
# Keep perl -w happy
|
||||||
$opt::x = $Semaphore::timeout = $Semaphore::wait = $opt::shebang =
|
$opt::x = $Semaphore::timeout = $Semaphore::wait = $opt::shebang = $Global::no_more_file_handles_warned =
|
||||||
0;
|
0;
|
||||||
|
|
||||||
|
|
|
@ -5,50 +5,72 @@
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -j4 -L1
|
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -k -j4 -L1
|
||||||
echo '### Test if we can deal with output > 4 GB'
|
echo '### Test if we can deal with output > 4 GB'
|
||||||
# echo | niceload --io 10 parallel -q perl -e '"\$a=\"x\"x1000000;for(0..4300){print \$a}"' | md5sum
|
## echo | niceload --io 10 parallel -q perl -e '"\$a=\"x\"x1000000;for(0..4300){print \$a}"' | md5sum
|
||||||
echo | parallel -q perl -e '$a="x"x1000000;for(0..4300){print $a}' | md5sum
|
echo | parallel -q perl -e '$a="x"x1000000;for(0..4300){print $a}' | md5sum
|
||||||
|
|
||||||
|
echo '**'
|
||||||
|
|
||||||
echo "### Test Force outside the file handle limit, 2009-02-17 Gave fork error"
|
echo "### Test Force outside the file handle limit, 2009-02-17 Gave fork error"
|
||||||
(echo echo Start; seq 1 20000 | perl -pe 's/^/true /'; echo echo end) | stdout parallel -uj 0 | egrep -v 'processes took|adjusting'
|
(echo echo Start; seq 1 20000 | perl -pe 's/^/true /'; echo echo end) | stdout parallel -uj 0 | egrep -v 'processes took|adjusting'
|
||||||
|
|
||||||
|
echo '**'
|
||||||
|
|
||||||
echo '### Test of --retries on unreachable host'
|
echo '### Test of --retries on unreachable host'
|
||||||
seq 2 | stdout parallel -k --retries 2 -v -S 4.3.2.1,: echo
|
seq 2 | stdout parallel -k --retries 2 -v -S 4.3.2.1,: echo
|
||||||
|
|
||||||
|
echo '**'
|
||||||
|
|
||||||
echo '### Test race condition on 8 CPU (my laptop)';
|
echo '### Test race condition on 8 CPU (my laptop)';
|
||||||
seq 1 5000000 > /tmp/parallel_test;
|
seq 1 5000000 > /tmp/parallel_test;
|
||||||
seq 1 10 | parallel -k "cat /tmp/parallel_test | parallel --pipe --recend '' -k gzip >/dev/null; echo {}"
|
seq 1 10 | parallel -k "cat /tmp/parallel_test | parallel --pipe --recend '' -k gzip >/dev/null; echo {}"
|
||||||
|
|
||||||
|
echo '**'
|
||||||
|
|
||||||
echo '### Test exit val - true';
|
echo '### Test exit val - true';
|
||||||
echo true | parallel;
|
echo true | parallel;
|
||||||
echo $?
|
echo $?
|
||||||
|
|
||||||
|
echo '**'
|
||||||
|
|
||||||
echo '### Test exit val - false';
|
echo '### Test exit val - false';
|
||||||
echo false | parallel;
|
echo false | parallel;
|
||||||
echo $?
|
echo $?
|
||||||
|
|
||||||
|
echo '**'
|
||||||
|
|
||||||
echo '### Test --halt-on-error 0';
|
echo '### Test --halt-on-error 0';
|
||||||
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true") | parallel -j10 --halt-on-error 0;
|
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true") | parallel -j10 --halt-on-error 0;
|
||||||
echo $?;
|
echo $?;
|
||||||
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true";echo "sleep 4; non_exist") | parallel -j10 --halt 0;
|
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true";echo "sleep 4; non_exist") | parallel -j10 --halt 0;
|
||||||
echo $?
|
echo $?
|
||||||
|
|
||||||
|
echo '**'
|
||||||
|
|
||||||
echo '### Test --halt-on-error 1';
|
echo '### Test --halt-on-error 1';
|
||||||
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true") | parallel -j10 --halt-on-error 1;
|
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true") | parallel -j10 --halt-on-error 1;
|
||||||
echo $?;
|
echo $?;
|
||||||
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true";echo "sleep 4; non_exist") | parallel -j10 --halt 1;
|
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true";echo "sleep 4; non_exist") | parallel -j10 --halt 1;
|
||||||
echo $?
|
echo $?
|
||||||
|
|
||||||
|
echo '**'
|
||||||
|
|
||||||
echo '### Test --halt-on-error 2';
|
echo '### Test --halt-on-error 2';
|
||||||
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true") | parallel -j10 --halt-on-error 2;
|
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true") | parallel -j10 --halt-on-error 2;
|
||||||
echo $?;
|
echo $?;
|
||||||
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true";echo "sleep 4; non_exist") | parallel -j10 --halt 2;
|
(echo "sleep 1;true"; echo "sleep 2;false";echo "sleep 3;true";echo "sleep 4; non_exist") | parallel -j10 --halt 2;
|
||||||
echo $?
|
echo $?
|
||||||
|
|
||||||
echo '### Test last dying print --halt-on-error';
|
echo '**'
|
||||||
|
|
||||||
|
echo '### Test last dying print --halt-on-error 1';
|
||||||
(seq 0 8;echo 0; echo 9) | parallel -j10 -kq --halt 1 perl -e 'sleep $ARGV[0];print STDERR @ARGV,"\n"; exit shift';
|
(seq 0 8;echo 0; echo 9) | parallel -j10 -kq --halt 1 perl -e 'sleep $ARGV[0];print STDERR @ARGV,"\n"; exit shift';
|
||||||
echo $?;
|
echo exit code $?
|
||||||
|
|
||||||
|
echo '### Test last dying print --halt-on-error 2';
|
||||||
(seq 0 8;echo 0; echo 9) | parallel -j10 -kq --halt 2 perl -e 'sleep $ARGV[0];print STDERR @ARGV,"\n"; exit shift';
|
(seq 0 8;echo 0; echo 9) | parallel -j10 -kq --halt 2 perl -e 'sleep $ARGV[0];print STDERR @ARGV,"\n"; exit shift';
|
||||||
echo $?
|
echo exit code $?
|
||||||
|
|
||||||
|
echo '**'
|
||||||
|
|
||||||
echo '### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834';
|
echo '### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834';
|
||||||
seq 1 3 | parallel -j1 "sleep 2; echo {}" | parallel -kj2 echo
|
seq 1 3 | parallel -j1 "sleep 2; echo {}" | parallel -kj2 echo
|
||||||
|
|
|
@ -35,11 +35,17 @@ parallel -S localhost --env SPC echo 'a"$SPC"b' ::: 5
|
||||||
parallel -S csh@localhost --env SPC echo 'a"$SPC"b' ::: 5
|
parallel -S csh@localhost --env SPC echo 'a"$SPC"b' ::: 5
|
||||||
parallel -S tcsh@localhost --env SPC echo 'a"$SPC"b' ::: 5
|
parallel -S tcsh@localhost --env SPC echo 'a"$SPC"b' ::: 5
|
||||||
|
|
||||||
echo '### Test --env for \n and \\ - single and double - no output is good'
|
echo '### Test --env for \n and \\ - single and double (bash only) - no output is good'
|
||||||
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo,1/csh@lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} {#} | sort | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S 2/:,2/lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} {#} | sort | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
||||||
|
|
||||||
echo '### Test --env for \n and \\ - single and double --onall - no output is good'
|
echo '### Test --env for \n and \\ - single and double (*csh only) - no output is good'
|
||||||
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo,1/csh@lo --onall --env V,V2 echo \''"{}$V$V2"'\' ::: {#} | sort | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S 2/tcsh@lo,2/csh@lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} {#} | sort | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
||||||
|
|
||||||
|
echo '### Test --env for \n and \\ - single and double --onall (bash only) - no output is good'
|
||||||
|
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,lo --onall --env V,V2 echo \''"{}$V$V2"'\' ::: {#} | sort | uniq -c | grep -v ' 4 '|grep -v xauth |grep -v X11
|
||||||
|
|
||||||
|
echo '### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good'
|
||||||
|
perl -e 'for(10,92) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S 1/tcsh@lo,1/csh@lo --onall --env V,V2 echo \''"{}$V$V2"'\' ::: {#} | sort | uniq -c | grep -v ' 2 '|grep -v xauth |grep -v X11
|
||||||
|
|
||||||
echo '### Test --env for \160 - which kills csh - single and double - no output is good'
|
echo '### Test --env for \160 - which kills csh - single and double - no output is good'
|
||||||
perl -e 'for(160) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} | uniq -c | grep -v ' 3 '|grep -v xauth |grep -v X11
|
perl -e 'for(160) { printf "%c%c %c%d\0",$_,$_,$_,$_ }' | stdout parallel --nice 19 -j4 -k -I // --arg-sep _ -0 V=// V2=V2=// parallel -k -j1 -S :,1/lo,1/tcsh@lo --env V,V2 echo \''"{}$V$V2"'\' ::: {#} {#} {#} | uniq -c | grep -v ' 3 '|grep -v xauth |grep -v X11
|
||||||
|
|
|
@ -1,19 +1,29 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
P="scosysv centos dragonfly netbsd freebsd solaris openbsd debian aix hpux qnx irix suse minix openindiana mandriva unixware miros raspberrypi hurd ultrix ubuntu redhat"
|
P_ALL="vax freebsd solaris openbsd netbsd debian alpha aix redhat hpux ultrix qnx irix tru64 openindiana suse openstep mandriva ubuntu scosysv unixware dragonfly centos miros hurd minix raspberrypi"
|
||||||
P="scosysv centos dragonfly netbsd freebsd solaris openbsd debian aix hpux qnx irix suse minix openindiana mandriva unixware raspberrypi hurd ultrix ubuntu"
|
P_NOTWORKING="vax alpha openstep"
|
||||||
#P="scosysv hpux qnx irix openindiana ultrix"
|
P_NOTWORKING_YET="ultrix tru64"
|
||||||
POLAR=`parallel echo {}.polarhome.com ::: $P`
|
|
||||||
|
P_WORKING="freebsd solaris openbsd netbsd debian aix redhat hpux qnx irix openindiana suse mandriva ubuntu scosysv unixware dragonfly centos miros hurd minix raspberrypi"
|
||||||
|
|
||||||
|
P="$P_WORKING"
|
||||||
|
POLAR=`parallel -k echo {}.polarhome.com ::: $P`
|
||||||
|
# Avoid the stupid /etc/issue.net banner at Polarhome
|
||||||
|
|
||||||
echo '### Tests on polarhome machines'
|
echo '### Tests on polarhome machines'
|
||||||
echo 'Setup on polarhome machines'
|
echo 'Setup on polarhome machines'
|
||||||
stdout parallel -kj0 ssh {} mkdir -p bin ::: $POLAR >/dev/null 2>/dev/null &
|
stdout parallel -kj0 ssh -oLogLevel=quiet {} mkdir -p bin ::: $POLAR &
|
||||||
# scp to each polarhome machine do not work. From redhat it works.
|
# scp to each polarhome machine do not work. Use cat
|
||||||
stdout rsync -a `which parallel` redhat.polarhome.com:bin/
|
copy_to_host() {
|
||||||
stdout ssh redhat.polarhome.com \
|
H=$1
|
||||||
chmod 755 bin/parallel\; \
|
# Avoid the stupid /etc/issue.net banner with -oLogLevel=quiet
|
||||||
bin/parallel --tag -kj0 -v --delay 0.2 ssh {} rm -f bin/parallel\\\;scp bin/parallel {}:bin/ ::: $POLAR | sort
|
ssh -oLogLevel=quiet $H rm -f bin/parallel
|
||||||
|
cat `which parallel` | ssh -oLogLevel=quiet $H 'cat > bin/parallel; chmod 755 bin/parallel'
|
||||||
|
}
|
||||||
|
export -f copy_to_host
|
||||||
|
stdout parallel -j0 --timeout 20 --tag -kj0 -v copy_to_host {} ::: $POLAR
|
||||||
# Now test
|
# Now test
|
||||||
echo 'Run the test on polarhome machines'
|
echo '### Run the test on polarhome machines'
|
||||||
stdout parallel --argsep // -k --tag ssh {} bin/parallel -k echo Works on ::: {} // $POLAR | sort
|
stdout parallel -j0 --argsep // -k --tag ssh -oLogLevel=quiet {} bin/perl bin/parallel -k echo Works on ::: {} // $POLAR
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
### Test if we can deal with output > 4 GB
|
### Test if we can deal with output > 4 GB
|
||||||
46a318993dfc8e2afd71ff2bc6f605f1 -
|
46a318993dfc8e2afd71ff2bc6f605f1 -
|
||||||
|
**
|
||||||
### Test Force outside the file handle limit, 2009-02-17 Gave fork error
|
### Test Force outside the file handle limit, 2009-02-17 Gave fork error
|
||||||
parallel: Warning: Only enough filehandles to run 506 jobs in parallel. Raising ulimit -n may help.
|
parallel: Warning: Only enough file handles to run 506 jobs in parallel.
|
||||||
|
Raising ulimit -n or /etc/security/limits.conf may help.
|
||||||
Start
|
Start
|
||||||
end
|
end
|
||||||
|
**
|
||||||
### Test of --retries on unreachable host
|
### Test of --retries on unreachable host
|
||||||
ssh: connect to host 4.3.2.1 port 22: Connection timed out
|
ssh: connect to host 4.3.2.1 port 22: Connection timed out
|
||||||
parallel: Warning: Could not figure out number of cpus on 4.3.2.1 (). Using 1.
|
parallel: Warning: Could not figure out number of cpus on 4.3.2.1 (). Using 1.
|
||||||
|
@ -11,6 +14,7 @@ echo 1
|
||||||
1
|
1
|
||||||
echo 2
|
echo 2
|
||||||
2
|
2
|
||||||
|
**
|
||||||
### Test race condition on 8 CPU (my laptop)
|
### Test race condition on 8 CPU (my laptop)
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
@ -22,14 +26,21 @@ echo 2
|
||||||
8
|
8
|
||||||
9
|
9
|
||||||
10
|
10
|
||||||
|
**
|
||||||
### Test exit val - true
|
### Test exit val - true
|
||||||
0
|
0
|
||||||
|
**
|
||||||
### Test exit val - false
|
### Test exit val - false
|
||||||
1
|
1
|
||||||
/bin/bash: non_exist: command not found
|
**
|
||||||
### Test --halt-on-error 0
|
### Test --halt-on-error 0
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
/bin/bash: non_exist: command not found
|
||||||
|
**
|
||||||
|
### Test --halt-on-error 1
|
||||||
|
1
|
||||||
|
127
|
||||||
parallel: Starting no more jobs. Waiting for 2 jobs to finish. This job failed:
|
parallel: Starting no more jobs. Waiting for 2 jobs to finish. This job failed:
|
||||||
sleep 2;false
|
sleep 2;false
|
||||||
/bin/bash: non_exist: command not found
|
/bin/bash: non_exist: command not found
|
||||||
|
@ -37,16 +48,17 @@ parallel: Starting no more jobs. Waiting for 3 jobs to finish. This job failed:
|
||||||
sleep 2;false
|
sleep 2;false
|
||||||
parallel: Starting no more jobs. Waiting for 1 jobs to finish. This job failed:
|
parallel: Starting no more jobs. Waiting for 1 jobs to finish. This job failed:
|
||||||
sleep 4; non_exist
|
sleep 4; non_exist
|
||||||
### Test --halt-on-error 1
|
**
|
||||||
1
|
|
||||||
127
|
|
||||||
parallel: This job failed:
|
|
||||||
sleep 2;false
|
|
||||||
parallel: This job failed:
|
|
||||||
sleep 2;false
|
|
||||||
### Test --halt-on-error 2
|
### Test --halt-on-error 2
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
parallel: This job failed:
|
||||||
|
sleep 2;false
|
||||||
|
parallel: This job failed:
|
||||||
|
sleep 2;false
|
||||||
|
**
|
||||||
|
### Test last dying print --halt-on-error 1
|
||||||
|
exit code 9
|
||||||
0
|
0
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
@ -76,13 +88,13 @@ parallel: Starting no more jobs. Waiting for 2 jobs to finish. This job failed:
|
||||||
perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 8
|
perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 8
|
||||||
parallel: Starting no more jobs. Waiting for 1 jobs to finish. This job failed:
|
parallel: Starting no more jobs. Waiting for 1 jobs to finish. This job failed:
|
||||||
perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 9
|
perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 9
|
||||||
|
### Test last dying print --halt-on-error 2
|
||||||
|
exit code 1
|
||||||
0
|
0
|
||||||
1
|
1
|
||||||
parallel: This job failed:
|
parallel: This job failed:
|
||||||
perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 1
|
perl -e sleep\ \$ARGV\[0\]\;print\ STDERR\ @ARGV,\"\\n\"\;\ exit\ shift 1
|
||||||
### Test last dying print --halt-on-error
|
**
|
||||||
9
|
|
||||||
1
|
|
||||||
### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834
|
### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
|
|
@ -24,19 +24,25 @@ a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||||
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||||
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||||
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||||
### Test --env for \n and \\ - single and double - no output is good
|
### Test --env for \n and \\ - single and double (bash only) - no output is good
|
||||||
2 1 10V2= 10
|
8
|
||||||
|
8
|
||||||
|
### Test --env for \n and \\ - single and double (*csh only) - no output is good
|
||||||
|
2 2\ \92V2=\ \92
|
||||||
|
2 2\\ \92V2=\\ \92
|
||||||
|
16 : Command not found.
|
||||||
|
8 Unmatched ".
|
||||||
|
16 \ : Command not found.
|
||||||
|
### Test --env for \n and \\ - single and double --onall (bash only) - no output is good
|
||||||
|
2 1
|
||||||
|
2 10
|
||||||
|
2 10V2=
|
||||||
|
2 2\\ \92V2=\\ \92
|
||||||
|
### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good
|
||||||
1 2\ \92V2=\ \92
|
1 2\ \92V2=\ \92
|
||||||
3 2\\ \92V2=\\ \92
|
1 2\\ \92V2=\\ \92
|
||||||
1 V: Undefined variable.
|
8 : Command not found.
|
||||||
1 export: Command not found.
|
4 Unmatched ".
|
||||||
2 setenv: Too many arguments.
|
8 \ : Command not found.
|
||||||
### Test --env for \n and \\ - single and double --onall - no output is good
|
|
||||||
2 1 10V2= 10
|
|
||||||
1 2\ \92V2=\ \92
|
|
||||||
3 2\\ \92V2=\\ \92
|
|
||||||
1 V: Undefined variable.
|
|
||||||
1 export: Command not found.
|
|
||||||
2 setenv: Too many arguments.
|
|
||||||
### Test --env for \160 - which kills csh - single and double - no output is good
|
### Test --env for \160 - which kills csh - single and double - no output is good
|
||||||
### Test --env for \160 - which kills csh - single and double --onall - no output is good
|
### Test --env for \160 - which kills csh - single and double --onall - no output is good
|
||||||
|
|
|
@ -36,16 +36,16 @@ Cores should complete first on machines with less than 4 physical CPUs
|
||||||
cores done
|
cores done
|
||||||
CPUs done
|
CPUs done
|
||||||
### Test --tag ::: a ::: b
|
### Test --tag ::: a ::: b
|
||||||
a b stderr-a b
|
|
||||||
a b stdout-a b
|
a b stdout-a b
|
||||||
|
a b stderr-a b
|
||||||
### Test --tag ::: a b
|
### Test --tag ::: a b
|
||||||
a stderr-a
|
|
||||||
a stdout-a
|
a stdout-a
|
||||||
b stderr-b
|
a stderr-a
|
||||||
b stdout-b
|
b stdout-b
|
||||||
|
b stderr-b
|
||||||
### Test --tag -X ::: a b
|
### Test --tag -X ::: a b
|
||||||
a b stderr-a stderr-b
|
|
||||||
a b stdout-a stdout-b
|
a b stdout-a stdout-b
|
||||||
|
a b stderr-a stderr-b
|
||||||
### Test bash redirection <()
|
### Test bash redirection <()
|
||||||
a
|
a
|
||||||
b
|
b
|
||||||
|
|
|
@ -1,282 +1,48 @@
|
||||||
### Tests on polarhome machines
|
### Tests on polarhome machines
|
||||||
Setup on polarhome machines
|
Setup on polarhome machines
|
||||||
Fedora release 17 (Beefy Miracle)
|
copy_to_host freebsd.polarhome.com
|
||||||
Welcome to RedHat/Fedora ...member of polarhome.com realm
|
copy_to_host solaris.polarhome.com
|
||||||
|
copy_to_host openbsd.polarhome.com
|
||||||
|
copy_to_host netbsd.polarhome.com
|
||||||
Fedora release 17 (Beefy Miracle)
|
copy_to_host debian.polarhome.com
|
||||||
Welcome to RedHat/Fedora ...member of polarhome.com realm
|
copy_to_host aix.polarhome.com
|
||||||
aix.polarhome.com
|
copy_to_host redhat.polarhome.com
|
||||||
aix.polarhome.com
|
copy_to_host hpux.polarhome.com
|
||||||
aix.polarhome.com Welcome to AIX7 ...member of polarhome.com realm
|
copy_to_host qnx.polarhome.com
|
||||||
aix.polarhome.com Welcome to AIX7 ...member of polarhome.com realm
|
copy_to_host irix.polarhome.com
|
||||||
centos.polarhome.com
|
copy_to_host openindiana.polarhome.com
|
||||||
centos.polarhome.com
|
copy_to_host suse.polarhome.com
|
||||||
centos.polarhome.com
|
copy_to_host mandriva.polarhome.com
|
||||||
centos.polarhome.com
|
copy_to_host ubuntu.polarhome.com
|
||||||
centos.polarhome.com CentOS release 5.6 (Final)
|
copy_to_host scosysv.polarhome.com
|
||||||
centos.polarhome.com CentOS release 5.6 (Final)
|
copy_to_host unixware.polarhome.com
|
||||||
centos.polarhome.com Welcome to CentOS ...member of polarhome.com realm
|
copy_to_host dragonfly.polarhome.com
|
||||||
centos.polarhome.com Welcome to CentOS ...member of polarhome.com realm
|
copy_to_host centos.polarhome.com
|
||||||
debian.polarhome.com
|
copy_to_host miros.polarhome.com
|
||||||
debian.polarhome.com
|
copy_to_host hurd.polarhome.com
|
||||||
debian.polarhome.com
|
copy_to_host minix.polarhome.com
|
||||||
debian.polarhome.com
|
copy_to_host raspberrypi.polarhome.com
|
||||||
debian.polarhome.com Debian GNU/Linux 6.0.2 (squeeze)
|
### Run the test on polarhome machines
|
||||||
debian.polarhome.com Debian GNU/Linux 6.0.2 (squeeze)
|
|
||||||
debian.polarhome.com Welcome to debian ...member of polarhome.com realm
|
|
||||||
debian.polarhome.com Welcome to debian ...member of polarhome.com realm
|
|
||||||
dragonfly.polarhome.com
|
|
||||||
dragonfly.polarhome.com
|
|
||||||
dragonfly.polarhome.com
|
|
||||||
dragonfly.polarhome.com
|
|
||||||
dragonfly.polarhome.com DragonFly v2.10.1.1
|
|
||||||
dragonfly.polarhome.com DragonFly v2.10.1.1
|
|
||||||
dragonfly.polarhome.com Welcome to DragonFly ...member of polarhome.com realm
|
|
||||||
dragonfly.polarhome.com Welcome to DragonFly ...member of polarhome.com realm
|
|
||||||
freebsd.polarhome.com
|
|
||||||
freebsd.polarhome.com
|
|
||||||
freebsd.polarhome.com
|
|
||||||
freebsd.polarhome.com
|
|
||||||
freebsd.polarhome.com FreeBSD 8.2
|
|
||||||
freebsd.polarhome.com FreeBSD 8.2
|
|
||||||
freebsd.polarhome.com Welcome to FreeBSD ...member of polarhome.com realm
|
|
||||||
freebsd.polarhome.com Welcome to FreeBSD ...member of polarhome.com realm
|
|
||||||
hpux.polarhome.com
|
|
||||||
hpux.polarhome.com
|
|
||||||
hpux.polarhome.com
|
|
||||||
hpux.polarhome.com
|
|
||||||
hpux.polarhome.com HP-UX hpux.polarhome.com B.11.11 U 9000/785 (ta)
|
|
||||||
hpux.polarhome.com HP-UX hpux.polarhome.com B.11.11 U 9000/785 (ta)
|
|
||||||
hpux.polarhome.com Welcome to HPUX... member of polarhome.com realm
|
|
||||||
hpux.polarhome.com Welcome to HPUX... member of polarhome.com realm
|
|
||||||
hurd.polarhome.com
|
|
||||||
hurd.polarhome.com
|
|
||||||
hurd.polarhome.com
|
|
||||||
hurd.polarhome.com
|
|
||||||
hurd.polarhome.com Debian GNU/Hurd wheezy/sid
|
|
||||||
hurd.polarhome.com Debian GNU/Hurd wheezy/sid
|
|
||||||
hurd.polarhome.com Welcome to hurd ...member of polarhome.com realm.
|
|
||||||
hurd.polarhome.com Welcome to hurd ...member of polarhome.com realm.
|
|
||||||
irix.polarhome.com
|
|
||||||
irix.polarhome.com
|
|
||||||
irix.polarhome.com IRIX64 6.5 07202013 IP35
|
|
||||||
irix.polarhome.com IRIX64 6.5 07202013 IP35
|
|
||||||
irix.polarhome.com Welcome to irix ...member of polarhome.com realm
|
|
||||||
irix.polarhome.com Welcome to irix ...member of polarhome.com realm
|
|
||||||
mandriva.polarhome.com
|
|
||||||
mandriva.polarhome.com
|
|
||||||
mandriva.polarhome.com
|
|
||||||
mandriva.polarhome.com
|
|
||||||
mandriva.polarhome.com Mandriva Linux release 2010.2 (Official) for x86_64
|
|
||||||
mandriva.polarhome.com Mandriva Linux release 2010.2 (Official) for x86_64
|
|
||||||
mandriva.polarhome.com Welcome to Mandrake/Mandriva ...member of polarhome.com realm
|
|
||||||
mandriva.polarhome.com Welcome to Mandrake/Mandriva ...member of polarhome.com realm
|
|
||||||
netbsd.polarhome.com
|
|
||||||
netbsd.polarhome.com
|
|
||||||
netbsd.polarhome.com
|
|
||||||
netbsd.polarhome.com
|
|
||||||
netbsd.polarhome.com NetBSD 5.1
|
|
||||||
netbsd.polarhome.com NetBSD 5.1
|
|
||||||
netbsd.polarhome.com Welcome to NetBSD ...member of polarhome.com realm
|
|
||||||
netbsd.polarhome.com Welcome to NetBSD ...member of polarhome.com realm
|
|
||||||
openbsd.polarhome.com
|
|
||||||
openbsd.polarhome.com
|
|
||||||
openbsd.polarhome.com
|
|
||||||
openbsd.polarhome.com
|
|
||||||
openbsd.polarhome.com OpenBSD 4.9
|
|
||||||
openbsd.polarhome.com OpenBSD 4.9
|
|
||||||
openbsd.polarhome.com Welcome to OpenBSD ...member of polarhome.com realm
|
|
||||||
openbsd.polarhome.com Welcome to OpenBSD ...member of polarhome.com realm
|
|
||||||
openindiana.polarhome.com
|
|
||||||
openindiana.polarhome.com
|
|
||||||
openindiana.polarhome.com
|
|
||||||
openindiana.polarhome.com
|
|
||||||
openindiana.polarhome.com OpenIndiana SunOS 5.11
|
|
||||||
openindiana.polarhome.com OpenIndiana SunOS 5.11
|
|
||||||
openindiana.polarhome.com Welcome to OpenIndiana ...member of polarhome.com realm
|
|
||||||
openindiana.polarhome.com Welcome to OpenIndiana ...member of polarhome.com realm
|
|
||||||
qnx.polarhome.com
|
|
||||||
qnx.polarhome.com
|
|
||||||
qnx.polarhome.com
|
|
||||||
qnx.polarhome.com
|
|
||||||
qnx.polarhome.com QNX 6.5.0
|
|
||||||
qnx.polarhome.com QNX 6.5.0
|
|
||||||
qnx.polarhome.com Welcome to QNX ...member of polarhome.com realm
|
|
||||||
qnx.polarhome.com Welcome to QNX ...member of polarhome.com realm
|
|
||||||
raspberrypi.polarhome.com
|
|
||||||
raspberrypi.polarhome.com
|
|
||||||
raspberrypi.polarhome.com Debian GNU/Linux 6.0
|
|
||||||
raspberrypi.polarhome.com Debian GNU/Linux 6.0
|
|
||||||
raspberrypi.polarhome.com RaspberryPi/bcm2708 reference 2.0
|
|
||||||
raspberrypi.polarhome.com RaspberryPi/bcm2708 reference 2.0
|
|
||||||
raspberrypi.polarhome.com Welcome to raspberrypi ...member of polarhome.com realm
|
|
||||||
raspberrypi.polarhome.com Welcome to raspberrypi ...member of polarhome.com realm
|
|
||||||
scosysv.polarhome.com
|
|
||||||
scosysv.polarhome.com
|
|
||||||
scosysv.polarhome.com SCO OpenServer(TM) Release 6
|
|
||||||
scosysv.polarhome.com SCO OpenServer(TM) Release 6
|
|
||||||
scosysv.polarhome.com Welcome to scosysv ...member of polarhome.com realm
|
|
||||||
scosysv.polarhome.com Welcome to scosysv ...member of polarhome.com realm
|
|
||||||
solaris.polarhome.com
|
|
||||||
solaris.polarhome.com
|
|
||||||
solaris.polarhome.com
|
|
||||||
solaris.polarhome.com
|
|
||||||
solaris.polarhome.com SUN Ultra-5
|
|
||||||
solaris.polarhome.com SUN Ultra-5
|
|
||||||
solaris.polarhome.com SunOS 5.10
|
|
||||||
solaris.polarhome.com SunOS 5.10
|
|
||||||
solaris.polarhome.com Welcome to Solaris ...member of polarhome.com realm
|
|
||||||
solaris.polarhome.com Welcome to Solaris ...member of polarhome.com realm
|
|
||||||
ssh aix.polarhome.com rm -f bin/parallel;scp bin/parallel aix.polarhome.com:bin/
|
|
||||||
ssh centos.polarhome.com rm -f bin/parallel;scp bin/parallel centos.polarhome.com:bin/
|
|
||||||
ssh debian.polarhome.com rm -f bin/parallel;scp bin/parallel debian.polarhome.com:bin/
|
|
||||||
ssh dragonfly.polarhome.com rm -f bin/parallel;scp bin/parallel dragonfly.polarhome.com:bin/
|
|
||||||
ssh freebsd.polarhome.com rm -f bin/parallel;scp bin/parallel freebsd.polarhome.com:bin/
|
|
||||||
ssh hpux.polarhome.com rm -f bin/parallel;scp bin/parallel hpux.polarhome.com:bin/
|
|
||||||
ssh hurd.polarhome.com rm -f bin/parallel;scp bin/parallel hurd.polarhome.com:bin/
|
|
||||||
ssh irix.polarhome.com rm -f bin/parallel;scp bin/parallel irix.polarhome.com:bin/
|
|
||||||
ssh mandriva.polarhome.com rm -f bin/parallel;scp bin/parallel mandriva.polarhome.com:bin/
|
|
||||||
ssh minix.polarhome.com rm -f bin/parallel;scp bin/parallel minix.polarhome.com:bin/
|
|
||||||
ssh netbsd.polarhome.com rm -f bin/parallel;scp bin/parallel netbsd.polarhome.com:bin/
|
|
||||||
ssh openbsd.polarhome.com rm -f bin/parallel;scp bin/parallel openbsd.polarhome.com:bin/
|
|
||||||
ssh openindiana.polarhome.com rm -f bin/parallel;scp bin/parallel openindiana.polarhome.com:bin/
|
|
||||||
ssh qnx.polarhome.com rm -f bin/parallel;scp bin/parallel qnx.polarhome.com:bin/
|
|
||||||
ssh raspberrypi.polarhome.com rm -f bin/parallel;scp bin/parallel raspberrypi.polarhome.com:bin/
|
|
||||||
ssh scosysv.polarhome.com rm -f bin/parallel;scp bin/parallel scosysv.polarhome.com:bin/
|
|
||||||
ssh solaris.polarhome.com rm -f bin/parallel;scp bin/parallel solaris.polarhome.com:bin/
|
|
||||||
ssh suse.polarhome.com rm -f bin/parallel;scp bin/parallel suse.polarhome.com:bin/
|
|
||||||
ssh ubuntu.polarhome.com rm -f bin/parallel;scp bin/parallel ubuntu.polarhome.com:bin/
|
|
||||||
ssh ultrix.polarhome.com rm -f bin/parallel;scp bin/parallel ultrix.polarhome.com:bin/
|
|
||||||
ssh unixware.polarhome.com rm -f bin/parallel;scp bin/parallel unixware.polarhome.com:bin/
|
|
||||||
suse.polarhome.com
|
|
||||||
suse.polarhome.com
|
|
||||||
suse.polarhome.com
|
|
||||||
suse.polarhome.com
|
|
||||||
suse.polarhome.com Welcome to SuSE/openSUSE ...member of polarhome.com realm
|
|
||||||
suse.polarhome.com Welcome to SuSE/openSUSE ...member of polarhome.com realm
|
|
||||||
suse.polarhome.com openSUSE 11.4 "Celadon"
|
|
||||||
suse.polarhome.com openSUSE 11.4 "Celadon"
|
|
||||||
ubuntu.polarhome.com
|
|
||||||
ubuntu.polarhome.com
|
|
||||||
ubuntu.polarhome.com
|
|
||||||
ubuntu.polarhome.com
|
|
||||||
ubuntu.polarhome.com Ubuntu 10.04.2 LTS
|
|
||||||
ubuntu.polarhome.com Ubuntu 10.04.2 LTS
|
|
||||||
ubuntu.polarhome.com Welcome to Ubuntu ...member of polarhome.com realm
|
|
||||||
ubuntu.polarhome.com Welcome to Ubuntu ...member of polarhome.com realm
|
|
||||||
unixware.polarhome.com
|
|
||||||
unixware.polarhome.com
|
|
||||||
unixware.polarhome.com SCO UnixWare 7.1.4
|
|
||||||
unixware.polarhome.com SCO UnixWare 7.1.4
|
|
||||||
unixware.polarhome.com Welcome to unixware ...member of polarhome.com realm
|
|
||||||
unixware.polarhome.com Welcome to unixware ...member of polarhome.com realm
|
|
||||||
Run the test on polarhome machines
|
|
||||||
aix.polarhome.com
|
|
||||||
aix.polarhome.com Welcome to AIX7 ...member of polarhome.com realm
|
|
||||||
aix.polarhome.com Works on aix.polarhome.com
|
|
||||||
centos.polarhome.com
|
|
||||||
centos.polarhome.com
|
|
||||||
centos.polarhome.com CentOS release 5.6 (Final)
|
|
||||||
centos.polarhome.com Welcome to CentOS ...member of polarhome.com realm
|
|
||||||
centos.polarhome.com Works on centos.polarhome.com
|
|
||||||
debian.polarhome.com
|
|
||||||
debian.polarhome.com
|
|
||||||
debian.polarhome.com Debian GNU/Linux 6.0.2 (squeeze)
|
|
||||||
debian.polarhome.com Welcome to debian ...member of polarhome.com realm
|
|
||||||
debian.polarhome.com Works on debian.polarhome.com
|
|
||||||
dragonfly.polarhome.com
|
|
||||||
dragonfly.polarhome.com
|
|
||||||
dragonfly.polarhome.com DragonFly v2.10.1.1
|
|
||||||
dragonfly.polarhome.com Welcome to DragonFly ...member of polarhome.com realm
|
|
||||||
dragonfly.polarhome.com Works on dragonfly.polarhome.com
|
|
||||||
freebsd.polarhome.com
|
|
||||||
freebsd.polarhome.com
|
|
||||||
freebsd.polarhome.com FreeBSD 8.2
|
|
||||||
freebsd.polarhome.com Welcome to FreeBSD ...member of polarhome.com realm
|
|
||||||
freebsd.polarhome.com Works on freebsd.polarhome.com
|
freebsd.polarhome.com Works on freebsd.polarhome.com
|
||||||
hpux.polarhome.com
|
solaris.polarhome.com Works on solaris.polarhome.com
|
||||||
hpux.polarhome.com
|
|
||||||
hpux.polarhome.com HP-UX hpux.polarhome.com B.11.11 U 9000/785 (ta)
|
|
||||||
hpux.polarhome.com No such file or directory: perl
|
|
||||||
hpux.polarhome.com Welcome to HPUX... member of polarhome.com realm
|
|
||||||
hurd.polarhome.com
|
|
||||||
hurd.polarhome.com
|
|
||||||
hurd.polarhome.com Debian GNU/Hurd wheezy/sid
|
|
||||||
hurd.polarhome.com Welcome to hurd ...member of polarhome.com realm.
|
|
||||||
hurd.polarhome.com Works on hurd.polarhome.com
|
|
||||||
irix.polarhome.com
|
|
||||||
irix.polarhome.com IRIX64 6.5 07202013 IP35
|
|
||||||
irix.polarhome.com Unknown open() mode '>&' at bin/parallel line 1310.
|
|
||||||
irix.polarhome.com Welcome to irix ...member of polarhome.com realm
|
|
||||||
mandriva.polarhome.com
|
|
||||||
mandriva.polarhome.com
|
|
||||||
mandriva.polarhome.com Mandriva Linux release 2010.2 (Official) for x86_64
|
|
||||||
mandriva.polarhome.com Welcome to Mandrake/Mandriva ...member of polarhome.com realm
|
|
||||||
mandriva.polarhome.com Works on mandriva.polarhome.com
|
|
||||||
minix.polarhome.com Works on minix.polarhome.com
|
|
||||||
netbsd.polarhome.com
|
|
||||||
netbsd.polarhome.com
|
|
||||||
netbsd.polarhome.com NetBSD 5.1
|
|
||||||
netbsd.polarhome.com Welcome to NetBSD ...member of polarhome.com realm
|
|
||||||
netbsd.polarhome.com Works on netbsd.polarhome.com
|
|
||||||
openbsd.polarhome.com
|
|
||||||
openbsd.polarhome.com
|
|
||||||
openbsd.polarhome.com OpenBSD 4.9
|
|
||||||
openbsd.polarhome.com Welcome to OpenBSD ...member of polarhome.com realm
|
|
||||||
openbsd.polarhome.com Works on openbsd.polarhome.com
|
openbsd.polarhome.com Works on openbsd.polarhome.com
|
||||||
openindiana.polarhome.com
|
netbsd.polarhome.com Works on netbsd.polarhome.com
|
||||||
openindiana.polarhome.com
|
debian.polarhome.com Works on debian.polarhome.com
|
||||||
openindiana.polarhome.com OpenIndiana SunOS 5.11
|
aix.polarhome.com Works on aix.polarhome.com
|
||||||
openindiana.polarhome.com Welcome to OpenIndiana ...member of polarhome.com realm
|
redhat.polarhome.com Works on redhat.polarhome.com
|
||||||
|
hpux.polarhome.com Works on hpux.polarhome.com
|
||||||
|
qnx.polarhome.com Works on qnx.polarhome.com
|
||||||
|
qnx.polarhome.com parallel: Warning: Cannot figure out number of CPU cores. Using 1.
|
||||||
|
irix.polarhome.com Unknown open() mode '>&=' at bin/parallel line 1316.
|
||||||
openindiana.polarhome.com Works on openindiana.polarhome.com
|
openindiana.polarhome.com Works on openindiana.polarhome.com
|
||||||
openindiana.polarhome.com parallel: Warning: Cannot figure out number of CPU cores. Using 1.
|
openindiana.polarhome.com parallel: Warning: Cannot figure out number of CPU cores. Using 1.
|
||||||
qnx.polarhome.com
|
|
||||||
qnx.polarhome.com
|
|
||||||
qnx.polarhome.com QNX 6.5.0
|
|
||||||
qnx.polarhome.com Welcome to QNX ...member of polarhome.com realm
|
|
||||||
qnx.polarhome.com perl: No such file or directory
|
|
||||||
raspberrypi.polarhome.com
|
|
||||||
raspberrypi.polarhome.com
|
|
||||||
raspberrypi.polarhome.com CentOS release 5.6 (Final)
|
|
||||||
raspberrypi.polarhome.com Welcome to CentOS ...member of polarhome.com realm
|
|
||||||
raspberrypi.polarhome.com Works on raspberrypi.polarhome.com
|
|
||||||
scosysv.polarhome.com
|
|
||||||
scosysv.polarhome.com SCO OpenServer(TM) Release 6
|
|
||||||
scosysv.polarhome.com Welcome to scosysv ...member of polarhome.com realm
|
|
||||||
scosysv.polarhome.com Works on scosysv.polarhome.com
|
|
||||||
solaris.polarhome.com
|
|
||||||
solaris.polarhome.com
|
|
||||||
solaris.polarhome.com SUN Ultra-5
|
|
||||||
solaris.polarhome.com SunOS 5.10
|
|
||||||
solaris.polarhome.com Welcome to Solaris ...member of polarhome.com realm
|
|
||||||
solaris.polarhome.com Works on solaris.polarhome.com
|
|
||||||
suse.polarhome.com
|
|
||||||
suse.polarhome.com
|
|
||||||
suse.polarhome.com Welcome to SuSE/openSUSE ...member of polarhome.com realm
|
|
||||||
suse.polarhome.com Works on suse.polarhome.com
|
suse.polarhome.com Works on suse.polarhome.com
|
||||||
suse.polarhome.com openSUSE 11.4 "Celadon"
|
mandriva.polarhome.com Works on mandriva.polarhome.com
|
||||||
ubuntu.polarhome.com
|
|
||||||
ubuntu.polarhome.com
|
|
||||||
ubuntu.polarhome.com Ubuntu 10.04.2 LTS
|
|
||||||
ubuntu.polarhome.com Welcome to Ubuntu ...member of polarhome.com realm
|
|
||||||
ubuntu.polarhome.com Works on ubuntu.polarhome.com
|
ubuntu.polarhome.com Works on ubuntu.polarhome.com
|
||||||
ultrix.polarhome.com BEGIN failed--compilation aborted at File/Temp.pm line 148.
|
scosysv.polarhome.com Works on scosysv.polarhome.com
|
||||||
ultrix.polarhome.com BEGIN failed--compilation aborted at bin/parallel line 28.
|
|
||||||
ultrix.polarhome.com BEGIN not safe after errors--compilation aborted at Errno.pm line 188.
|
|
||||||
ultrix.polarhome.com Global symbol "EXPORT_OK" requires explicit package name at Errno.pm line 14.
|
|
||||||
ultrix.polarhome.com Global symbol "EXPORT_TAGS" requires explicit package name at Errno.pm line 32.
|
|
||||||
ultrix.polarhome.com Global symbol "ISA" requires explicit package name at Errno.pm line 12.
|
|
||||||
ultrix.polarhome.com Global symbol "VERSION" requires explicit package name at Errno.pm line 10.
|
|
||||||
ultrix.polarhome.com Global symbol "VERSION" requires explicit package name at Errno.pm line 11.
|
|
||||||
ultrix.polarhome.com Global symbol "VERSION" requires explicit package name at Errno.pm line 11.
|
|
||||||
ultrix.polarhome.com Variable "$VERSION" is not imported at Errno.pm line 10.
|
|
||||||
ultrix.polarhome.com Variable "$VERSION" is not imported at Errno.pm line 11.
|
|
||||||
ultrix.polarhome.com Variable "$VERSION" is not imported at Errno.pm line 11.
|
|
||||||
ultrix.polarhome.com Variable "%EXPORT_TAGS" is not imported at Errno.pm line 32.
|
|
||||||
ultrix.polarhome.com Variable "@EXPORT_OK" is not imported at Errno.pm line 14.
|
|
||||||
ultrix.polarhome.com Variable "@ISA" is not imported at Errno.pm line 12.
|
|
||||||
unixware.polarhome.com
|
|
||||||
unixware.polarhome.com SCO UnixWare 7.1.4
|
|
||||||
unixware.polarhome.com Welcome to unixware ...member of polarhome.com realm
|
|
||||||
unixware.polarhome.com Works on unixware.polarhome.com
|
unixware.polarhome.com Works on unixware.polarhome.com
|
||||||
|
dragonfly.polarhome.com Works on dragonfly.polarhome.com
|
||||||
|
centos.polarhome.com Works on centos.polarhome.com
|
||||||
|
miros.polarhome.com Works on miros.polarhome.com
|
||||||
|
hurd.polarhome.com Works on hurd.polarhome.com
|
||||||
|
minix.polarhome.com Works on minix.polarhome.com
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
### Test -k
|
### Test -k
|
||||||
parallel: Warning: Only enough filehandles to run 19 jobs in parallel. Raising ulimit -n may help.
|
parallel: Warning: Only enough file handles to run 19 jobs in parallel.
|
||||||
|
Raising ulimit -n or /etc/security/limits.conf may help.
|
||||||
begin
|
begin
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
@ -17,6 +18,7 @@ begin
|
||||||
14
|
14
|
||||||
15
|
15
|
||||||
16
|
16
|
||||||
|
parallel: Warning: No more file handles. Raising ulimit -n or /etc/security/limits.conf may help.
|
||||||
17
|
17
|
||||||
18
|
18
|
||||||
19
|
19
|
||||||
|
|
Loading…
Reference in a new issue