Cross Reference: redef.t
xref
: /
osnet-11
/
usr
/
src
/
cmd
/
perl
/
5.8.4
/
distrib
/
t
/
comp
/
redef.t
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
redef.t revision 1
1
N/A
#!./perl -w
1
N/A
#
1
N/A
# Contributed by Graham Barr <Graham.Barr@tiuk.ti.com>
1
N/A
1
N/A
BEGIN
{
1
N/A
$warn
=
""
;
1
N/A
$SIG
{
__WARN__
} =
sub
{
$warn
.=
join
(
""
,@_)
}
1
N/A
}
1
N/A
1
N/A
sub
ok
($$)
{
1
N/A
print
$_[
1
] ?
"ok "
:
"not ok "
, $_[
0
],
"\n"
;
1
N/A
}
1
N/A
1
N/A
print
"1..20\n"
;
1
N/A
1
N/A
my
$NEWPROTO
=
'Prototype mismatch:'
;
1
N/A
1
N/A
sub
sub0
{
1
}
1
N/A
sub
sub0
{
2
}
1
N/A
1
N/A
ok
1
,
$warn
=~
s
/
Subroutine
sub0
redefined
[^\n]+\n//s;
1
N/A
1
N/A
sub
sub1
{
1
}
1
N/A
sub
sub1
()
{
2
}
1
N/A
1
N/A
ok
2
,
$warn
=~ s/
$NEWPROTO
\
Qsub
main
::
sub1
:
none
vs
()
\E[^\n]+\n//s;
1
N/A
ok
3
,
$warn
=~
s
/
Subroutine
sub1
redefined
[^\n]+\n//s;
1
N/A
1
N/A
sub
sub2
{
1
}
1
N/A
sub
sub2
($)
{
2
}
1
N/A
1
N/A
ok
4
,
$warn
=~ s/
$NEWPROTO
\
Qsub
main
::
sub2
:
none
vs
($)
\E[^\n]+\n//s;
1
N/A
ok
5
,
$warn
=~
s
/
Subroutine
sub2
redefined
[^\n]+\n//s;
1
N/A
1
N/A
sub
sub3
()
{
1
}
1
N/A
sub
sub3
{
2
}
1
N/A
1
N/A
ok
6
,
$warn
=~ s/
$NEWPROTO
\
Qsub
main
::
sub3
()
vs
none
\E[^\n]+\n//s;
1
N/A
ok
7
,
$warn
=~
s
/
Constant
subroutine
sub3
redefined
[^\n]+\n//s;
1
N/A
1
N/A
sub
sub4
()
{
1
}
1
N/A
sub
sub4
()
{
2
}
1
N/A
1
N/A
ok
8
,
$warn
=~
s
/
Constant
subroutine
sub4
redefined
[^\n]+\n//s;
1
N/A
1
N/A
sub
sub5
()
{
1
}
1
N/A
sub
sub5
($)
{
2
}
1
N/A
1
N/A
ok
9
,
$warn
=~ s/
$NEWPROTO
\
Qsub
main
::
sub5
()
vs
($)
\E[^\n]+\n//s;
1
N/A
ok
10
,
$warn
=~
s
/
Constant
subroutine
sub5
redefined
[^\n]+\n//s;
1
N/A
1
N/A
sub
sub6
($)
{
1
}
1
N/A
sub
sub6
{
2
}
1
N/A
1
N/A
ok
11
,
$warn
=~ s/
$NEWPROTO
\
Qsub
main
::
sub6
($)
vs
none
\E[^\n]+\n//s;
1
N/A
ok
12
,
$warn
=~
s
/
Subroutine
sub6
redefined
[^\n]+\n//s;
1
N/A
1
N/A
sub
sub7
($)
{
1
}
1
N/A
sub
sub7
()
{
2
}
1
N/A
1
N/A
ok
13
,
$warn
=~ s/
$NEWPROTO
\
Qsub
main
::
sub7
($)
vs
()
\E[^\n]+\n//s;
1
N/A
ok
14
,
$warn
=~
s
/
Subroutine
sub7
redefined
[^\n]+\n//s;
1
N/A
1
N/A
sub
sub8
($)
{
1
}
1
N/A
sub
sub8
($)
{
2
}
1
N/A
1
N/A
ok
15
,
$warn
=~
s
/
Subroutine
sub8
redefined
[^\n]+\n//s;
1
N/A
1
N/A
sub
sub9
($@)
{
1
}
1
N/A
sub
sub9
($)
{
2
}
1
N/A
1
N/A
ok
16
,
$warn
=~ s/
$NEWPROTO
sub
main
::
sub9
\(\$\Q@)
vs
($)
\E[^\n]+\n//s;
1
N/A
ok
17
,
$warn
=~
s
/
Subroutine
sub9
redefined
[^\n]+\n//s;
1
N/A
1
N/A
BEGIN
{
1
N/A
local
$^W =
0
;
1
N/A
eval
qq
(
sub
sub10
()
{
1
}
sub
sub10
{
1
})
;
1
N/A
}
1
N/A
1
N/A
ok
18
,
$warn
=~ s/
$NEWPROTO
\
Qsub
main
::
sub10
()
vs
none
\E[^\n]+\n//s;
1
N/A
ok
19
,
$warn
=~
s
/
Constant
subroutine
sub10
redefined
[^\n]+\n//s;
1
N/A
1
N/A
ok
20
,
$warn
eq
''
;
1
N/A
1
N/A
# If we got any errors that we were not expecting, then print them
1
N/A
print
$warn
if
length
$warn
;