#!/usr/local/bin/perl -w
BEGIN { $|=1; print "1..6\n" }
END { print("not ok 1\n"),exit 1 unless $loaded }
use File::Rsync;
use strict;
use vars qw($loaded $fail);
$loaded=1;
$fail=0;
print STDERR "\nNOTE: expect 'badoption' message for test 6\n\n";
print "ok 1\n";
system qw(rm -rf destdir);
# all in one
{
my $rs=File::Rsync->new(archive => 1,
src => 'blib', dest => 'destdir');
unless ($rs) {
print "not ";
} else {
my $ret=$rs->exec;
($ret == 1 && $rs->status == 0 && ! $rs->err) || ($fail++,print "not ");
}
print "ok 2\n";
}
system qw(rm -rf destdir);
# some in new, some in exec
{
my $rs=File::Rsync->new(archive => 1);
unless ($rs) {
$fail++;
print "not ";
} else {
my $ret=$rs->exec(src => 'blib', dest => 'destdir');
($ret == 1 && $rs->status == 0 && ! $rs->err) || ($fail++,print "not ");
}
print "ok 3\n";
}
system qw(rm -rf destdir);
# non-existant source
{
my $rs=File::Rsync->new(archive => 1);
unless ($rs) {
$fail++;
print "not ";
} else {
no strict;
my $ret=$rs->exec(src => 'some-non-existant-path-name', dest => 'destdir');
(@{$rs->err} >= 1
&& $rs->err->[0] =~ /\bNo such file or directory\b/i)
|| ($fail++,print "not ");
}
print "ok 4\n";
}
system qw(rm -rf destdir);
# non-existant destination
{
my $rs=File::Rsync->new(archive => 1);
unless ($rs) {
$fail++;
print "not ";
} else {
no strict;
my $ret=$rs->exec(src => 'blib', dest => 'destdir/subdir');
($ret == 0
&& $rs->status != 0
&& @{$rs->err} > 0
&& ${$rs->err}[0] =~/\bNo such file or directory\b/i)
|| ($fail++,print "not ");
}
print "ok 5\n";
}
system qw(rm -rf destdir);
# invalid option
{
my $rs=File::Rsync->new(archive => 1, badoption => 1);
$rs && ($fail++,print "not ");
print "ok 6\n";
}
system qw(rm -rf destdir);
exit 1 if $fail;