1###########################################
2# Test Suite for RRDs appenders
3# Mike Schilli, 2004 (m@perlmeister.com)
4###########################################
5
6BEGIN { 
7    if($ENV{INTERNAL_DEBUG}) {
8        require Log::Log4perl::InternalDebug;
9        Log::Log4perl::InternalDebug->enable();
10    }
11}
12
13use warnings;
14use strict;
15
16use Test::More;
17
18use Log::Log4perl qw(get_logger);
19    
20my $DB = "myrrddb.dat";
21    
22BEGIN { eval 'require RRDs';
23        if($@) {
24            plan skip_all => "(RRDs not installed)";
25            exit 0;
26        } else {
27            plan tests => 1;
28        }
29      };
30END { unlink $DB };
31
32use RRDs;
33
34RRDs::create(
35  $DB, "--step=1",
36  "DS:myvalue:GAUGE:2:U:U",
37  "RRA:MAX:0.5:1:120");
38    
39Log::Log4perl->init(\qq{
40  log4perl.category = INFO, RRDapp
41  log4perl.appender.RRDapp = Log::Log4perl::Appender::RRDs
42  log4perl.appender.RRDapp.dbname = $DB
43  log4perl.appender.RRDapp.layout = Log::Log4perl::Layout::PatternLayout
44  log4perl.appender.RRDapp.layout.ConversionPattern = N:%m
45});
46    
47my $logger = get_logger();
48    
49for(10, 15, 20) {
50    $logger->info($_);
51    sleep 1;
52}
53
54my ($start,$step,$names,$data) = 
55    RRDs::fetch($DB, "MAX", 
56                "--start" => time() - 20);
57$data = join ' - ', map { "@$_" } grep { defined $_->[0] } @$data;
58#print $data;
59
60like($data, qr/\d\d/); 
61