From b05cfa0e67dffa5e1f6f07fc68278ec917a6dedd Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Wed, 31 Jul 2013 10:46:44 +1200 Subject: [PATCH] MDL-39430 phpunit: skip unmet optional environment checks --- lib/tests/environment_test.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/tests/environment_test.php b/lib/tests/environment_test.php index a8315a1815d..748a3e0795d 100644 --- a/lib/tests/environment_test.php +++ b/lib/tests/environment_test.php @@ -31,6 +31,11 @@ defined('MOODLE_INTERNAL') || die(); */ class core_environment_testcase extends advanced_testcase { + /** + * Test the environment. + * + * @todo MDL-40952 will introduce a way to output something to the user to inform them this has failed. + */ public function test_environment() { global $CFG; @@ -39,6 +44,13 @@ class core_environment_testcase extends advanced_testcase { $this->assertNotEmpty($envstatus); foreach ($environment_results as $environment_result) { + if ($environment_result->getLevel() === 'optional' && $environment_result->getStatus() === false) { + // An optional environment test has failed, we don't want to fail unit tests because of this. + // This was first detected with the opcache notice, see the to do in the phpdoc. + // We are going to fake the assertion count here so that people get consistent numbers. + $this->addToAssertionCount(1); + continue; + } $this->assertTrue($environment_result->getStatus(), "Problem detected in environment ($environment_result->part:$environment_result->info), fix all warnings and errors!"); } }