Giter VIP home page Giter VIP logo

b-stats's People

Contributors

bulk88 avatar rurban avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

b-stats's Issues

Use of uninitialized value $class in hash element at C:/perl521/site/lib/B/Stats .pm line 366.

Given

#!/usr/bin/perl -w

use Data::Dumper;
my %slim;
print Dumper(\%slim);

and run as "perl -MB::Stats=-r C:\sources\t4.pl" I get

C:\sources\B-Stats>perl -MB::Stats=-r C:\sources\t4.pl
$VAR1 = {};
Use of uninitialized value $class in hash element at C:/perl521/site/lib/B/Stats
.pm line 366.
Use of uninitialized value $class in hash element at C:/perl521/site/lib/B/Stats
.pm line 366.

B::Stats dynamic run-time:
files=17        lines=7427      ops=142

op name:
const           35
gvsv            20
nextstate       12
padsv           10
pushmark        10
and             5
entersub        4
or              4
padrange        3
sassign         3
ref             3
gv              3
anonlist        2
aassign         2
anonhash        2
helem           2
defined         2
leavesub        2
rv2hv           2
aelemfast       2
enter           2
leave           2
return          1
bless           1
padhv           1
seq             1
refgen          1
gt              1
method_named    1
rv2av           1
method          1
print           1

op class:
SVOP            61
OP              29
COP             12
UNOP            11
LISTOP          9
LOGOP           9
BINOP           6
                5

C:\sources\B-Stats>

Line 366 is

sub output_runtime {
  $r_count = {};
  my $r_countarr = $_[0];

  require Opcodes;
  my $maxo = Opcodes::opcodes();
  # @optype only since 5.8.9 in B
  my @optype = qw(OP UNOP BINOP LOGOP LISTOP PMOP SVOP PADOP PVOP LOOP COP);
  for my $i (0..$maxo-1) {
    if (my $count = $r_countarr->[$i]) {
      my $name = Opcodes::opname($i);
      if ($name) {
    my $class = $optype[ Opcodes::opclass($i) ];
    next if $opt{f} and !$opt{f}->{name}->{$name};
    next if $opt{f} and !$opt{f}->{class}->{$class};
    $r_count->{name}->{ $name } += $count;
    $rops += $count;
    $r_count->{class}->{ $class } += $count;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
      } else {
    warn "invalid name for opcount[$i]";
      }
    }
  }
  output($r_count, $rops, 'dynamic run-time');
}

adding " warn Opcodes::opclass($i) if ! defined $class;" to the code says Opcodes::opclass($i) is returning 11.

@optype only goes upto index 10 ("COP").

If I am reading op.h correctly

#define OA_BASEOP (0 << OCSHIFT)
#define OA_UNOP (1 << OCSHIFT)
#define OA_BINOP (2 << OCSHIFT)
#define OA_LOGOP (3 << OCSHIFT)
#define OA_LISTOP (4 << OCSHIFT)
#define OA_PMOP (5 << OCSHIFT)
#define OA_SVOP (6 << OCSHIFT)
#define OA_PADOP (7 << OCSHIFT)
#define OA_PVOP_OR_SVOP (8 << OCSHIFT)
#define OA_LOOP (9 << OCSHIFT)
#define OA_COP (10 << OCSHIFT)
#define OA_BASEOP_OR_UNOP (11 << OCSHIFT)
#define OA_FILESTATOP (12 << OCSHIFT)
#define OA_LOOPEXOP (13 << OCSHIFT)

There are 3 missing op classes from B::Stats.

-r is broken/bogus stats

C:\sources\B-Stats>perl -MB::Stats-r Makefile.pl

B::Stats static compile-time:
files=1 lines=339   ops=54652

