File: 53_status.t

package info (click to toggle)
libdbd-sqlite3-perl 1.76-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,004 kB
  • sloc: ansic: 167,715; perl: 1,788; pascal: 277; makefile: 9
file content (50 lines) | stat: -rw-r--r-- 1,545 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
use strict;
use warnings;
use lib "t/lib";
use SQLiteTest qw/connect_ok @CALL_FUNCS has_sqlite/;
use Test::More;
use if -d ".git", "Test::FailWarnings";

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";
		if (has_sqlite('3.7.0')) {
			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";
		if (has_sqlite('3.6.4')) {
			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, "num of sort: $sort";
		}
	}
}

done_testing;