Re: [PATCH] Cleanup of the regexp API
[p5sagit/p5-mst-13.2.git] / ext / B / t / concise-xs.t
index c131436..d2ff6b8 100644 (file)
@@ -115,21 +115,22 @@ BEGIN {
 
 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 = {
@@ -141,7 +142,7 @@ 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
@@ -155,8 +156,8 @@ my $testpkgs = {
                  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
@@ -175,13 +176,14 @@ my $testpkgs = {
                     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
@@ -199,9 +201,26 @@ my $testpkgs = {
                      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
+                          /],
+               },
 };
 
 ############