From e98a39260a1b33725bd292b3d2b1bde625416ce1 Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Wed, 17 Nov 2010 12:25:36 +0000 Subject: [PATCH 1/1] NOBUG standardising prevention of output buffering we should really add some new define before the config.php inclusion soon --- admin/report/unittest/dbtest.php | 19 ++++++++++++++----- admin/report/unittest/index.php | 14 ++++++++++++++ 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/admin/report/unittest/dbtest.php b/admin/report/unittest/dbtest.php index 109421b8799..8e4725685ed 100644 --- a/admin/report/unittest/dbtest.php +++ b/admin/report/unittest/dbtest.php @@ -11,6 +11,20 @@ require_once($CFG->libdir.'/simpletestcoveragelib.php'); require_once('ex_simple_test.php'); require_once('ex_reporter.php'); +// disable compression, it would prevent closing of buffers +if (ini_get('zlib.output_compression')) { + ini_set('zlib.output_compression', 'Off'); +} + +// try to flush everything all the time +ob_implicit_flush(true); +while(ob_get_level()) { + if (!ob_end_clean()) { + // prevent infinite loop + break; + } +} + $showpasses = optional_param('showpasses', false, PARAM_BOOL); $codecoverage = optional_param('codecoverage', false, PARAM_BOOL); $selected = optional_param('selected', array(), PARAM_INT); @@ -68,11 +82,6 @@ for ($i=1; $i<=10; $i++) { } if (!empty($tests)) { - @ob_implicit_flush(true); - while(ob_get_level()) { - ob_end_flush(); - } - $covreporter = new moodle_coverage_reporter('Functional DB Tests Code Coverage Report', 'dbtest'); $covrecorder = new moodle_coverage_recorder($covreporter); diff --git a/admin/report/unittest/index.php b/admin/report/unittest/index.php index 814ceabe49b..c5768997c43 100644 --- a/admin/report/unittest/index.php +++ b/admin/report/unittest/index.php @@ -15,6 +15,20 @@ require_once($CFG->libdir.'/simpletestcoveragelib.php'); require_once('ex_simple_test.php'); require_once('ex_reporter.php'); +// disable compression, it would prevent closing of buffers +if (ini_get('zlib.output_compression')) { + ini_set('zlib.output_compression', 'Off'); +} + +// try to flush everything all the time +ob_implicit_flush(true); +while(ob_get_level()) { + if (!ob_end_clean()) { + // prevent infinite loop + break; + } +} + // Always run the unit tests in developer debug mode. $CFG->debug = DEBUG_DEVELOPER; error_reporting($CFG->debug); -- 2.43.0