我正在重建和升级PHP(5.3.2 - > 5.5.14)以匹配当前安装,但添加了pthread模块。
我的主要问题是制造测试失败的严重性。目前我在大约12,000次测试中遇到29次失败。 (它们主要与DBA相关,我可能只需要用不同的选项或其他东西重新编译)。一些失败给出了与PHP错误案例相关的数字。我已经访问了这些案例的页面,它们都是在一两年前关闭的,并且是针对PHP 4.3或类似的东西,他们说这些问题已得到解决。
一切都在编译和安装就好了(我还没有启动apache,所以我不知道它是否100%工作,但我已经能够通过php命令运行PHP脚本了),那么我是否需要担心make test的失败?或者它们是否真的已经解决,因为案例页面说并且测试尚未更新? (如果需要,我可以链接实际情况。)
错误代码:
Bug #36436 (DBA problem with Berkeley DB4) [ext/dba/tests/bug36436.phpt]
Bug #48240 (DBA Segmentation fault dba_nextkey) [ext/dba/tests/bug48240.phpt]
Bug #49125 (Error in dba_exists C code) [ext/dba/tests/bug49125.phpt]
Bug #42298 (pcre gives bogus results with /u) [ext/pcre/tests/bug42298.phpt]
Bug #42737 (preg_split('//u') triggers a E_NOTICE with newlines[ext/pcre/tests/bug42737.phpt]
Bug #52971 (PCRE-Meta-Characters not working with utf-8) [ext/pcre/tests/bug52971.phpt]
答案 0 :(得分:0)
测试的重点是应该通过。如果在进行更改后测试通过,则测试人员可以确信测试中的基础行为未因更改而发生更改。如果在进行更改后测试失败,则表示更改导致基础行为完全改变或中断。
通常情况下,在测试套件中破坏测试而不修复它们并不是一个好习惯,因为那样你就会失去首先实现测试的价值。如果您不想保留功能,那么首先测试的重点是什么?
返回升级并查看是否有任何错误。如果不是,则考虑修改或删除它们。测试可能会失败,因为PHP版本之间存在一些差异,或者可能是因为升级语言的方式导致了问题。