Apache-Logmonster

 view release on metacpan or  search on metacpan

t/Utility.t  view on Meta::CPAN

    'regexp_test'
);



# parse_line 
my ( $foo, $bar ) = $util->parse_line( ' localhost1 = localhost, disk, da0, disk_da0 ' );
ok( $foo eq "localhost1", 'parse_line lead & trailing whitespace' );
ok( $bar eq "localhost, disk, da0, disk_da0", 'parse_line lead & trailing whitespace' );

( $foo, $bar ) = $util->parse_line( 'localhost1=localhost, disk, da0, disk_da0' );
ok( $foo eq "localhost1", 'parse_line no whitespace' );
ok( $bar eq "localhost, disk, da0, disk_da0", 'parse_line no whitespace' );

( $foo, $bar ) = $util->parse_line( ' htmldir = /usr/local/www/toaster ' );
ok( $foo && $bar, 'parse_line' );

( $foo, $bar )
    = $util->parse_line( ' hosts   = localhost lab.simerson.net seattle.simerson.net ' );
    ok( $foo eq "hosts", 'parse_line' );
    ok( $bar eq "localhost lab.simerson.net seattle.simerson.net", 'parse_line' );


# parse_config
# this fails because the filename is wrong
    ok( !$util->parse_config( 'logmuster.conf',
                debug => 0,
                fatal => 0
                ),
            'parse_config invalid filename'
      );

# this works because find_config will check for -dist in the local dir
    my $conf;
    ok( $conf = $util->parse_config( 'logmonster.conf',
                debug => 0,
                fatal => 0
                ),
            'parse_config correct'
      );


# sources_get
# do I really want a test script downloading stuff? probably not.

# source_warning
ok( $util->source_warning( package => 'foo' ), 'source_warning' );

# sudo
if ( !$< == 0 && $sudo_bin && -x $sudo_bin ) {
    ok( $util->sudo(), 'sudo' );
}
else {
    ok( !$util->sudo( fatal => 0 ), 'sudo' );
}

$log->dump_audit( quiet => 1 );
$log->{last_error} = scalar @{$log->{errors}};

# syscmd
my $tmpfile = '/tmp/provision-unix-test';
ok( $util->syscmd( "touch $tmpfile", fatal => 0 ), 'syscmd +');
ok( ! $util->syscmd( "rm $tmpfile.nonexist", fatal => 0,debug=>0 ), 'syscmd -');
ok( ! $util->syscmd( "rm $tmpfile.nonexist", fatal => 0,,debug=>0, timeout=>1), 'syscmd - (w/timeout)');
ok( $util->syscmd( "rm $tmpfile", fatal => 0, ), 'syscmd +');
    ok( $util->syscmd( "$rm $tmp/maildrop-qmail-domain", fatal => 0, ),
        'syscmd +'
) if ( $network && -f "$tmp/maildrop-qmail-domain" );

# file_delete
ok( $util->file_delete( $backup ), 'file_delete' );
ok( !$util->file_delete( $backup, fatal => 0 ), 'file_delete' );

ok( $util->file_delete( $rwtest       ), 'file_delete' );
ok( $util->file_delete( "$rwtest.md5" ), 'file_delete' );

ok( $util->clean_tmp_dir( $tmp ), 'clean_tmp_dir' );


# yes_or_no
ok( $util->yes_or_no( "test", timeout => 5 ), 'yes_or_no' );

done_testing();



( run in 2.313 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )