use Getopt::Std;
use Carp;
-use Test::More tests => ( 0 * !!$Config::Config{useithreads}
- + 3 * ($] > 5.009)
- + 14 * ($] >= 5.009003)
- + 780 + 588 );
+use Test::More tests => ( # per-pkg tests (function ct + require_ok)
+ 40 + 16 # Data::Dumper, Digest::MD5
+ + 517 + 262 # B::Deparse, B
+ + 595 + 190 # POSIX, IO::Socket
+ + 323 * ($] > 5.009)
+ + 17 * ($] >= 5.009003)
+ - 344); # fudge
require_ok("B::Concise");
my %matchers =
( constant => qr{ (?-x: is a constant sub, optimized to a \w+)
|(?-x: exists in stash, but has no START) }x,
- XS => qr{ (?-x: is XS code)
- |(?-x: exists in stash, but has no START) }x,
- perl => qr{ (?-x: (next|db)state)
- |(?-x: exists in stash, but has no START) }x,
- noSTART => qr/exists in stash, but has no START/,
+ XS => qr/ is XS code/,
+ perl => qr/ (next|db)state/,
+ noSTART => qr/ exists in stash, but has no START/,
);
my $testpkgs = {
Data::Dumper => { XS => [qw/ bootstrap Dumpxs /],
dflt => 'perl' },
B => {
- dflt => 'constant', # all but 47/274
+ dflt => 'constant', # all but 47/297
skip => [ 'regex_padav' ], # threaded only
perl => [qw(
walksymtable walkoptree_slow walkoptree_exec
main_start main_root main_cv init_av inc_gv hash
formfeed end_av dowarn diehook defstash curstash
cstring comppadlist check_av cchar cast_I32 bootstrap
- begin_av amagic_generation address
- )],
+ begin_av amagic_generation sub_generation address
+ ), $] > 5.009 ? ('unitcheck_av') : ()],
},
B::Deparse => { dflt => 'perl', # 235 functions
OPpSORT_REVERSE OPpTARGET_MY OPpTRANS_COMPLEMENT
OPpTRANS_DELETE OPpTRANS_SQUASH PMf_CONTINUE
PMf_EVAL PMf_EXTENDED PMf_FOLD PMf_GLOBAL PMf_KEEP
- PMf_MULTILINE PMf_ONCE PMf_SINGLELINE PMf_SKIPWHITE
+ PMf_MULTILINE PMf_ONCE PMf_SINGLELINE RXf_SKIPWHITE
POSTFIX SVf_FAKE SVf_IOK SVf_NOK SVf_POK SVf_ROK
- SVpad_OUR SVs_RMG SVs_SMG SWAP_CHILDREN
+ SVpad_OUR SVs_RMG SVs_SMG SWAP_CHILDREN OPpPAD_STATE
/],
},
- POSIX => { dflt => 'constant', # all but 252/589
+ POSIX => { dflt => 'constant', # all but 252/589
+ skip => [qw/ _POSIX_JOB_CONTROL /], # platform varying
perl => [qw/ import croak AUTOLOAD /],
XS => [qw/ write wctomb wcstombs uname tzset tzname
fmod floor dup2 dup difftime cuserid ctime
ctermid cosh constant close clock ceil
bootstrap atan asin asctime acos access abort
- _exit _POSIX_SAVED_IDS _POSIX_JOB_CONTROL
+ _exit
/],
},
+
+ IO::Socket => { dflt => 'constant', # 157/190
+
+ perl => [qw/ timeout socktype sockopt sockname
+ socketpair socket sockdomain sockaddr_un
+ sockaddr_in shutdown setsockopt send
+ register_domain recv protocol peername
+ new listen import getsockopt croak
+ connected connect configure confess close
+ carp bind atmark accept
+ /, $] > 5.009 ? ('blocking') : () ],
+
+ XS => [qw/ unpack_sockaddr_un unpack_sockaddr_in
+ sockatmark sockaddr_family pack_sockaddr_un
+ pack_sockaddr_in inet_ntoa inet_aton
+ /],
+ },
};
############