start at 0.3.1 instead of 0.3.0
[scpubgit/Object-Remote.git] / t / perl_execute.t
CommitLineData
f129bfaf 1use strictures 1;
2use Test::More;
3
4use Data::Dumper;
5
6require 't/logsetup.pl';
7
8use Object::Remote::Connector::Local;
9use Object::Remote::Connector::SSH;
10
11my $defaults = Object::Remote::Connector::Local->new;
12
13my $normal = $defaults->final_perl_command;
466ee2c4 14my $ulimit = Object::Remote::Connector::Local->new(ulimit => "-v 536")->final_perl_command;
f129bfaf 15my $nice = Object::Remote::Connector::Local->new(nice => 834)->final_perl_command;
466ee2c4 16my $both = Object::Remote::Connector::Local->new(nice => 612, ulimit => "-v 913")->final_perl_command;
17my $ssh = Object::Remote::Connector::SSH->new(nice => 494, ulimit => "-v 782", ssh_to => 'testhost')->final_perl_command;
f129bfaf 18
466ee2c4 19is($defaults->timeout, 10, 'Default connection timeout value is correct');
f129bfaf 20is($defaults->watchdog_timeout, undef, 'Watchdog is not enabled by default');
21is($defaults->nice, undef, 'Nice is not enabled by default');
22is($defaults->ulimit, undef, 'Ulimit is not enabled by default');
23is($defaults->stderr, undef, 'Child process STDERR is clone of parent process STDERR by default');
24
466ee2c4 25is_deeply($normal, ['bash', '-c', 'perl -'], 'Default Perl interpreter arguments correct');
26is_deeply($ulimit, ['bash', '-c', 'ulimit -v 536 || exit 1; perl -'], 'Arguments for ulimit are correct');
27is_deeply($nice, ['bash', '-c', 'nice -n 834 perl -'], 'Arguments for nice are correct');
28is_deeply($both, ['bash', '-c', 'ulimit -v 913 || exit 1; nice -n 612 perl -'], 'Arguments for nice and ulimit are correct');
29is_deeply($ssh, [qw(ssh -A testhost), "bash -c 'ulimit -v 782 || exit 1; nice -n 494 perl -'"], "Arguments using ssh are correct");
f129bfaf 30
31done_testing;
32