This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl 5.003_02: [no incremental changelog available]
[perl5.git] / t / comp / redef.t
CommitLineData
760ac839
LW
1#!./perl
2#
3# Contributed by Graham Barr <Graham.Barr@tiuk.ti.com>
4
5BEGIN {
6 $^W = 1;
7 $warn = "";
8 $SIG{__WARN__} = sub { $warn .= join("",@_) }
9}
10
11sub ok ($$) {
12 print $_[1] ? "ok " : "not ok ", $_[0], "\n";
13}
14
15print "1..18\n";
16
17sub sub0 { 1 }
18sub sub0 { 2 }
19
20ok 1, $warn =~ s/Subroutine sub0 redefined[^\n]+\n//s;
21
22sub sub1 { 1 }
23sub sub1 () { 2 }
24
25ok 2, $warn =~ s/Prototype mismatch: \Q(none) vs ()\E[^\n]+\n//s;
26ok 3, $warn =~ s/Subroutine sub1 redefined[^\n]+\n//s;
27
28sub sub2 { 1 }
29sub sub2 ($) { 2 }
30
31ok 4, $warn =~ s/Prototype mismatch: \Q(none) vs ($)\E[^\n]+\n//s;
32ok 5, $warn =~ s/Subroutine sub2 redefined[^\n]+\n//s;
33
34sub sub3 () { 1 }
35sub sub3 { 2 }
36
37ok 6, $warn =~ s/Prototype mismatch: \Q() vs (none)\E[^\n]+\n//s;
38ok 7, $warn =~ s/Constant subroutine sub3 redefined[^\n]+\n//s;
39
40sub sub4 () { 1 }
41sub sub4 () { 2 }
42
43ok 8, $warn =~ s/Constant subroutine sub4 redefined[^\n]+\n//s;
44
45sub sub5 () { 1 }
46sub sub5 ($) { 2 }
47
48ok 9, $warn =~ s/Prototype mismatch: \Q() vs ($)\E[^\n]+\n//s;
49ok 10, $warn =~ s/Constant subroutine sub5 redefined[^\n]+\n//s;
50
51sub sub6 ($) { 1 }
52sub sub6 { 2 }
53
54ok 11, $warn =~ s/Prototype mismatch: \Q($) vs (none)\E[^\n]+\n//s;
55ok 12, $warn =~ s/Subroutine sub6 redefined[^\n]+\n//s;
56
57sub sub7 ($) { 1 }
58sub sub7 () { 2 }
59
60ok 13, $warn =~ s/Prototype mismatch: \Q($) vs ()\E[^\n]+\n//s;
61ok 14, $warn =~ s/Subroutine sub7 redefined[^\n]+\n//s;
62
63sub sub8 ($) { 1 }
64sub sub8 ($) { 2 }
65
66ok 15, $warn =~ s/Subroutine sub8 redefined[^\n]+\n//s;
67
68sub sub9 ($@) { 1 }
69sub sub9 ($) { 2 }
70
71ok 16, $warn =~ s/Prototype mismatch: \(\$\Q@) vs ($)\E[^\n]+\n//s;
72ok 17, $warn =~ s/Subroutine sub9 redefined[^\n]+\n//s;
73
74ok 18, $_ eq '';
75
76# If we got any errors that we were not expecting, then print them
77print $_ if length $_;
78
79