#!/usr/bin/perl
our
(
@mods
);
BEGIN {
@mods
= (
'lib'
,
undef
);
while
(
defined
(
$_
=
shift
@mods
)){
my
$path
=
$_
;
if
( m{/CVS$} ) {
next
;
}
if
( -d
$_
) {
unshift
(
@mods
,
glob
(
"$_/*"
));
next
;
}
if
( -f ) {
local
$\=
"\n\t"
;
s{^lib/}{} and s{\.pm$}{} and s{/+}{::}g and
push
(
@mods
,
$_
);
next
;
}
warn
"ignore: $path"
;
}
eval
"use Test::More tests => "
.(3*
@mods
+1);
}
$DB::single
++;
$DB::single
++;
$DB::single
--;
eval
q(use Gentoo::Probe;)
;
my
$ver
=
$Gentoo::Probe::VERSION
;
print
"ver: $ver\n"
;
for
(
@mods
) {
my
$ms
=
sprintf
"%-40s"
,
"$_:"
;
my
$tv
;
my
$c1
=
sprintf
q[use %s;]
,
$_
;
my
$c2
=
sprintf
q[$%s::VERSION]
,
$_
;
eval
$c1
;
is(
"$@"
,
""
,
"$ms use"
);
$tv
=
eval
$c2
;
is(
"$@"
,
""
,
"$ms got version"
);
is(
$ver
,
$tv
,
"$ms version match"
);
}
our
(
@ISA
)=
qw(Gentoo::Probe)
;
sub
new {
my
$proto
=
shift
;
my
$class
=
ref
(
$proto
) ||
$proto
;
my
$self
=
$class
->SUPER::new(
@_
);
return
$self
;
};
sub
output {
my
$self
=
shift
;
local
$_
=
join
(
"/"
,
shift
,
shift
);
if
(
@_
) {
my
$pkg
=
$_
;
push
(@{
$self
->{lines}},
map
{
$pkg
.
"-"
.
$_
}
@_
);
}
else
{
push
(@{
$self
->{lines}},
$_
);
};
};
sub
run {
my
$self
=
shift
;
$self
->{lines}=[];
$self
->SUPER::run(
@_
);
return
@{
$self
->{lines}};
};
my
$probe
= Test::Gentoo::Probe->new();
is(
ref
$probe
,
q(Test::Gentoo::Probe)
,
"Got right class"
);