op name:
null        8802
padsv       6894
const       5796
nextstate   4824
pushmark    2744
padrange    1729
concat      1655
helem       1477
rv2hv       1462
sassign     1421
gv          1391
entersub    1108
and         1098
lineseq     895
padav       774
gvsv        684
enter       672
leave       671
aassign     646
or          641
rv2av       575
scope       545
leavesub    535
method_named    533
cond_expr   521
return      519
padhv       357
match       303
push        254
seq         227
leaveloop   217
shift       214
unstack     208
subst       201
defined     198
enteriter   169
iter        169
orassign    164
not         122
join        121
refgen      104
list        103
print       101
next        91
rv2gv       87
anonlist    83
length      78
eq          78
anonhash    74
mapstart    73
mapwhile    73
warn        72
require     69
exists      63
keys        56
grepstart   54
grepwhile   54
regcomp     53
aelemfast   53
ref         52
ftfile      51
die         49
sprintf     48
enterloop   48
stringify   45
rv2cv       44
stub        43
aelem       42
last        38
split       38
pushre      38
sort        38
ftdir       38
lslice      35
aelemfast_lex   34
rv2sv       34
sne         29
caller      28
leavetry    27
entertry    27
undef       26
bit_and     26
uc          26
delete      26
add         24
hslice      24
scalar      22
substr      21
schomp      21
srefgen     21
ge          21
method      20
preinc      20
quotemeta   18
chdir       18
backtick    18
bit_or      17
gt          17
lc          16
lt          16
goto        16
gelem       16
unshift     15
repeat      14
anoncode    14
ftis        13
ne          13
pop         12
redo        12
subtract    11
vec         11
chmod       11
each        11
stat        11
open        11
close       10
index       10
schop       10
wantarray   10
ftlink      10
readline    10
closedir    9
postinc     9
regcmaybe   9
av2arylen   8
trans       8
readlink    8
readdir     7
values      7
fteread     7
lstat       6
bless       6
predec      6
open_dir    6
unlink      6
ftsize      5
range       5
flop        5
aslice      5
flip        5
dofile      4
entereval   4
fttty       4
splice      4
qr          3
ftewrite    3
modulo      3
scmp        3
complement  3
dor         3
fteexec     2
localtime   2
le          2
gpwnam      2
eof         2
ggrnam      2
rename      2
select      2
exit        2
reverse     2
ftchr       2
system      2
ucfirst     2
right_shift 1
postdec     1
rewinddir   1
multiply    1
prtf        1
mkdir       1
int         1
exec        1
chown       1
slt         1
tms         1
rmdir       1
seek        1
chomp       1
sgt         1

op class:
OP          15643
UNOP        12472
SVOP        6343
BINOP       5850
COP         4824
LISTOP      3953
LOGOP       2639
PADOP       2149
PMOP        545
LOOP        217
PVOP        17
Generating a nmake-style Makefile
Writing Makefile for B::Stats
Writing MYMETA.yml and MYMETA.json

B::Stats static end-time:
files=58    lines=31571 ops=86409

op name:
null        14383
padsv       10953
const       8253
nextstate   7760
pushmark    4396
padrange    2506
gv          2368
sassign     2218
concat      2157
rv2hv       2110
helem       2036
entersub    1980
and         1771
lineseq     1550
rv2av       1203
gvsv        1178
enter       1164
leave       1163
or          1012
return      1008
leavesub    986
padav       961
cond_expr   911
method_named    908
aassign     903
scope       836
match       458
padhv       438
defined     405
seq         394
leaveloop   349
unstack     335
aelem       320
push        315
shift       314
subst       276
iter        249
enteriter   249
aelemfast   239
not         200
orassign    188
refgen      170
ref         157
length      148
anonlist    143
next        143
join        142
list        141
rv2gv       137
anonhash    132
eq          125
require     119
exists      116
undef       110
print       104
enterloop   100
keys        100
die         97
mapwhile    92
mapstart    92
regcomp     90
warn        81
grepwhile   75
grepstart   75
rv2cv       74
rv2sv       68
stringify   66
last        64
substr      64
stub        63
aelemfast_lex   62
sprintf     61
add         61
qr          55
ftfile      53
entertry    52
leavetry    52
sne         49
gt          47
delete      46
sort        45
ftdir       44
bit_and     44
lslice      41
split       41
pushre      41
srefgen     40
lt          39
lc          36
caller      35
preinc      34
ge          33
subtract    31
anoncode    30
bless       29
chdir       27
scalar      26
hslice      26
uc          26
method      26
quotemeta   22
bit_or      22
repeat      21
predec      21
schomp      21
postinc     20
ne          19
backtick    18
goto        18
wantarray   18
pop         18
gelem       17
unshift     17
open        15
each        15
le          15
ftis        14
index       14
close       13
vec         13
readline    12
redo        12
ftlink      12
stat        12
lstat       12
chmod       11
closedir    11
av2arylen   11
schop       10
regcmaybe   9
fteread     9
aslice      9
readlink    9
readdir     9
values      8
open_dir    8
hex         8
trans       8
chr         8
complement  7
splice      7
scmp        7
unpack      7
entereval   7
unlink      6
flip        5
flop        5
ftsize      5
range       5
modulo      4
pack        4
dofile      4
fttty       4
ucfirst     3
sge         3
dor         3
ftewrite    3
multiply    3
ord         3
system      2
reverse     2
ftchr       2
seek        2
rename      2
rindex      2
ggrnam      2
int         2
exit        2
select      2
flock       2
fteexec     2
pos         2
postdec     2
eof         2
gpwnam      2
localtime   2
rmdir       1
tms         1
sysopen     1
chomp       1
sgt         1
exec        1
slt         1
chown       1
prtf        1
mkdir       1
sle         1
leavesublv  1
divide      1
right_shift 1
binmode     1
truncate    1
oct         1
rewinddir   1

