diff options
Diffstat (limited to 't/53_status.t')
-rw-r--r-- | t/53_status.t | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/t/53_status.t b/t/53_status.t new file mode 100644 index 0000000..ec8fc29 --- /dev/null +++ b/t/53_status.t @@ -0,0 +1,53 @@ +#!/usr/bin/perl + +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +use t::lib::Test qw/connect_ok @CALL_FUNCS/; +use Test::More; +#use Test::NoWarnings; + +#plan tests => 6 * @CALL_FUNCS + 1; + +my $dbh = connect_ok(); +{ + $dbh->do('create table foo (id integer primary key, text)'); + my $sth = $dbh->prepare('insert into foo values(?, ?)'); + $sth->execute($_, "text$_") for 1..100; +} + +{ + my $status = DBD::SQLite::sqlite_status(); + ok $status && ref $status eq ref {}, "status is a hashref"; + my $num_of_keys = scalar keys %$status; + ok $num_of_keys, "status: $num_of_keys indicators"; + my $used_mem = $status->{memory_used}{current}; + ok defined $used_mem && $used_mem, "current used memory: $used_mem"; +} + +for my $func (@CALL_FUNCS) { + { + my $db_status = $dbh->$func('db_status'); + ok $db_status && ref $db_status eq ref {}, "db status is a hashref"; + my $num_of_keys = scalar keys %$db_status; + ok $num_of_keys, "db status: $num_of_keys indicators"; + my $used_cache = $db_status->{cache_used}{current}; + ok defined $used_cache && $used_cache, "current used cache: $used_cache"; + } + + { + my $sth = $dbh->prepare('select * from foo where text = ? order by text desc'); + $sth->execute("text1"); + my $st_status = $sth->$func('st_status'); + ok $st_status && ref $st_status eq ref {}, "st status is a hashref"; + my $num_of_keys = scalar keys %$st_status; + ok $num_of_keys, "st status: $num_of_keys indicators"; + my $sort = $st_status->{sort}; + ok defined $sort && $sort, "num of sort: $sort"; + } +} + +done_testing; |