# (X)Emacs mode: -*- cperl -*-
use strict;
=head1 Unit Test Package for Class::MethodMaker
This package tests the basic utility of Class::MethodMaker
=cut
use FindBin 1.42 qw( $Bin );
use Test 1.13 qw( ok plan skip );
use lib $Bin;
use test qw( DATA_DIR
evcheck save_output restore_output );
BEGIN {
# 1 for compilation test,
plan tests => 2,
todo => [],
}
# ----------------------------------------------------------------------------
=head2 Test 1: compilation
This test confirms that the test script and the modules it calls compiled
successfully.
=cut
ok 1, 1, 'compilation';
# -------------------------------------
=head2 Test 2: no warnings generated
This tests for a bug in 2.00 where warnings are generated complaining of
'prototype mismatch' and 'INTEGER redefined' when using Class::MethodMaker
with certain other modules. Currently IPC::Run is tested, which is
unfortunate, since it is non-core. If someone can suggest a core module that
displays this issue with 2.00, that wouldd be great.
=cut
my $if_MSWin = $^O =~ m/MSWin/ ? 'Skip if under MSWin' : '';
if ($if_MSWin) {
skip($if_MSWin, 1, 1, "No warnings generated" );
}
else
{
save_output('stderr', *STDERR{IO});
eval {
require IPC::Run;
};
my $run_failed = $@;
defined $run_failed && $run_failed =~ s/\(.*$//
unless defined $ENV{TEST_DEBUG} and $ENV{TEST_DEBUG} > 1;
eval {
require Class::MethodMaker;
};
my $err = restore_output('stderr');
skip $run_failed, $err, '', "No warnings generated\n";
}
# ----------------------------------------------------------------------------