Add an autoclean-up method to WebGUI::Test, and convert the Story test

to use it.
This commit is contained in:
Colin Kuskie 2009-04-13 17:33:42 +00:00
parent 1edaca4ed2
commit 314a12def2
2 changed files with 32 additions and 4 deletions

View file

@ -52,6 +52,7 @@ my %originalConfig;
my $originalSetting;
my @groupsToDelete;
my @storagesToDelete;
BEGIN {
@ -140,6 +141,15 @@ END {
foreach my $group (@groupsToDelete) {
$group->delete;
}
foreach my $stor (@storagesToDelete) {
if ($SESSION->id->valid($stor)) {
my $storage = WebGUI::Storage->get($SESSION, $stor);
$storage->delete if $storage;
}
else {
$stor->delete;
}
}
if ($ENV{WEBGUI_TEST_DEBUG}) {
$Test->diag('Sessions: '.$SESSION->db->quickScalar('select count(*) from userSession'));
$Test->diag('Scratch : '.$SESSION->db->quickScalar('select count(*) from userSessionScratch'));
@ -393,6 +403,8 @@ sub originalConfig {
Push a list of group objects onto the stack of groups to be automatically deleted
at the end of the test.
This is a class method.
=cut
sub groupsToDelete {
@ -402,6 +414,22 @@ sub groupsToDelete {
#----------------------------------------------------------------------------
=head2 storagesToDelete ( $storage, [$storageId ] )
Push a list of storage objects or storageIds onto the stack of storage locaitons
at the end of the test.
This is a class method.
=cut
sub storagesToDelete {
my $class = shift;
push @storagesToDelete, @_;
}
#----------------------------------------------------------------------------
=head1 BUGS
When trying to load the APR module, perl invariably throws an Out Of Memory