op class:
OP          24430
UNOP        20639
SVOP        9191
BINOP       8775
COP         7760
LISTOP      6395
LOGOP       4199
PADOP       3815
PMOP        830
LOOP        349
PVOP        26

B::Stats dynamic run-time:
files=60    lines=322   ops=7

op name:
nextstate   7

op class:
COP         7

7 ops? really? The op counter is not in the op loop. https://github.com/rurban/B-Stats/blob/master/Stats.xs#L57 Its just recording the 1st op of every entry into the runloop. Putting a breakpoint on the op ++ line gives a callstack of,

    ntdll.dll!_DbgBreakPoint@0()    
>   Stats.dll!my_runops(interpreter * my_perl=0x00364d2c)  Line 166 C
    perl519.dll!Perl_call_sv(interpreter * my_perl=0x00364d2c, sv * sv=0x00d823dc, volatile long flags=13)  Line 2771 + 0xc C
    perl519.dll!Perl_call_list(interpreter * my_perl=0x00364d2c, long oldscope=8, av * paramList=0x00b9ceec)  Line 4873 C
    perl519.dll!S_process_special_blocks(interpreter * my_perl=0x00070023, long floor=113, const char * const fullname=0x009059a8, gv * const gv=0x00d7c1cc, cv * const cv=0x00d823dc)  Line 8063   C
    perl519.dll!Perl_newATTRSUB_x(interpreter * my_perl=0x00000000, long floor=113, op * o=0x00991c88, op * proto=0x00000000, void * attrs=0x2802cee5, op * block=0x0123bda4, char o_is_gv=0)  Line 8023 + 0x13 C
    perl519.dll!Perl_utilize(interpreter * my_perl=0x00000000, int aver=1, long floor=113, op * version=0x00000000, op * idop=0x00d8238c, op * arg=0x00000000)  Line 5440 + 0x7b    C
    perl519.dll!Perl_yyparse(interpreter * my_perl=0x00364d2c, int gramtype=1)  Line 398 + 0x16 C
    perl519.dll!S_doeval(interpreter * my_perl=0x00364d2c, int gimme=2, cv * outside=0x00000000, unsigned long seq=311, hv * hh=0x00000000)  Line 3488  C
    perl519.dll!Perl_pp_require(interpreter * my_perl=0x00000000)  Line 4145 + 0x21 C
    perl519.dll!Perl_runops_standard(interpreter * my_perl=0x00364d2c)  Line 42 + 0x4   C
    perl519.dll!Perl_call_sv(interpreter * my_perl=0x00364d2c, sv * sv=0x00d823dc, volatile long flags=13)  Line 2771 + 0xc C
    perl519.dll!Perl_call_list(interpreter * my_perl=0x00364d2c, long oldscope=1, av * paramList=0x00986364)  Line 4873 C
    perl519.dll!perl_run(interpreter * my_perl=0x00364d2c)  Line 2382 + 0x12    C
    perl519.dll!RunPerl(int argc=3, char * * argv=0x01364c68, char * * env=0x00363328)  Line 258 + 0x6  C
    perl.exe!mainCRTStartup()  Line 398 + 0xe   C
    kernel32.dll!_BaseProcessStart@4()  + 0x23  

