X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FObject-Remote.git;a=blobdiff_plain;f=t%2Fperl_execute.t;fp=t%2Fperl_execute.t;h=3777485d99477dbd8ed6d1eb66b8462d25993c4a;hp=0000000000000000000000000000000000000000;hb=f129bfaf05b1ae0e2e2992cad47a70482dec9885;hpb=624072a8803b6bb08260ff6f2b7fcb0dc05dd190 diff --git a/t/perl_execute.t b/t/perl_execute.t new file mode 100644 index 0000000..3777485 --- /dev/null +++ b/t/perl_execute.t @@ -0,0 +1,32 @@ +use strictures 1; +use Test::More; + +use Data::Dumper; + +require 't/logsetup.pl'; + +use Object::Remote::Connector::Local; +use Object::Remote::Connector::SSH; + +my $defaults = Object::Remote::Connector::Local->new; + +my $normal = $defaults->final_perl_command; +my $ulimit = Object::Remote::Connector::Local->new(ulimit => 536)->final_perl_command; +my $nice = Object::Remote::Connector::Local->new(nice => 834)->final_perl_command; +my $both = Object::Remote::Connector::Local->new(nice => 612, ulimit => 913)->final_perl_command; +my $ssh = Object::Remote::Connector::SSH->new(nice => 494, ulimit => 782, ssh_to => 'testhost')->final_perl_command; + +is($defaults->timeout->{after}, 10, 'Default connection timeout value is correct'); +is($defaults->watchdog_timeout, undef, 'Watchdog is not enabled by default'); +is($defaults->nice, undef, 'Nice is not enabled by default'); +is($defaults->ulimit, undef, 'Ulimit is not enabled by default'); +is($defaults->stderr, undef, 'Child process STDERR is clone of parent process STDERR by default'); + +is_deeply($normal, ['sh -c "perl -"'], 'Default Perl interpreter arguments correct'); +is_deeply($ulimit, ['sh -c "ulimit -v 536; perl -"'], 'Arguments for ulimit are correct'); +is_deeply($nice, ['sh -c "nice -n 834 perl -"'], 'Arguments for nice are correct'); +is_deeply($both, ['sh -c "ulimit -v 913; nice -n 612 perl -"'], 'Arguments for nice and ulimit are correct'); +is_deeply($ssh, [qw(ssh -A testhost), 'sh -c "ulimit -v 782; nice -n 494 perl -"'], "Arguments using ssh are correct"); + +done_testing; +