The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'

######################### We start with some black magic to print on failure.
# Change 1..1 below to 1..last_test_to_print .
# (It may become useful if the test is moved to ./t subdirectory.)

BEGIN { $| = 1; print "1..6\n"; }
END {print "not ok 1\n" unless $loaded;}

#use diagnostics;
use File::SafeDO qw(
	DO
);

$loaded = 1;
print "ok 1\n";
######################### End of black magic.

# Insert your test code below (better if it prints "ok 13"
# (correspondingly "not ok 13") depending on the success of chunk 13
# of the test code):

$test = 2;

my $config = './local/my.conf';

sub ok {
  print "ok $test\n";
  ++$test;
}

## test 2-3	suck in and check config file for domain1.com domain2.net
#	suppress 'once'
my $contents = DO($config,'once');
print "could not open configuration file $config\nnot "
	unless $contents;
&ok;

print "missing configuration file variables domain1.com, domain2.net\nnot "
	unless exists $contents->{'domain1.com'} && exists $contents->{'domain2.net'};
&ok;

# test 4 check is hash
print '$rv isa ',(ref $contents),"\nnot "
	unless ref $contents eq 'HASH';
&ok;

# test 5 check is OTHER
my $tv = bless $contents, 'OTHER';
print '$rv isa ',(ref $tv),"\nnot "
	unless ref $contents eq 'OTHER';
&ok;

# test 6 check is still HASH
print "\$rv is not a HASH \nnot "
	unless UNIVERSAL::isa($tv,'HASH');
&ok;