Every single time that BP was hit, which is 7 times, it was inside pp_require and yy_parse. So even if the counter was moved to inside the do while loop, it won't profile most or any runtime ops.

benchmarking ops vs counting ops

When you originally described the module to me offline, I thought it would have per op profiling/benchmarking, I see that it just has counts of ops after compile time, and op run counts during runtime. But not time passage is associated to these ops. NYTProf is too heavy and too much on statements timings and replacing pp_funcs. I want opcode timings ( min, max, avg, maybe min2, max2 to see the spread between.the randomness) with mach_absolute_time/QueryPerformanceCounter resolution. Should B::Stats have such feature this?

won't build and run on win32

First issue

C:\sources\B-Stats>perl makefile.pl
Checking if your kit is complete...
Warning: the following files are missing in your kit:
        lib/B/Stats/Minus.pm
        META.yml
Please inform the author.
Generating a nmake-style Makefile
Writing Makefile for B::Stats
Writing MYMETA.yml and MYMETA.json

Fix the manifest/.gitignore until there are no conflicts. I am using the git repo, so some things might be going into the tarball that aren't in the repo.

Next, Perl_debop isn't exported, and on Win32, symbols aren't extern/public unless explicitly labeled as such, so this doesn't build.

C:\sources\B-Stats>nmake test

Microsoft (R) Program Maintenance Utility Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.

cp lib/B/Stats/Minus.pm.tmpl blib\lib\B\Stats\Minus.pm.tmpl
cp lib/B/Stats.pm blib\lib\B\Stats.pm
Running Mkbootstrap for B::Stats ()
        C:\perl519\bin\perl.exe -MExtUtils::Command -e chmod -- 644 Stats.bs
        C:\perl519\bin\perl.exe C:\perl519\lib\ExtUtils\xsubpp  -typemap C:\perl
519\lib\ExtUtils\typemap  Stats.xs > Stats.xsc && C:\perl519\bin\perl.exe -MExtU
tils::Command -e mv -- Stats.xsc Stats.c
        cl -c    -nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -G7 -GL -DWIN32 -D_CONSOLE
 -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS -DPERL_HASH_FUNC_ONE_AT_A_TIME -DPERL_IMPLI
CIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T -O1 -MD -Zi -DN
DEBUG -G7 -GL    -DVERSION=\"0.05\"  -DXS_VERSION=\"0.05\"  "-IC:\perl519\lib\CO
RE"   Stats.c
Stats.c
        C:\perl519\bin\perl.exe -MExtUtils::Mksymlists  -e "Mksymlists('NAME'=>\
"B::Stats\", 'DLBASE' => 'Stats', 'DL_FUNCS' => {  }, 'FUNCLIST' => [], 'IMPORTS
' => {  }, 'DL_VARS' => []);"
        link -out:blib\arch\auto\B\Stats\Stats.dll -dll -nologo -nodefaultlib -d
ebug -opt:ref,icf -ltcg  -libpath:"c:\perl519\lib\CORE"  -machine:x86 Stats.obj
  C:\perl519\lib\CORE\perl519.lib oldnames.lib kernel32.lib user32.lib gdi32.lib
 winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  net
api32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32
.lib comctl32.lib msvcrt.lib -def:Stats.def
   Creating library blib\arch\auto\B\Stats\Stats.lib and object blib\arch\auto\B
\Stats\Stats.exp
Stats.obj : error LNK2001: unresolved external symbol __imp__Perl_debop
blib\arch\auto\B\Stats\Stats.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.

C:\sources\B-Stats>

commenting out that line with Perl_debop causes test fails

    C:\perl519\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require at (eval 3) line 18.
