ID:               39097
 Updated by:       [EMAIL PROTECTED]
 Reported By:      phpbugrep-20061009 at pgregg dot com
-Status:           Open
+Status:           Closed
 Bug Type:         Unknown/Other Function
 Operating System: FreeBSD
 PHP Version:      5.2.0RC5
 New Comment:

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.

Thanks.


Previous Comments:
------------------------------------------------------------------------

[2006-10-09 16:51:24] phpbugrep-20061009 at pgregg dot com

Fix for the test:

*** ext/standard/tests/math/constants.phpt.bak  Mon Oct  9 17:47:37
2006
--- ext/standard/tests/math/constants.phpt      Mon Oct  9 17:49:02
2006
***************
*** 25,46 ****
      printf("%-10s: %.14s\n", $constant, constant($constant));
  }
  ?>
! --EXPECT--
! M_E       : 2.718281828459
! M_LOG2E   : 1.442695040889
! M_LOG10E  : 0.434294481903
! M_LN2     : 0.693147180559
! M_LN10    : 2.302585092994
! M_PI      : 3.141592653589
! M_PI_2    : 1.570796326794
! M_PI_4    : 0.785398163397
! M_1_PI    : 0.318309886183
! M_2_PI    : 0.636619772367
! M_SQRTPI  : 1.772453850905
! M_2_SQRTPI: 1.128379167095
! M_LNPI    : 1.144729885849
! M_EULER   : 0.577215664901
! M_SQRT2   : 1.414213562373
! M_SQRT1_2 : 0.707106781186
! M_SQRT3   : 1.732050807568

--- 25,46 ----
      printf("%-10s: %.14s\n", $constant, constant($constant));
  }
  ?>
! --EXPECTREGEX--
! M_E       : 2.718281[0-9]*
! M_LOG2E   : 1.442695[0-9]*
! M_LOG10E  : 0.434294[0-9]*
! M_LN2     : 0.693147[0-9]*
! M_LN10    : 2.302585[0-9]*
! M_PI      : 3.141592[0-9]*
! M_PI_2    : 1.570796[0-9]*
! M_PI_4    : 0.785398[0-9]*
! M_1_PI    : 0.318309[0-9]*
! M_2_PI    : 0.636619[0-9]*
! M_SQRTPI  : 1.772453[0-9]*
! M_2_SQRTPI: 1.128379[0-9]*
! M_LNPI    : 1.144729[0-9]*
! M_EULER   : 0.577215[0-9]*
! M_SQRT2   : 1.414213[0-9]*
! M_SQRT1_2 : 0.707106[0-9]*
! M_SQRT3   : 1.732050[0-9]*

------------------------------------------------------------------------

[2006-10-09 16:40:33] phpbugrep-20061009 at pgregg dot com

If that is the case, then the report becomes one of a broken test.   
How can it be bogus when a standard "make test" fails with
ext/standard/tests/math/constants.phpt

The "goal of the test is to make sure they are defined, not 
their value." <--- this sure is not what the test is coded to do.

------------------------------------------------------------------------

[2006-10-09 16:20:17] [EMAIL PROTECTED]

The constants are system dependent.
If your system doesn't define them, PHP should do so.
The goal of the test is to make sure they are defined, not 
their value.

------------------------------------------------------------------------

[2006-10-09 15:45:21] phpbugrep-20061009 at pgregg dot com

Sorry "Description" should say: Running make test on 5.2.0RC5 fails
with

------------------------------------------------------------------------

[2006-10-09 15:43:56] phpbugrep-20061009 at pgregg dot com

Description:
------------
Running make test on 5.2.0RC4 fails with:
FAIL Math constants [ext/standard/tests/math/constants.phpt]


Reproduce code:
---------------
Add this additional debug to run-tests.php at line 1494:

$output_pgarr = explode("\n", $output);
$wanted_pgarr = explode("\n", $wanted);
foreach($wanted_pgarr as $line) {
  list($pgleft, $pgright) = explode(":", $line, 2);
  $pgleft = trim($pgleft); $pgright = trim($pgright);
  $pgwanted[$pgleft] = "$pgright";
}
foreach($output_pgarr as $line) {
  list($pgleft, $pgright) = explode(":", $line, 2);
  $pgleft = trim($pgleft); $pgright = trim($pgright);
  if (strcmp($pgright, $pgwanted[$pgleft]) !== 0)
    printf("%-10s: Expected: %-16s Got: %-16s  Diff: %s\n", $pgleft,
$pgwanted[$pgleft], $pgright, bcsub($pgwant
ed[$pgleft], $pgright,12));
}


% echo "ext/standard/tests/math/constants.phpt" > pgtest.txt
% php run-tests.php -l pgtest.txt



Expected result:
----------------
Expected test to PASS

Actual result:
--------------
Added more code to run-tests.php to report on what was going on and
got:
M_E       : Expected: 2.718281828459   Got: 2.71828182846     Diff:
-0.000000000001
M_LOG2E   : Expected: 1.442695040889   Got: 1.44269504089     Diff:
-0.000000000001
M_LN2     : Expected: 0.693147180559   Got: 0.69314718056     Diff:
-0.000000000001
M_LN10    : Expected: 2.302585092994   Got: 2.30258509299     Diff:
0.000000000004
M_PI      : Expected: 3.141592653589   Got: 3.14159265359     Diff:
-0.000000000001
M_PI_2    : Expected: 1.570796326794   Got: 1.57079632679     Diff:
0.000000000004
M_1_PI    : Expected: 0.318309886183   Got: 0.318309886184    Diff:
-0.000000000001
M_2_PI    : Expected: 0.636619772367   Got: 0.636619772368    Diff:
-0.000000000001
M_SQRTPI  : Expected: 1.772453850905   Got: 1.77245385091     Diff:
-0.000000000005
M_2_SQRTPI: Expected: 1.128379167095   Got: 1.1283791671      Diff:
-0.000000000005
M_LNPI    : Expected: 1.144729885849   Got: 1.14472988585     Diff:
-0.000000000001
M_EULER   : Expected: 0.577215664901   Got: 0.577215664902    Diff:
-0.000000000001
M_SQRT2   : Expected: 1.414213562373   Got: 1.41421356237     Diff:
0.000000000003
M_SQRT1_2 : Expected: 0.707106781186   Got: 0.707106781187    Diff:
-0.000000000001
M_SQRT3   : Expected: 1.732050807568   Got: 1.73205080757     Diff:
-0.000000000002
FAIL Math constants [ext/standard/tests/math/constants.phpt]

As you can see, we have lost a decimal place of precision.
plop:root/p2-/usr/local/src/Web/Apache2_PHP5/php-5.2.0RC5-862#->uname
-a                                 4:38PM
FreeBSD plop.pgregg.com 5.5-PRERELEASE FreeBSD 5.5-PRERELEASE #4: Tue
Mar  7 13:49:31 GMT 2006    
[EMAIL PROTECTED]:/usr/obj/usr/src/sys/PGREGG_PLOP  i386

This test passed ok in 5.2.0RC4




------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=39097&edit=1

Reply via email to