The following test suites should be 100% pass but have a crap-ton of exceptions from core's file.inc when run. This causes all testing on D6 modules to get postponed. This is a big blocker for further development.

http://qa.drupal.org/pifr/test/31963 (Token DRUPAL-6--1)
http://qa.drupal.org/pifr/test/31953 (Pathauto DRUPAL-6--1)
http://qa.drupal.org/pifr/test/31958 (Pathauto DRUPAL-6--2)

This is affecting testbots:
#198
#223

CommentFileSizeAuthor
#7 fix_e_deprecated_setting.patch571 bytesberdir

Comments

damien tournoud’s picture

Not sure what we can do here.

Those test bots are configured (in php.ini) with:

error_reporting = E_ALL & ~E_DEPRECATED

for both Apache and CLI.

The test clients on Drupal 6 are using the Simpletest module from contrib. It ships with a patch that (I think) is applied after Drupal 6 is downloaded. (I think, because I cannot make sense of the PIFR code base). This patch replaces the error handler of Drupal 6 with a backport from D7:

+function _drupal_error_handler($error_level, $message, $filename, $line, $context) {
+  if ($error_level & error_reporting()) {
+    ...
+  }
+}

This apparently respects the error_reporting() settings. So I'm not sure where to look after that.

dave reid’s picture

Using latest Drupal 6.x core, Simpletest 6.x.2.x, I can't duplicate these deprecated errors when run under PHP 5.3. :/ Something in PIFR or PIFT has to be messing with the error reporting.

damien tournoud’s picture

The problem is actually in core:

// Hide E_DEPRECATED messages.
if (defined('E_DEPRECATED')) {
  error_reporting(error_reporting() ^ E_DEPRECATED);
}

This actually enables E_DEPRECATED if it is not already enabled :)

damien tournoud’s picture

Project: Drupal.org infrastructure » Drupal core
Version: » 6.x-dev
Component: qa.drupal.org » base system

My bad, I RTBC-ed the faulty patch.

damien tournoud’s picture

Title: PHP 5.3 testbots cause D6 contrib modules to always be postponed » Drupal 6 enables E_DEPRECATED if it is not enabled yet
damien tournoud’s picture

Title: Drupal 6 enables E_DEPRECATED if it is not enabled yet » Drupal 6 enables E_DEPRECATED if it is not enabled yet :)

Nothing better then a little irony.

berdir’s picture

Title: Drupal 6 enables E_DEPRECATED if it is not enabled yet :) » PHP 5.3 testbots cause D6 contrib modules to always be postponed
Status: Active » Needs review
StatusFileSize
new571 bytes

*blush*

Here is the correct patch. Sorry about that...

dave reid’s picture

Status: Needs review » Reviewed & tested by the community

Tested and confirmed working with all possible values of error_reporting in php.ini.

berdir’s picture

Status: Reviewed & tested by the community » Needs review

Crosspost

berdir’s picture

Status: Needs review » Reviewed & tested by the community

omg. Double crosspost :)

berdir’s picture

Title: PHP 5.3 testbots cause D6 contrib modules to always be postponed » Drupal 6 enables E_DEPRECATED if it is not enabled yet :)
gábor hojtsy’s picture

Status: Reviewed & tested by the community » Fixed

Committed, thanks. Happy testing.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.