BEGIN failed--compilation aborted at (eval 3) line 18.
BEGIN failed--compilation aborted.

#   Failed test '-MO=Stats'
#   at t/compile.t line 11.
#                   ''
#     doesn't match '(?^m:^B::Stats static compile-time:)'
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require.
BEGIN failed--compilation aborted.

#   Failed test '-MB::Stats -c'
#   at t/compile.t line 15.
#                   ''
#     doesn't match '(?^m:^B::Stats static compile-time:)'

#   Failed test '-MB::Stats -e'
#   at t/compile.t line 16.
#                   ''
#     doesn't match '(?^m:^B::Stats static end-time:)'

#   Failed test '-MB::Stats -r'
#   at t/compile.t line 17.
#                   ''
#     doesn't match '(?^m:^B::Stats dynamic run-time:)'
# Looks like you failed 4 tests of 5.
t/compile.t ................. 
Dubious, test returned 4 (wstat 1024, 0x400)
Failed 4/5 subtests 
# compare B::Terse with B::Stats
Can't find string terminator "'" anywhere before EOF.
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require at (eval 3) line 18.
BEGIN failed--compilation aborted at (eval 3) line 18.
BEGIN failed--compilation aborted.
t/exact.t ................... ok
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require.
BEGIN failed--compilation aborted.

#   Failed test '-MB::Stats=-c,-u => c'
#   at t/options.t line 12.
#                   ''
#     doesn't match '(?^m:^B::Stats static compile-time:)'

#   Failed test 'nextstate > 0'
#   at t/options.t line 17.
#                   ''
#     doesn't match '(?^m:^nextstate\s+[1-9]\d+$)'
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require.
BEGIN failed--compilation aborted.

#   Failed test '-MB::Stats -r'
#   at t/options.t line 22.
#                   ''
#     doesn't match '(?^m:^B::Stats dynamic run-time:)'
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require at (eval 3) line 18.
BEGIN failed--compilation aborted at (eval 3) line 18.
BEGIN failed--compilation aborted.

#   Failed test '-MO=Stats,-c,-u => c'
#   at t/options.t line 26.
#                   ''
#     doesn't match '(?^m:^B::Stats static compile-time:)'
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require.
BEGIN failed--compilation aborted.

#   Failed test '-MO=Stats,-ceu => c'
#   at t/options.t line 32.
#                   ''
#     doesn't match '(?^m:^B::Stats static compile-time:)'

#   Failed test '-MO=Stats,-ceu => e'
#   at t/options.t line 33.
#                   ''
#     doesn't match '(?^m:^B::Stats static end-time:)'
# Looks like you failed 6 tests of 15.
t/options.t ................. 
Dubious, test returned 6 (wstat 1536, 0x600)
Failed 6/15 subtests 
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require.
BEGIN failed--compilation aborted.

#   Failed test '-MB::Stats=-r => r'
#   at t/runtime.t line 13.
#                   ''
#     doesn't match '(?^m:^B::Stats dynamic run-time:)'

#   Failed test '-MB::Stats,-r => !u'
#   at t/runtime.t line 14.
#                   ''
#     doesn't match '(?^m:^op class:)'

#   Failed test 'nextstate > 0'
#   at t/runtime.t line 16.
#                   ''
#     doesn't match '(?^m:^nextstate\s+[1-9]\d*$)'

#   Failed test 'COP > 0'
#   at t/runtime.t line 17.
#                   ''
#     doesn't match '(?^m:^COP\s+[1-9]\d*$)'
# Looks like you failed 4 tests of 6.
t/runtime.t ................. 
Dubious, test returned 4 (wstat 1024, 0x400)
Failed 4/6 subtests 
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require.
BEGIN failed--compilation aborted.

#   Failed test '-MB::Stats=-t => c'
#   at t/table.t line 11.
#                   ''
#     doesn't match '(?^m:^B::Stats static compile-time:)'

#   Failed test '-MB::Stats=-t => e'
#   at t/table.t line 12.
#                   ''
#     doesn't match '(?^m:^B::Stats static end-time:)'

