php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #70579 Test ext/gmp/tests/gmp_random_seed.phpt broken
Submitted: 2015-09-25 10:17 UTC Modified: 2015-12-11 19:52 UTC
From: rainer dot jung at kippdata dot de Assigned: nikic (profile)
Status: Closed Package: GNU MP related
PHP Version: 7.0.0RC3 OS:
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: rainer dot jung at kippdata dot de
New email:
PHP Version: OS:

 

 [2015-09-25 10:17 UTC] rainer dot jung at kippdata dot de
Description:
------------
The test ext/gmp/tests/gmp_random_seed.phpt assumes the same responses on every platform. That is not true. The calls to gmp_random() in that test will return different values depending on "number of bits per limb". For a 64 Bit Linux system, the results will always be the same, but e.g. for a 32 Bit Solaris Sparc the results are different (and must be). Probably also for a 32 Bit Linux system (haven't checked that part).

Possible solutions:

- Remove gmp_random() from the test
- Only check for numbers as return, or check for changes of the number between different calls to gmp_random()
- Resolve https://bugs.php.net/bug.php?id=62375 and add different tests for different limb sizes (I don't know how to do a platform specific switch in the test framework)
- Try to detect limb size from the return value of gmp_random(1) and correct arguments of other gmp_random() with a corresponding correction factor. That will not work for gmp_random() without arguments, so drop these calls.
- Use Regexp expectation values to allow all different possible values (at least for limb size 32 and 64).



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2015-12-11 18:52 UTC] nikic@php.net
Could you check if the test is still failing? Unless there is something Solaris specific about it, https://github.com/php/php-src/commit/424a26d5d436a36a91ceb8b67dccedaeee42753d should have fixed the issue.
 [2015-12-11 19:50 UTC] rainer dot jung at kippdata dot de
The test now passes (PHP 7.0.0). Thanks a bunch! I can close the issue if you like, but I guess you prefer doing it yourself.
 [2015-12-11 19:52 UTC] nikic@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: nikic
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 10:01:28 2024 UTC