Tyler MacDonald <[EMAIL PROTECTED]> wrote: > After digging around a bit, it looks like I just have to attach > myself to the "stop-httpd" option instead of the "stop" method, but that's > getting less obvious and more deep into an undocumented API.
Got it in a hackety-hacked way; this does what I want. Thanks, Tyler
#!perl use strict; use warnings FATAL => 'all'; use lib qw(lib); use base q(Apache::TestRunPerl); use Apache::TestConfig (); main::->new->run(@ARGV); sub pre_configure { my $self = shift; # mod_bt doesn't like to be loaded if it isn't configured. Apache::TestConfig::autoconfig_skip_module_add('mod_bt.c') } sub configure { my $self = shift; bless $self->{server}, "Apache2::AUS::TestServer"; return $self->SUPER::configure(@_); } package Apache2::AUS::TestServer; use base q(Apache::TestServer); use lib 't/tlib'; use t::dbh; use DBIx::Migration::Directories; sub start { my $self = shift; warn "installing database schema!"; if(my $dbh = dbh) { my $mh = DBIx::Migration::Directories->new( schema => "Schema::RDBMS::AUS", dbh => $dbh, ); $mh->full_migrate; $dbh->disconnect; } return $self->SUPER::start(@_); } sub stop { my $self = shift; my $rv; if($rv = $self->SUPER::stop(@_)) { warn "removing database schema!"; if(my $dbh = dbh) { my $mh = DBIx::Migration::Directories->new( schema => "Schema::RDBMS::AUS", dbh => $dbh, ); $mh->full_delete_schema; $dbh->disconnect; } } return $rv; }