X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FObject-Remote.git;a=blobdiff_plain;f=xt%2Flocal-sudo.t;fp=xt%2Flocal-sudo.t;h=c1f3d3ae30aa188fed7ebb785d5e3e6811b211d0;hp=b1a7fa6fee4ba630deb7b831dc5ff1ef405f27b8;hb=dac97b35627e705e87c7b9130b1c60d8ef217334;hpb=7efea51f193cf42822232047403138ef98abcc32 diff --git a/xt/local-sudo.t b/xt/local-sudo.t index b1a7fa6..c1f3d3a 100644 --- a/xt/local-sudo.t +++ b/xt/local-sudo.t @@ -1,13 +1,24 @@ +use IO::Prompter; # dies, utterly, if loaded after strictures, no idea why use strictures 1; use Test::More; use lib 'xt/lib'; use Object::Remote; +use Object::Remote::Connector::LocalSudo; + my $user = $ENV{TEST_SUDOUSER} or plan skip_all => q{Requires TEST_SUDOUSER to be set}; -my $remote = TestFindUser->new::on($user . '@'); +my $pw; + +my $connector = Object::Remote::Connector::LocalSudo->new( + password_callback => sub { + $pw ||= prompt 'Sudo password', -echo => '*'; + } +); + +my $remote = TestFindUser->new::on($connector->connect($user)); my $remote_user = $remote->user; like $remote_user, qr/^\d+$/, 'returned an int'; isnt $remote_user, $<, 'ran as different user';