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