All of the Math::BigInt tests failed with today's snapshot. The
provisional patch at the end of this message gets some things
working. The only problem it really fixes was that
File::Spec->catdir produces -- surprise -- a directory name and not a
file name. I'm seeing quite a few remaining failures and I hope to
post more details tomorrow. I added a warning that narrows some
problems down a bit. This was with a -des configure on OpenVMS Alpha
7.3.
Here's the current scorecard:
[-.lib.math.bigint.t]bare_mbf...........FAILED on test 1602
[-.lib.math.bigint.t]bare_mbi...........ok
[-.lib.math.bigint.t]bigfltpm...........FAILED on test 1602
[-.lib.math.bigint.t]bigintc............ok
[-.lib.math.bigint.t]bigintpm...........ok
[-.lib.math.bigint.t]calling............FAILED on test 142
[-.lib.math.bigint.t]config.............ok
[-.lib.math.bigint.t]constant...........FAILED on test 8
[-.lib.math.bigint.t]downgrade..........FAILED on test 12
[-.lib.math.bigint.t]inf_nan............FAILED on test 337
[-.lib.math.bigint.t]isa................FAILED on test 8
[-.lib.math.bigint.t]mbimbf.............FAILED on test 455
[-.lib.math.bigint.t]mbi_rand...........ok
[-.lib.math.bigint.t]require............ok
[-.lib.math.bigint.t]sub_mbf............FAILED on test 1608
[-.lib.math.bigint.t]sub_mbi............ok
[-.lib.math.bigint.t]sub_mif............FAILED on test 439
[-.lib.math.bigint.t]upgrade............FAILED on test 1
[-.lib.math.bigint.t]use................ok
[-.lib.math.bigint.t]use_lib1...........FAILED on test 3
[-.lib.math.bigint.t]use_lib2...........FAILED on test 3
[-.lib.math.bigint.t]use_lib3...........FAILED on test 3
[-.lib.math.bigint.t]use_lib4...........FAILED on test 3
One failure looks like this:
$ perl [-.lib.math.bigint.t]bare_mbf.t
# INC = [-.lib.math.bigint.t] ../lib perl_root:[lib.VMS_AXP.5_7_3] perl_root:[lib]
perl_root:[lib.site_perl.VMS_AXP] perl_root:[lib.
site_perl] /perl_root/lib/site_perl .
1..1601
Unhandled case BareCalc at ../lib/Math/BigFloat.pm line 1697.
not ok 1
# Test 1 got: 'Math::BigInt::Calc' (../lib/math/bigint/t/bigfltpm.inc at line 3)
# Expected: 'Math::BigInt::BareCalc'
ok 2
ok 3
.. . .
Here's the patch. Perhaps Tels should comment; I doubt this is really ready to be
applied yet.
--- lib/Math/BigFloat.pm;-0 Sat Mar 23 15:02:55 2002
+++ lib/Math/BigFloat.pm Sat Mar 23 22:49:03 2002
@@ -1670,32 +1670,36 @@
{
# this causes upgrading
$upgrade = $_[$i+1]; # or undef to disable
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "cannot modify non-existent..."
splice @a, $j, $s; $j -= $s;
}
elsif ($_[$i] eq 'downgrade')
{
# this causes downgrading
$downgrade = $_[$i+1]; # or undef to disable
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "cannot modify non-existent..."
splice @a, $j, $s; $j -= $s;
}
elsif ($_[$i] eq 'lib')
{
$lib = $_[$i+1] || ''; # default Calc
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "cannot modify non-existent..."
splice @a, $j, $s; $j -= $s;
}
elsif ($_[$i] eq 'with')
{
$MBI = $_[$i+1] || 'Math::BigInt'; # default Math::BigInt
- my $s = 2; $s = 1 if @a-$j < 2; # avoid "can not modify non-existant..."
+ my $s = 2; $s = 1 if @a-$j < 2; # avoid "cannot modify non-existent..."
splice @a, $j, $s; $j -= $s;
}
+ else
+ {
+ warn "Unhandled case $_[$i]"
+ }
}
my @parts = split /::/, $MBI; # Math::BigInt => Math BigInt
my $file = pop @parts; $file .= '.pm'; # BigInt => BigInt.pm
- $file = File::Spec->catdir (@parts, $file);
+ $file = File::Spec->catfile (@parts, $file);
# let use Math::BigInt lib => 'GMP'; use Math::BigFloat; still work
my $mbilib = eval { Math::BigInt->config()->{lib} };
$lib .= ",$mbilib" if defined $mbilib;
[end of patch]
--
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser