1*0Sstevel@tonic-gate#!./perl 2*0Sstevel@tonic-gate# Tests to ensure that we don't unexpectedly change prototypes of builtins 3*0Sstevel@tonic-gate 4*0Sstevel@tonic-gateBEGIN { 5*0Sstevel@tonic-gate chdir 't' if -d 't'; 6*0Sstevel@tonic-gate @INC = '../lib'; 7*0Sstevel@tonic-gate} 8*0Sstevel@tonic-gate 9*0Sstevel@tonic-gateBEGIN { require './test.pl'; } 10*0Sstevel@tonic-gateplan tests => 234; 11*0Sstevel@tonic-gate 12*0Sstevel@tonic-gatewhile (<DATA>) { 13*0Sstevel@tonic-gate chomp; 14*0Sstevel@tonic-gate my ($keyword, $proto) = split; 15*0Sstevel@tonic-gate if ($proto eq 'undef') { 16*0Sstevel@tonic-gate ok( !defined prototype "CORE::".$keyword, $keyword ); 17*0Sstevel@tonic-gate } 18*0Sstevel@tonic-gate elsif ($proto eq 'unknown') { 19*0Sstevel@tonic-gate eval { prototype "CORE::".$keyword }; 20*0Sstevel@tonic-gate like( $@, qr/Can't find an opnumber for/, $keyword ); 21*0Sstevel@tonic-gate } 22*0Sstevel@tonic-gate else { 23*0Sstevel@tonic-gate is( "(".prototype("CORE::".$keyword).")", $proto, $keyword ); 24*0Sstevel@tonic-gate } 25*0Sstevel@tonic-gate} 26*0Sstevel@tonic-gate 27*0Sstevel@tonic-gate# the keyword list : 28*0Sstevel@tonic-gate 29*0Sstevel@tonic-gate__DATA__ 30*0Sstevel@tonic-gateabs (;$) 31*0Sstevel@tonic-gateaccept (**) 32*0Sstevel@tonic-gatealarm (;$) 33*0Sstevel@tonic-gateand () 34*0Sstevel@tonic-gateatan2 ($$) 35*0Sstevel@tonic-gatebind (*$) 36*0Sstevel@tonic-gatebinmode (*;$) 37*0Sstevel@tonic-gatebless ($;$) 38*0Sstevel@tonic-gatecaller (;$) 39*0Sstevel@tonic-gatechdir (;$) 40*0Sstevel@tonic-gatechmod (@) 41*0Sstevel@tonic-gatechomp undef 42*0Sstevel@tonic-gatechop undef 43*0Sstevel@tonic-gatechown (@) 44*0Sstevel@tonic-gatechr (;$) 45*0Sstevel@tonic-gatechroot (;$) 46*0Sstevel@tonic-gateclose (;*) 47*0Sstevel@tonic-gateclosedir (*) 48*0Sstevel@tonic-gatecmp unknown 49*0Sstevel@tonic-gateconnect (*$) 50*0Sstevel@tonic-gatecontinue unknown 51*0Sstevel@tonic-gatecos (;$) 52*0Sstevel@tonic-gatecrypt ($$) 53*0Sstevel@tonic-gatedbmclose (\%) 54*0Sstevel@tonic-gatedbmopen (\%$$) 55*0Sstevel@tonic-gatedefined undef 56*0Sstevel@tonic-gatedelete undef 57*0Sstevel@tonic-gatedie (@) 58*0Sstevel@tonic-gatedo undef 59*0Sstevel@tonic-gatedump () 60*0Sstevel@tonic-gateeach (\%) 61*0Sstevel@tonic-gateelse undef 62*0Sstevel@tonic-gateelsif undef 63*0Sstevel@tonic-gateendgrent () 64*0Sstevel@tonic-gateendhostent () 65*0Sstevel@tonic-gateendnetent () 66*0Sstevel@tonic-gateendprotoent () 67*0Sstevel@tonic-gateendpwent () 68*0Sstevel@tonic-gateendservent () 69*0Sstevel@tonic-gateeof (;*) 70*0Sstevel@tonic-gateeq ($$) 71*0Sstevel@tonic-gateerr unknown 72*0Sstevel@tonic-gateeval undef 73*0Sstevel@tonic-gateexec undef 74*0Sstevel@tonic-gateexists undef 75*0Sstevel@tonic-gateexit (;$) 76*0Sstevel@tonic-gateexp (;$) 77*0Sstevel@tonic-gatefcntl (*$$) 78*0Sstevel@tonic-gatefileno (*) 79*0Sstevel@tonic-gateflock (*$) 80*0Sstevel@tonic-gatefor undef 81*0Sstevel@tonic-gateforeach undef 82*0Sstevel@tonic-gatefork () 83*0Sstevel@tonic-gateformat undef 84*0Sstevel@tonic-gateformline ($@) 85*0Sstevel@tonic-gatege ($$) 86*0Sstevel@tonic-gategetc (;*) 87*0Sstevel@tonic-gategetgrent () 88*0Sstevel@tonic-gategetgrgid ($) 89*0Sstevel@tonic-gategetgrnam ($) 90*0Sstevel@tonic-gategethostbyaddr ($$) 91*0Sstevel@tonic-gategethostbyname ($) 92*0Sstevel@tonic-gategethostent () 93*0Sstevel@tonic-gategetlogin () 94*0Sstevel@tonic-gategetnetbyaddr ($$) 95*0Sstevel@tonic-gategetnetbyname ($) 96*0Sstevel@tonic-gategetnetent () 97*0Sstevel@tonic-gategetpeername (*) 98*0Sstevel@tonic-gategetpgrp (;$) 99*0Sstevel@tonic-gategetppid () 100*0Sstevel@tonic-gategetpriority ($$) 101*0Sstevel@tonic-gategetprotobyname ($) 102*0Sstevel@tonic-gategetprotobynumber ($) 103*0Sstevel@tonic-gategetprotoent () 104*0Sstevel@tonic-gategetpwent () 105*0Sstevel@tonic-gategetpwnam ($) 106*0Sstevel@tonic-gategetpwuid ($) 107*0Sstevel@tonic-gategetservbyname ($$) 108*0Sstevel@tonic-gategetservbyport ($$) 109*0Sstevel@tonic-gategetservent () 110*0Sstevel@tonic-gategetsockname (*) 111*0Sstevel@tonic-gategetsockopt (*$$) 112*0Sstevel@tonic-gateglob undef 113*0Sstevel@tonic-gategmtime (;$) 114*0Sstevel@tonic-gategoto undef 115*0Sstevel@tonic-gategrep undef 116*0Sstevel@tonic-gategt ($$) 117*0Sstevel@tonic-gatehex (;$) 118*0Sstevel@tonic-gateif undef 119*0Sstevel@tonic-gateindex ($$;$) 120*0Sstevel@tonic-gateint (;$) 121*0Sstevel@tonic-gateioctl (*$$) 122*0Sstevel@tonic-gatejoin ($@) 123*0Sstevel@tonic-gatekeys (\%) 124*0Sstevel@tonic-gatekill (@) 125*0Sstevel@tonic-gatelast undef 126*0Sstevel@tonic-gatelc (;$) 127*0Sstevel@tonic-gatelcfirst (;$) 128*0Sstevel@tonic-gatele ($$) 129*0Sstevel@tonic-gatelength (;$) 130*0Sstevel@tonic-gatelink ($$) 131*0Sstevel@tonic-gatelisten (*$) 132*0Sstevel@tonic-gatelocal undef 133*0Sstevel@tonic-gatelocaltime (;$) 134*0Sstevel@tonic-gatelock (\$) 135*0Sstevel@tonic-gatelog (;$) 136*0Sstevel@tonic-gatelstat (*) 137*0Sstevel@tonic-gatelt ($$) 138*0Sstevel@tonic-gatem undef 139*0Sstevel@tonic-gatemap undef 140*0Sstevel@tonic-gatemkdir ($;$) 141*0Sstevel@tonic-gatemsgctl ($$$) 142*0Sstevel@tonic-gatemsgget ($$) 143*0Sstevel@tonic-gatemsgrcv ($$$$$) 144*0Sstevel@tonic-gatemsgsnd ($$$) 145*0Sstevel@tonic-gatemy undef 146*0Sstevel@tonic-gatene ($$) 147*0Sstevel@tonic-gatenext undef 148*0Sstevel@tonic-gateno undef 149*0Sstevel@tonic-gatenot ($) 150*0Sstevel@tonic-gateoct (;$) 151*0Sstevel@tonic-gateopen (*;$@) 152*0Sstevel@tonic-gateopendir (*$) 153*0Sstevel@tonic-gateor () 154*0Sstevel@tonic-gateord (;$) 155*0Sstevel@tonic-gateour undef 156*0Sstevel@tonic-gatepack ($@) 157*0Sstevel@tonic-gatepackage undef 158*0Sstevel@tonic-gatepipe (**) 159*0Sstevel@tonic-gatepop (;\@) 160*0Sstevel@tonic-gatepos undef 161*0Sstevel@tonic-gateprint undef 162*0Sstevel@tonic-gateprintf undef 163*0Sstevel@tonic-gateprototype undef 164*0Sstevel@tonic-gatepush (\@@) 165*0Sstevel@tonic-gateq undef 166*0Sstevel@tonic-gateqq undef 167*0Sstevel@tonic-gateqr undef 168*0Sstevel@tonic-gatequotemeta (;$) 169*0Sstevel@tonic-gateqw undef 170*0Sstevel@tonic-gateqx undef 171*0Sstevel@tonic-gaterand (;$) 172*0Sstevel@tonic-gateread (*\$$;$) 173*0Sstevel@tonic-gatereaddir (*) 174*0Sstevel@tonic-gatereadline (;*) 175*0Sstevel@tonic-gatereadlink (;$) 176*0Sstevel@tonic-gatereadpipe unknown 177*0Sstevel@tonic-gaterecv (*\$$$) 178*0Sstevel@tonic-gateredo undef 179*0Sstevel@tonic-gateref (;$) 180*0Sstevel@tonic-gaterename ($$) 181*0Sstevel@tonic-gaterequire undef 182*0Sstevel@tonic-gatereset (;$) 183*0Sstevel@tonic-gatereturn undef 184*0Sstevel@tonic-gatereverse (@) 185*0Sstevel@tonic-gaterewinddir (*) 186*0Sstevel@tonic-gaterindex ($$;$) 187*0Sstevel@tonic-gatermdir (;$) 188*0Sstevel@tonic-gates undef 189*0Sstevel@tonic-gatescalar undef 190*0Sstevel@tonic-gateseek (*$$) 191*0Sstevel@tonic-gateseekdir (*$) 192*0Sstevel@tonic-gateselect (;*) 193*0Sstevel@tonic-gatesemctl ($$$$) 194*0Sstevel@tonic-gatesemget ($$$) 195*0Sstevel@tonic-gatesemop ($$) 196*0Sstevel@tonic-gatesend (*$$;$) 197*0Sstevel@tonic-gatesetgrent () 198*0Sstevel@tonic-gatesethostent ($) 199*0Sstevel@tonic-gatesetnetent ($) 200*0Sstevel@tonic-gatesetpgrp undef 201*0Sstevel@tonic-gatesetpriority ($$$) 202*0Sstevel@tonic-gatesetprotoent ($) 203*0Sstevel@tonic-gatesetpwent () 204*0Sstevel@tonic-gatesetservent ($) 205*0Sstevel@tonic-gatesetsockopt (*$$$) 206*0Sstevel@tonic-gateshift (;\@) 207*0Sstevel@tonic-gateshmctl ($$$) 208*0Sstevel@tonic-gateshmget ($$$) 209*0Sstevel@tonic-gateshmread ($$$$) 210*0Sstevel@tonic-gateshmwrite ($$$$) 211*0Sstevel@tonic-gateshutdown (*$) 212*0Sstevel@tonic-gatesin (;$) 213*0Sstevel@tonic-gatesleep (;$) 214*0Sstevel@tonic-gatesocket (*$$$) 215*0Sstevel@tonic-gatesocketpair (**$$$) 216*0Sstevel@tonic-gatesort undef 217*0Sstevel@tonic-gatesplice (\@;$$@) 218*0Sstevel@tonic-gatesplit undef 219*0Sstevel@tonic-gatesprintf ($@) 220*0Sstevel@tonic-gatesqrt (;$) 221*0Sstevel@tonic-gatesrand (;$) 222*0Sstevel@tonic-gatestat (*) 223*0Sstevel@tonic-gatestudy undef 224*0Sstevel@tonic-gatesub undef 225*0Sstevel@tonic-gatesubstr ($$;$$) 226*0Sstevel@tonic-gatesymlink ($$) 227*0Sstevel@tonic-gatesyscall ($@) 228*0Sstevel@tonic-gatesysopen (*$$;$) 229*0Sstevel@tonic-gatesysread (*\$$;$) 230*0Sstevel@tonic-gatesysseek (*$$) 231*0Sstevel@tonic-gatesystem undef 232*0Sstevel@tonic-gatesyswrite (*$;$$) 233*0Sstevel@tonic-gatetell (;*) 234*0Sstevel@tonic-gatetelldir (*) 235*0Sstevel@tonic-gatetie undef 236*0Sstevel@tonic-gatetied undef 237*0Sstevel@tonic-gatetime () 238*0Sstevel@tonic-gatetimes () 239*0Sstevel@tonic-gatetr undef 240*0Sstevel@tonic-gatetruncate ($$) 241*0Sstevel@tonic-gateuc (;$) 242*0Sstevel@tonic-gateucfirst (;$) 243*0Sstevel@tonic-gateumask (;$) 244*0Sstevel@tonic-gateundef undef 245*0Sstevel@tonic-gateunless undef 246*0Sstevel@tonic-gateunlink (@) 247*0Sstevel@tonic-gateunpack ($$) 248*0Sstevel@tonic-gateunshift (\@@) 249*0Sstevel@tonic-gateuntie undef 250*0Sstevel@tonic-gateuntil undef 251*0Sstevel@tonic-gateuse undef 252*0Sstevel@tonic-gateutime (@) 253*0Sstevel@tonic-gatevalues (\%) 254*0Sstevel@tonic-gatevec ($$$) 255*0Sstevel@tonic-gatewait () 256*0Sstevel@tonic-gatewaitpid ($$) 257*0Sstevel@tonic-gatewantarray () 258*0Sstevel@tonic-gatewarn (@) 259*0Sstevel@tonic-gatewhile undef 260*0Sstevel@tonic-gatewrite (;*) 261*0Sstevel@tonic-gatex unknown 262*0Sstevel@tonic-gatexor ($$) 263*0Sstevel@tonic-gatey undef 264