Re: Broken tests

From: Date: Fri, 26 Dec 2014 18:07:42 +0000
Subject: Re: Broken tests
References: 1 2 3 4 5  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-83879@lists.php.net to get a copy of this message
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]$ >>>> >>>> >>>> >>> >> >

« previous php.cvs (#83879) next »