Skip to content

Commit

Permalink
MDL-52487 rss: PHP 7 compatible error supression
Browse files Browse the repository at this point in the history
PHP5 used to update error_reporting to 0 on functions called with the
suppress errors operator (@). In PHP7 it is not updated.

Credit to Rajesh Taneja.
  • Loading branch information
David Monllao committed Dec 14, 2015
1 parent 0dfcc25 commit abc4e1e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
16 changes: 12 additions & 4 deletions blocks/rss_client/tests/cron_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class block_rss_client_cron_testcase extends advanced_testcase {
* than the current time the attempt is skipped.
*/
public function test_skip() {
global $DB;
global $DB, $CFG;
$this->resetAfterTest();
// Create a RSS feed record with a skip until time set to the future.
$record = (object) array(
Expand All @@ -57,8 +57,12 @@ public function test_skip() {

$block = new block_rss_client();
ob_start();

// Silence SimplePie php notices.
@$block->cron();
$errorlevel = error_reporting($CFG->debug & ~E_USER_NOTICE);
$block->cron();
error_reporting($errorlevel);

$cronoutput = ob_get_clean();
$this->assertContains('skipping until ' . userdate($record->skipuntil), $cronoutput);
$this->assertContains('0 feeds refreshed (took ', $cronoutput);
Expand All @@ -68,7 +72,7 @@ public function test_skip() {
* Test that when a feed has an error the skip time is increaed correctly.
*/
public function test_error() {
global $DB;
global $DB, $CFG;
$this->resetAfterTest();
$time = time();
// A record that has failed before.
Expand Down Expand Up @@ -113,8 +117,12 @@ public function test_error() {
// Run the cron.
$block = new block_rss_client();
ob_start();

// Silence SimplePie php notices.
@$block->cron();
$errorlevel = error_reporting($CFG->debug & ~E_USER_NOTICE);
$block->cron();
error_reporting($errorlevel);

$cronoutput = ob_get_clean();
$skiptime1 = $record->skiptime * 2;
$message1 = 'http://example.com/rss Error: could not load/find the RSS feed - skipping for ' . $skiptime1 . ' seconds.';
Expand Down
7 changes: 6 additions & 1 deletion lib/tests/rsslib_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,12 @@ public function test_getfeed() {
* Test retrieving a url which doesn't exist.
*/
public function test_failurl() {
$feed = @new moodle_simplepie($this->getExternalTestFileUrl('/rsstest-which-doesnt-exist.xml'), self::TIMEOUT); // We do not want this in php error log.
global $CFG;

// We do not want this in php error log.
$errorlevel = error_reporting($CFG->debug & ~E_USER_NOTICE);
$feed = new moodle_simplepie($this->getExternalTestFileUrl('/rsstest-which-doesnt-exist.xml'), self::TIMEOUT);
error_reporting($errorlevel);

$this->assertNotEmpty($feed->error());
}
Expand Down

0 comments on commit abc4e1e

Please sign in to comment.