前からDBIx::MoCoを入れようとするたびにMath::BigInt::Lite 0.12のテストが通らなくてゲンナリするんだけど
今日x86_64のperl5.10でやったら余裕でテスト通った。
通らないテストはt/bigintpm.incの200行目で、
x86 perl5.8.9 try: $x = Math::BigInt::Lite->new("10000000");$y = Math::BigInt::Lite->new('10');$x->blog($y); ans: 7 not ok 77 # Tried: '$x = Math::BigInt::Lite->new("10000000");$y = Math::BigInt::Lite->new('10');$x->blog($y);' x86_64 perl5.10.0 try: $x = Math::BigInt::Lite->new("10000000");$y = Math::BigInt::Lite->new('10');$x->blog($y); ans: 7 7 ok 77
10**7の常用対数をとるとx86_64だとちゃんと7が返ってくるけど
x86だとundefになってしまうみたい。
Math::BigInt::Lite.pm 86行目のコメントをはずして
- # print "MAX_NEW_LEN $MAX_NEW_LEN MAX_ADD $MAX_ADD MAX_MUL $MAX_MUL\n\n"; + print "MAX_NEW_LEN $MAX_NEW_LEN MAX_ADD $MAX_ADD MAX_MUL $MAX_MUL\n\n";
Math::BigInt::Liteをuseしてみると
x86 perl5.8.9 MAX_NEW_LEN 7 MAX_ADD 10000000 MAX_MUL 10000000 x86_64 perl5.10.0 MAX_NEW_LEN 8 MAX_ADD 100000000 MAX_MUL 100000000
MAX_NEW_LENを勝手に8にしたらMath::BigInt::Liteのテストは通ったけど
DBIx::MoCoのt/08-muid.tは失敗するまま\(^o^)/
t/08-muid.t ............ 1/? # Failed test 'greater than 2 ** 56' # at t/08-muid.t line 22. # (in ThisTest->muid) # Failed test 'greater than 2 ** 56' # at t/08-muid.t line 28. # (in ThisTest->muid) # Looks like you failed 2 tests of 11. t/08-muid.t ............ Dubious, test returned 2 (wstat 512, 0x200) Failed 2/11 subtests
結局make installして入れちゃったけど、
自分の感性とかユースケースに近いのは
Data::Model > Data::ObjectDriver > DBIx::MoCoな感じだから
MoCoはこのまま放置になりそ。