Commit | Line | Data |
---|---|---|
c0222185 RGS |
1 | #!./perl |
2 | # Tests to ensure that we don't unexpectedly change prototypes of builtins | |
3 | ||
f26e2faa JH |
4 | BEGIN { |
5 | chdir 't' if -d 't'; | |
6 | @INC = '../lib'; | |
7 | } | |
8 | ||
0e7f5727 | 9 | BEGIN { require './test.pl'; } |
65c796d0 | 10 | plan tests => 254; |
0e7f5727 | 11 | |
c0222185 RGS |
12 | while (<DATA>) { |
13 | chomp; | |
59b085e1 | 14 | (my $keyword, my $proto, local $TODO) = split " ", $_, 3; |
c0222185 RGS |
15 | if ($proto eq 'undef') { |
16 | ok( !defined prototype "CORE::".$keyword, $keyword ); | |
17 | } | |
18 | elsif ($proto eq 'unknown') { | |
19 | eval { prototype "CORE::".$keyword }; | |
20 | like( $@, qr/Can't find an opnumber for/, $keyword ); | |
21 | } | |
22 | else { | |
58591598 FC |
23 | is( |
24 | "(".(prototype("CORE::".$keyword) // 'undef').")", $proto, | |
25 | $keyword | |
26 | ); | |
c0222185 RGS |
27 | } |
28 | } | |
29 | ||
30 | # the keyword list : | |
31 | ||
32 | __DATA__ | |
7c4c6e7c FC |
33 | __FILE__ () |
34 | __LINE__ () | |
35 | __PACKAGE__ () | |
d3dc34ae FC |
36 | __DATA__ undef |
37 | __END__ undef | |
84ed0108 | 38 | __SUB__ () |
65c796d0 FC |
39 | AUTOLOAD undef |
40 | BEGIN undef | |
d673215e | 41 | CORE unknown |
65c796d0 FC |
42 | DESTROY undef |
43 | END undef | |
44 | INIT undef | |
45 | CHECK undef | |
59b085e1 | 46 | abs (_) |
c0222185 | 47 | accept (**) |
59b085e1 | 48 | alarm (_) |
95f7e41f | 49 | and undef |
c0222185 RGS |
50 | atan2 ($$) |
51 | bind (*$) | |
52 | binmode (*;$) | |
53 | bless ($;$) | |
f988db8c | 54 | break () |
c0222185 RGS |
55 | caller (;$) |
56 | chdir (;$) | |
57 | chmod (@) | |
58 | chomp undef | |
59 | chop undef | |
60 | chown (@) | |
59b085e1 RGS |
61 | chr (_) |
62 | chroot (_) | |
c0222185 RGS |
63 | close (;*) |
64 | closedir (*) | |
95f7e41f | 65 | cmp undef |
c0222185 | 66 | connect (*$) |
0d863452 | 67 | continue () |
59b085e1 | 68 | cos (_) |
c0222185 RGS |
69 | crypt ($$) |
70 | dbmclose (\%) | |
71 | dbmopen (\%$$) | |
d3dc34ae | 72 | default undef |
c0222185 RGS |
73 | defined undef |
74 | delete undef | |
75 | die (@) | |
76 | do undef | |
77 | dump () | |
cba5a3b0 | 78 | each (+) |
c0222185 RGS |
79 | else undef |
80 | elsif undef | |
81 | endgrent () | |
82 | endhostent () | |
83 | endnetent () | |
84 | endprotoent () | |
85 | endpwent () | |
86 | endservent () | |
87 | eof (;*) | |
95f7e41f | 88 | eq undef |
c0222185 | 89 | eval undef |
7d789282 | 90 | evalbytes (_) |
c0222185 RGS |
91 | exec undef |
92 | exists undef | |
93 | exit (;$) | |
59b085e1 | 94 | exp (_) |
838f2281 | 95 | fc (_) |
c0222185 RGS |
96 | fcntl (*$$) |
97 | fileno (*) | |
98 | flock (*$) | |
99 | for undef | |
100 | foreach undef | |
101 | fork () | |
102 | format undef | |
103 | formline ($@) | |
95f7e41f | 104 | ge undef |
c0222185 RGS |
105 | getc (;*) |
106 | getgrent () | |
107 | getgrgid ($) | |
108 | getgrnam ($) | |
109 | gethostbyaddr ($$) | |
110 | gethostbyname ($) | |
111 | gethostent () | |
112 | getlogin () | |
113 | getnetbyaddr ($$) | |
114 | getnetbyname ($) | |
115 | getnetent () | |
116 | getpeername (*) | |
117 | getpgrp (;$) | |
118 | getppid () | |
119 | getpriority ($$) | |
120 | getprotobyname ($) | |
dcbdef25 | 121 | getprotobynumber ($;) |
c0222185 RGS |
122 | getprotoent () |
123 | getpwent () | |
124 | getpwnam ($) | |
125 | getpwuid ($) | |
126 | getservbyname ($$) | |
127 | getservbyport ($$) | |
128 | getservent () | |
129 | getsockname (*) | |
130 | getsockopt (*$$) | |
5458a98a | 131 | given undef |
4e338c21 | 132 | glob (_;) |
c0222185 RGS |
133 | gmtime (;$) |
134 | goto undef | |
135 | grep undef | |
95f7e41f | 136 | gt undef |
59b085e1 | 137 | hex (_) |
c0222185 RGS |
138 | if undef |
139 | index ($$;$) | |
59b085e1 | 140 | int (_) |
c0222185 RGS |
141 | ioctl (*$$) |
142 | join ($@) | |
cba5a3b0 | 143 | keys (+) |
c0222185 RGS |
144 | kill (@) |
145 | last undef | |
59b085e1 RGS |
146 | lc (_) |
147 | lcfirst (_) | |
95f7e41f | 148 | le undef |
59b085e1 | 149 | length (_) |
c0222185 RGS |
150 | link ($$) |
151 | listen (*$) | |
152 | local undef | |
153 | localtime (;$) | |
f79aa60b | 154 | lock (\[$@%&*]) |
59b085e1 | 155 | log (_) |
465bc0f5 | 156 | lstat (;*) |
95f7e41f | 157 | lt undef |
c0222185 RGS |
158 | m undef |
159 | map undef | |
d116c547 | 160 | mkdir (_;$) |
c0222185 RGS |
161 | msgctl ($$$) |
162 | msgget ($$) | |
163 | msgrcv ($$$$$) | |
164 | msgsnd ($$$) | |
165 | my undef | |
95f7e41f | 166 | ne undef |
c0222185 RGS |
167 | next undef |
168 | no undef | |
dcbdef25 | 169 | not ($;) |
59b085e1 | 170 | oct (_) |
c0222185 RGS |
171 | open (*;$@) |
172 | opendir (*$) | |
95f7e41f | 173 | or undef |
59b085e1 | 174 | ord (_) |
c0222185 RGS |
175 | our undef |
176 | pack ($@) | |
177 | package undef | |
178 | pipe (**) | |
cba5a3b0 | 179 | pop (;+) |
4e338c21 | 180 | pos (;\[$*]) |
c0222185 RGS |
181 | print undef |
182 | printf undef | |
4e338c21 | 183 | prototype ($) |
cba5a3b0 | 184 | push (+@) |
c0222185 RGS |
185 | q undef |
186 | qq undef | |
187 | qr undef | |
59b085e1 | 188 | quotemeta (_) |
c0222185 RGS |
189 | qw undef |
190 | qx undef | |
191 | rand (;$) | |
192 | read (*\$$;$) | |
193 | readdir (*) | |
194 | readline (;*) | |
59b085e1 | 195 | readlink (_) |
01f5bc1b | 196 | readpipe (_) |
c0222185 RGS |
197 | recv (*\$$$) |
198 | redo undef | |
59b085e1 | 199 | ref (_) |
c0222185 RGS |
200 | rename ($$) |
201 | require undef | |
202 | reset (;$) | |
203 | return undef | |
204 | reverse (@) | |
205 | rewinddir (*) | |
206 | rindex ($$;$) | |
59b085e1 | 207 | rmdir (_) |
c0222185 | 208 | s undef |
e3e804c9 | 209 | say undef |
4e338c21 | 210 | scalar ($) |
c0222185 RGS |
211 | seek (*$$) |
212 | seekdir (*$) | |
7391a163 | 213 | select undef |
c0222185 RGS |
214 | semctl ($$$$) |
215 | semget ($$$) | |
216 | semop ($$) | |
217 | send (*$$;$) | |
218 | setgrent () | |
219 | sethostent ($) | |
220 | setnetent ($) | |
bdf1bb36 | 221 | setpgrp (;$$) |
c0222185 RGS |
222 | setpriority ($$$) |
223 | setprotoent ($) | |
224 | setpwent () | |
225 | setservent ($) | |
226 | setsockopt (*$$$) | |
cba5a3b0 | 227 | shift (;+) |
c0222185 RGS |
228 | shmctl ($$$) |
229 | shmget ($$$) | |
230 | shmread ($$$$) | |
231 | shmwrite ($$$$) | |
232 | shutdown (*$) | |
59b085e1 | 233 | sin (_) |
c0222185 RGS |
234 | sleep (;$) |
235 | socket (*$$$) | |
236 | socketpair (**$$$) | |
237 | sort undef | |
cba5a3b0 | 238 | splice (+;$$@) |
c0222185 RGS |
239 | split undef |
240 | sprintf ($@) | |
59b085e1 | 241 | sqrt (_) |
c0222185 | 242 | srand (;$) |
465bc0f5 | 243 | stat (;*) |
5458a98a | 244 | state undef |
4e338c21 | 245 | study (_) |
c0222185 RGS |
246 | sub undef |
247 | substr ($$;$$) | |
248 | symlink ($$) | |
249 | syscall ($@) | |
250 | sysopen (*$$;$) | |
251 | sysread (*\$$;$) | |
252 | sysseek (*$$) | |
253 | system undef | |
254 | syswrite (*$;$$) | |
255 | tell (;*) | |
256 | telldir (*) | |
1db4d195 FC |
257 | tie (\[$@%*]$@) |
258 | tied (\[$@%*]) | |
c0222185 RGS |
259 | time () |
260 | times () | |
261 | tr undef | |
262 | truncate ($$) | |
59b085e1 RGS |
263 | uc (_) |
264 | ucfirst (_) | |
c0222185 | 265 | umask (;$) |
4e338c21 | 266 | undef (;\[$@%&*]) |
c0222185 RGS |
267 | unless undef |
268 | unlink (@) | |
ea5703f4 | 269 | unpack ($_) |
cba5a3b0 | 270 | unshift (+@) |
1db4d195 | 271 | untie (\[$@%*]) |
c0222185 RGS |
272 | until undef |
273 | use undef | |
274 | utime (@) | |
cba5a3b0 | 275 | values (+) |
c0222185 RGS |
276 | vec ($$$) |
277 | wait () | |
278 | waitpid ($$) | |
279 | wantarray () | |
280 | warn (@) | |
5458a98a | 281 | when undef |
c0222185 RGS |
282 | while undef |
283 | write (;*) | |
95f7e41f FC |
284 | x undef |
285 | xor undef | |
c0222185 | 286 | y undef |