【问题标题】:PHP make test failuresPHP 使测试失败
【发布时间】:2014-07-25 07:18:15
【问题描述】:

我正在重建和升级 PHP(5.3.2 -> 5.5.14) 以匹配当前安装,除了添加 pthread 模块。

我的主要问题是关于 make 测试失败的严重性。目前,在大约 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]

【问题讨论】:

    标签: php compilation makefile


    【解决方案1】:

    测试的重点是应该通过。如果在进行更改后测试通过,则测试人员可以确信被测的基础行为并未因更改而发生更改。如果在您进行更改后测试失败,则意味着该更改导致底层行为发生更改或完全中断。

    通常情况下,在测试套件中破坏测试而不修复它们不是一个好习惯,因为那样一来您就失去了实施测试的价值。如果您不尝试保留功能,那么首先测试的意义何在?

    返回升级,看看这些错误是否严重。如果不是,请考虑修改或删除它们。测试失败可能是因为您的 PHP 版本之间存在一些差异,或者可能是因为您升级语言的方式导致了问题。

    【讨论】:

      猜你喜欢
      • 2022-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      • 1970-01-01
      • 2016-02-18
      相关资源
      最近更新 更多