perl
view release on metacpan or search on metacpan
ext/POSIX/t/export.t view on Meta::CPAN
qw(
FP_ILOGB0 FP_ILOGBNAN FP_INFINITE FP_NAN FP_NORMAL FP_SUBNORMAL FP_ZERO
M_1_PI M_2_PI M_2_SQRTPI M_E M_LN10 M_LN2 M_LOG10E M_LOG2E M_PI
M_PI_2 M_PI_4 M_SQRT1_2 M_SQRT2 INFINITY NAN
),
# this stuff was added for Windows in 5.23
($^O eq 'MSWin32' ? qw(
WSAEINTR WSAEBADF WSAEACCES WSAEFAULT WSAEINVAL WSAEMFILE WSAEWOULDBLOCK
WSAEINPROGRESS WSAEALREADY WSAENOTSOCK WSAEDESTADDRREQ WSAEMSGSIZE
WSAEPROTOTYPE WSAENOPROTOOPT WSAEPROTONOSUPPORT WSAESOCKTNOSUPPORT
WSAEOPNOTSUPP WSAEPFNOSUPPORT WSAEAFNOSUPPORT WSAEADDRINUSE
WSAEADDRNOTAVAIL WSAENETDOWN WSAENETUNREACH WSAENETRESET WSAECONNABORTED
WSAECONNRESET WSAENOBUFS WSAEISCONN WSAENOTCONN WSAESHUTDOWN
WSAETOOMANYREFS WSAETIMEDOUT WSAECONNREFUSED WSAELOOP WSAENAMETOOLONG
WSAEHOSTDOWN WSAEHOSTUNREACH WSAENOTEMPTY WSAEPROCLIM WSAEUSERS
WSAEDQUOT WSAESTALE WSAEREMOTE WSAEDISCON WSAENOMORE WSAECANCELLED
WSAEINVALIDPROCTABLE WSAEINVALIDPROVIDER WSAEPROVIDERFAILEDINIT
WSAEREFUSED
) : ()),
# adding new functions to EXPORT is a BACKWARD COMPATIBILITY BREAKING CHANGE
# it is OK to add new constants, but new functions may only go in EXPORT_OK
],
EXPORT_OK => [sort
# this stuff was added in 5.9, but not exported until 5.25
qw(
MSG_CTRUNC MSG_DONTROUTE MSG_EOR MSG_OOB MSG_PEEK
MSG_TRUNC MSG_WAITALL
),
# this stuff was added in 5.11, but not exported until 5.25
qw(
EAI_AGAIN EAI_BADFLAGS EAI_FAIL EAI_FAMILY EAI_MEMORY
EAI_NONAME EAI_OVERFLOW EAI_SERVICE EAI_SOCKTYPE EAI_SYSTEM
),
# this stuff was in 5.20.2
qw(
abs alarm atan2 chdir chmod chown close closedir cos exit
exp fcntl fileno fork getc getgrgid getgrnam getlogin
getpgrp getppid getpwnam getpwuid gmtime kill lchown link
localtime log mkdir nice open opendir pipe printf rand
read readdir rename rewinddir rmdir sin sleep sprintf sqrt
srand stat system time times umask unlink utime wait
waitpid write L_tmpnam
),
# this stuff was added in 5.21
# (though an oversight meant that lround wasn't listed here
# initially; it was added to @EXPORT_OK in 5.23, and to the
# :math_h_c99 tag in 5.25)
qw(
FE_DOWNWARD FE_TONEAREST FE_TOWARDZERO FE_UPWARD
fegetround fesetround
Inf NaN
acosh asinh atanh cbrt copysign erf erfc exp2 expm1 fdim
fma fmax fmin fpclassify hypot ilogb isfinite isgreater
isgreaterequal isinf isless islessequal islessgreater isnan
isnormal isunordered j0 j1 jn lgamma log1p log2 logb lrint lround nan
nearbyint nextafter nexttoward remainder remquo rint round scalbn
signbit tgamma trunc y0 y1 yn strtold
),
# this stuff was added in 5.23
qw(
getpayload issignaling setpayload setpayloadsig
ILL_ILLOPC ILL_ILLOPN ILL_ILLADR ILL_ILLTRP ILL_PRVOPC ILL_PRVREG
ILL_COPROC ILL_BADSTK
FPE_INTDIV FPE_INTOVF FPE_FLTDIV FPE_FLTOVF FPE_FLTUND
FPE_FLTRES FPE_FLTINV FPE_FLTSUB
SEGV_MAPERR SEGV_ACCERR
BUS_ADRALN BUS_ADRERR BUS_OBJERR
TRAP_BRKPT TRAP_TRACE
CLD_EXITED CLD_KILLED CLD_DUMPED CLD_TRAPPED CLD_STOPPED CLD_CONTINUED
POLL_IN POLL_OUT POLL_MSG POLL_ERR POLL_PRI POLL_HUP
SI_USER SI_QUEUE SI_TIMER SI_ASYNCIO SI_MESGQ
),
# added in 5.27
qw(
PRIO_PROCESS PRIO_PGRP PRIO_USER
),
],
);
plan (tests => 2 * keys(%expect) + keys(%POSIX::));
while (my ($var, $expect) = each %expect) {
my $have = *{$POSIX::{$var}}{ARRAY};
cmp_ok(@$have, '==', @$expect,
"Correct number of entries for \@POSIX::$var");
is_deeply([sort @$have], $expect, "Correct entries for \@POSIX::$var");
}
my %no_export_needed = map +($_ => 1),
qw(AUTOLOAD bootstrap constant croak import load_imports
unimplemented_message usage);
my %exported = map +($_ => 1),
(@POSIX::EXPORT, @POSIX::EXPORT_OK, map @$_, values %POSIX::EXPORT_TAGS);
for my $name (sort keys %POSIX::) {
my $code = do { no strict 'refs'; \&{"POSIX::$name"} };
if (!defined &$code) {
pass("$name need not be exported as it does not name a subroutine");
}
elsif ($no_export_needed{$name}) {
pass("$name need not be exported as it is part of the internals");
}
else {
ok($exported{$name}, "subroutine POSIX::$name is exported somehow");
}
}
( run in 0.657 second using v1.01-cache-2.11-cpan-71847e10f99 )