Tyler MacDonald wrote:
I have a function that does this to get database settings, to test an
apache2 handler that uses a database:
sub test_db {
my $build = Apache::TestMB->current;
return unless $build->notes('DBI_DSN');
return map {
defined $build->notes($_) ? $build->notes($_) : ''
} qw(DBI_DSN DBI_USER DBI_PASS);
}
When I grab these values from within extra.last.conf.in, the function
returns successfully and gives me the right settings right away. However,
Apache::Test's apache2 times out waiting for the server to start. I get the
same result with Module::Build->current.
When I set these in my extra.conf.last.in manually, everything works and my
tests pass.
I'm kind of confused as to how invoking a Module::Build object could cause
the server to hang long after the object has been destroyed. Any ideas?
For now, I'm just doing to do() the _build/notes file to get this config
data.
Hmm, not sure I know enough about web servers to help out. Which part of
the above method is causing it to hang? If you take out the call to
notes, so it only loads the MB object does it succeed? Can you construct
a simple test case that exhibits the problem?
Randy.