Bug 23624: (QA follow-up) Test error cases

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Tomas Cohen Arazi 2019-09-25 10:44:03 -03:00 committed by Martin Renvoize
parent f2b2797567
commit 6c90c6f7d9
No known key found for this signature in database
GPG Key ID: 422B469130441A0F
2 changed files with 18 additions and 4 deletions

View File

@ -431,10 +431,13 @@ sub nb_rows {
});
$sth->execute();
my $results = $sth->fetch;
my $n = $results ? $results->[0] : 0;
return $n;
if ( $sth->errstr ) {
return 0;
}
else {
return $sth->fetch->[0];
}
}
=head2 execute_query

View File

@ -413,7 +413,7 @@ $schema->storage->txn_rollback;
subtest 'nb_rows() tests' => sub {
plan tests => 1;
plan tests => 3;
$schema->storage->txn_begin;
@ -430,6 +430,17 @@ subtest 'nb_rows() tests' => sub {
is( $nb_rows, $items_count, 'nb_rows returns the right value' );
my $bad_query = q{
SELECT * items xxx
};
warning_like
{ $nb_rows = nb_rows( $bad_query ) }
qr/^DBD::mysql::st execute failed:/,
'Bad queries raise a warning';
is( $nb_rows, 0, 'nb_rows returns 0 on bad queries' );
$schema->storage->txn_rollback;
};