#   Failed test '-MB::Stats=-t => r'
#   at t/table.t line 13.
#                   ''
#     doesn't match '(?^m:^B::Stats dynamic run-time:)'

#   Failed test '-MB::Stats,-t => !u'
#   at t/table.t line 14.
#                   ''
#     doesn't match '(?^m:^op class:)'

#   Failed test '-MB::Stats,-t => t'
#   at t/table.t line 15.
#                   ''
#     doesn't match '(?^m:^B::Stats table:)'

#   Failed test 'nextstate in -c'
#   at t/table.t line 17.
#                   ''
#     doesn't match '(?^m:^nextstate\s+[1-9]\d+$)'

#   Failed test 'nextstate in table'
#   at t/table.t line 18.
#                   ''
#     doesn't match '(?^m:^nextstate\s+[1-9]\d+\s+[1-9]\d+\s+)'
Can't locate B/Stats/Minus.pm in @INC (you may need to install the B::Stats::Minus module) (@INC contains: C:\sources\B-Stats\blib\arch C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\lib C:\sources\B-Stats\blib\arch C:/perl519/site/lib C:/perl519/lib .) at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
BEGIN failed--compilation aborted at C:\sources\B-Stats\blib\lib/B/Stats.pm line 101.
Compilation failed in require.
BEGIN failed--compilation aborted.

#   Failed test '-MB::Stats=-t,-u => c'
#   at t/table.t line 22.
#                   ''
#     doesn't match '(?^m:^B::Stats static compile-time:)'

#   Failed test '-MB::Stats=-t,-u => e'
#   at t/table.t line 23.
#                   ''
#     doesn't match '(?^m:^B::Stats static end-time:)'

#   Failed test '-MB::Stats=-t,-u => r'
#   at t/table.t line 24.
#                   ''
#     doesn't match '(?^m:^B::Stats dynamic run-time:)'

#   Failed test '-MB::Stats,-t,-u => t'
#   at t/table.t line 26.
#                   ''
#     doesn't match '(?^m:^B::Stats table:)'

#   Failed test 'nextstate in table (c+e)'
#   at t/table.t line 29.
#                   ''
#     doesn't match '(?^m:^nextstate\s+[1-9]\d+\s+[1-9]\d+)'

#   Failed test 'nextstate in table (c+e+r)'
#   at t/table.t line 30.
#                   ''
#     doesn't match '(?^m:^nextstate\s+[1-9]\d*\s+[1-9]\d*\s+[1-9]\d*)'
# Looks like you failed 13 tests of 15.
t/table.t ................... 
Dubious, test returned 13 (wstat 3328, 0xd00)
Failed 13/15 subtests 
t/z_kwalitee.t .............. skipped: Test::Kwalitee needed for testing kwalitee
t/z_meta.t .................. skipped: Test::CPAN::Meta 0.12 not available for testing
t/z_perl_minimum_version.t .. skipped: Perl::MinimumVersion 1.20 not available for testing
t/z_pod-coverage.t .......... skipped: Test::Pod::Coverage 1.04 required for testing POD coverage
t/z_pod.t ................... skipped: Test::Pod 1.00 required for testing POD

Test Summary Report
-------------------
t/compile.t               (Wstat: 1024 Tests: 5 Failed: 4)
  Failed tests:  1, 3-5
  Non-zero exit status: 4
t/options.t               (Wstat: 1536 Tests: 15 Failed: 6)
  Failed tests:  1, 5, 8-9, 12-13
  Non-zero exit status: 6
t/runtime.t               (Wstat: 1024 Tests: 6 Failed: 4)
  Failed tests:  3-6
  Non-zero exit status: 4
t/table.t                 (Wstat: 3328 Tests: 15 Failed: 13)
  Failed tests:  1-10, 12, 14-15
  Non-zero exit status: 13
Files=10, Tests=44,  2 wallclock secs ( 0.03 usr +  0.05 sys =  0.08 CPU)
Result: FAIL
Failed 4/10 test programs. 27/44 subtests failed.
NMAKE : fatal error U1077: 'C:\perl519\bin\perl.exe' : return code '0xff'
Stop.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.