Re: Broken tests
| From: | Dmitry Stogov | Date: | Fri, 26 Dec 2014 18:09:20 +0000 |
| Subject: | Re: Broken tests | ||
| References: | 1 2 3 4 5 6 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-83880@lists.php.net to get a copy of this message | ||
gmail hides some text :)
> mysqli fetch float values [ext/mysqli/tests/010.phpt]
> mysqli fetch mixed values [ext/mysqli/tests/011.phpt]
> mysqli fetch mixed values 2 [ext/mysqli/tests/012.phpt]
$ cat ../ext/mysqli/tests/010.diff
003+ float(3.141593)
003- float(3.14159274101)
005+ float(-1.0E-6)
005- float(-9.99999997475E-7)
009+ float(1.0E+12)
009- float(999999995904)
011+ float(0.5646425)
011- float(0.564642488956)
015+ float(8.888889E+14)
015- float(8.88888914608E+14)
$ cat ../ext/mysqli/tests/011.diff
011+ float(2345.6)
011- float(2345.60009766)
$ cat ../ext/mysqli/tests/012.diff
011+ float(2.6)
011- float(2.59999990463)
Thanks. Dmitry.
On Fri, Dec 26, 2014 at 9:07 PM, Dmitry Stogov <dmitry@zend.com> wrote:
> I'm not sure if these results reflect the latest committed tests...
> But we definitely have some problem.
>
> I also tried "9.99" as was mentioned in your comments and got "9.99" in
> DEBUG build but, "9.99899..." in RELEASE and build with libmysql.
>
> Thanks. Dmitry.
>
> > mysqli fetch float values [ext/mysqli/tests/010.phpt]
> > mysqli fetch mixed values [ext/mysqli/tests/011.phpt]
> > mysqli fetch mixed values 2 [ext/mysqli/tests/012.phpt]
>
> $ cat ../ext/mysqli/tests/010.diff
> 003+ float(3.141593)
> 003- float(3.14159274101)
> 005+ float(-1.0E-6)
> 005- float(-9.99999997475E-7)
> 009+ float(1.0E+12)
> 009- float(999999995904)
> 011+ float(0.5646425)
> 011- float(0.564642488956)
> 015+ float(8.888889E+14)
> 015- float(8.88888914608E+14)
>
> $ cat ../ext/mysqli/tests/011.diff
> 011+ float(2345.6)
> 011- float(2345.60009766)
>
> $ cat ../ext/mysqli/tests/012.diff
> 011+ float(2.6)
> 011- float(2.59999990463)
>
> On Fri, Dec 26, 2014 at 8:56 PM, Keyur Govande <keyurgovande@gmail.com>
> wrote:
>
>>
>>
>> On Fri, Dec 26, 2014 at 12:53 PM, Dmitry Stogov <dmitry@zend.com> wrote:
>>
>>> Hi Keyer,
>>>
>>> In my tests (Linux x86 and x86_64) the current behavior of mysqlnd
>>> differ form libmysql.
>>>
>>> Also your patch works differently in DEBUG and RELEASE mode.
>>> GCC just eliminates double conversion and makes your patch useless for
>>> RELEASE build (this may be fixed adding "volatile")
>>> I'm not completely sure what behavior is right.
>>> It would be great if you decide what should be done with Andrey and fix
>>> this.
>>>
>>> The fixes back and forth were done because of misunderstanding of real
>>> problem.
>>>
>>> Thanks. Dmitry.
>>>
>>
>> Hi Dmitry,
>>
>> Can you provide a test script and outputs you're seeing so I can try to
>> reproduce it?
>>
>>
>>>
>>>
>>> On Fri, Dec 26, 2014 at 8:25 PM, Keyur Govande <keyurgovande@gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Fri, Dec 26, 2014 at 10:14 AM, Dmitry Stogov <dmitry@zend.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> It seems like the source of the problem is commit c044164a authored by
>>>>> Keyur,
>>>>>
>>>>> I caught the problem because the behavior is different in DEBUG and
>>>>> RELEASE builds.
>>>>> However, I think the behavior introduced by that patch may be wrong.
>>>>> At least it produces different results in comparison to libmysql.
>>>>>
>>>>> Andrey, please made a decision.
>>>>>
>>>>> Thanks. Dmitry.
>>>>>
>>>>
>>>> Hello,
>>>>
>>>> I am a bit confused...I see that commit c2a047cf reverts my commit to
>>>> fix failing tests (4e2c016). But then c2a047cf was also reverted back by
>>>> 4409b6db3 a few hours back.
>>>>
>>>> Is there something I can help with? The original patch c044164a was
>>>> authored to fix bug #67839 and bring mysqli in parity with libmysql's
>>>> behavior on floating point numbers.
>>>>
>>>> Thanks,
>>>> Keyur.
>>>>
>>>>
>>>>>
>>>>>
>>>>> ---------- Forwarded message ----------
>>>>> From: Dmitry Stogov <dmitry@zend.com>
>>>>> Date: Fri, Dec 26, 2014 at 5:18 PM
>>>>> Subject: Broken tests
>>>>> To: Xinchen Hui <xinchen.h@zend.com>
>>>>> Cc: keyur_govande@yahoo.com, "php-cvs@lists.php.net" <
>>>>> php-cvs@lists.php.net>
>>>>>
>>>>>
>>>>> Hi Xinchen,
>>>>>
>>>>> The commit c2a047cf99f3d020bab12701e8dafed7424673bf made few tests to
>>>>> start fail on 32-bit DEBUG build. The same tests seems to work in RELEASE
>>>>> build.
>>>>>
>>>>> Are you sure these the are changed in a proper way?
>>>>> For me it looks like something was broken in code, and then tests were
>>>>> adjusted for wrong new behaviour.
>>>>>
>>>>> Please, find the source of the problem.
>>>>>
>>>>> Thanks. Dmitry.
>>>>>
>>>>> > mysqli fetch float values [ext/mysqli/tests/010.phpt]
>>>>> > mysqli fetch mixed values [ext/mysqli/tests/011.phpt]
>>>>> > mysqli fetch mixed values 2 [ext/mysqli/tests/012.phpt]
>>>>>
>>>>> $ cat ../ext/mysqli/tests/010.diff
>>>>> 003+ float(3.141593)
>>>>> 003- float(3.14159274101)
>>>>> 005+ float(-1.0E-6)
>>>>> 005- float(-9.99999997475E-7)
>>>>> 009+ float(1.0E+12)
>>>>> 009- float(999999995904)
>>>>> 011+ float(0.5646425)
>>>>> 011- float(0.564642488956)
>>>>> 015+ float(8.888889E+14)
>>>>> 015- float(8.88888914608E+14)
>>>>>
>>>>> $ cat ../ext/mysqli/tests/011.diff
>>>>> 011+ float(2345.6)
>>>>> 011- float(2345.60009766)
>>>>>
>>>>> $ cat ../ext/mysqli/tests/012.diff
>>>>> 011+ float(2.6)
>>>>> 011- float(2.59999990463)[dmitry@tpl2 CGI-DEBUG]$
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>