[ticket/15214] Fix Windows tests

Purge Twig compiled cache in Windows.
Set appropriate folder access control options to do that.

PHPBB3-15214
This commit is contained in:
rxu 2023-12-10 14:02:30 +07:00 committed by toxyy
parent 96ce8e7363
commit 50d4e6ba34
8 changed files with 38 additions and 8 deletions

View file

@ -543,9 +543,7 @@ jobs:
New-WebHandler -Name "PHP-FastCGI" -Path "*.php" -Modules FastCgiModule -ScriptProcessor "C:\tools\php\php-cgi.exe" -Verb '*' -ResourceType Either
iisreset
NET START W3SVC
mkdir "${env:GITHUB_WORKSPACE}\phpBB\cache\test"
mkdir "${env:GITHUB_WORKSPACE}\phpBB\cache\installer"
icacls "${env:GITHUB_WORKSPACE}\phpBB\cache" /grant Users:F /T
icacls "${env:GITHUB_WORKSPACE}\phpBB\cache" /grant "Users:(OI)(CI)F" /T
icacls "${env:GITHUB_WORKSPACE}\phpBB\files" /grant Users:F /T
icacls "${env:GITHUB_WORKSPACE}\phpBB\store" /grant Users:F /T
icacls "${env:GITHUB_WORKSPACE}\phpBB\images\avatars\upload" /grant Users:F /T

View file

@ -55,6 +55,13 @@ class phpbb_functional_extension_controller_test extends phpbb_functional_test_c
$this->purge_cache();
}
protected function tearDown(): void
{
$this->purge_cache();
parent::tearDown();
}
/**
* Check a controller for extension foo/bar.
*/

View file

@ -54,9 +54,9 @@ class phpbb_functional_extension_global_lang_test extends phpbb_functional_test_
protected function tearDown(): void
{
parent::tearDown();
$this->purge_cache();
parent::tearDown();
}
public function test_load_extension_lang_globally()
@ -71,5 +71,7 @@ class phpbb_functional_extension_global_lang_test extends phpbb_functional_test_
// language from ext/foo/bar/language/en/foo_global.php
$this->assertStringContainsString('Overwritten by foo', $crawler->filter('.skiplink')->text());
$this->phpbb_extension_manager->purge('foo/bar');
}
}

View file

@ -40,6 +40,14 @@ class phpbb_functional_extension_module_test extends phpbb_functional_test_case
self::$helper->restore_original_ext_dir();
}
protected function tearDown(): void
{
$this->phpbb_extension_manager->purge('foo/bar');
$this->purge_cache();
parent::tearDown();
}
protected function setUp(): void
{
global $db;
@ -131,7 +139,5 @@ class phpbb_functional_extension_module_test extends phpbb_functional_test_case
$link = $crawler->selectLink('UCP_FOOBAR_TITLE')->link()->getUri();
$crawler = self::request('GET', substr($link, strpos($link, 'ucp.')));
$this->assertStringContainsString('UCP Extension Template Test Passed!', $crawler->filter('#content')->text());
$this->phpbb_extension_manager->purge('foo/bar');
}
}

View file

@ -41,6 +41,13 @@ class phpbb_functional_extension_permission_lang_test extends phpbb_functional_t
self::$helper->restore_original_ext_dir();
}
protected function tearDown(): void
{
$this->purge_cache();
parent::tearDown();
}
protected function setUp(): void
{
parent::setUp();
@ -82,5 +89,7 @@ class phpbb_functional_extension_permission_lang_test extends phpbb_functional_t
// language from ext/foo/bar/language/en/permissions_foo.php
$this->assertStringContainsString('Can view foobar', $crawler->filter('body')->text());
$this->phpbb_extension_manager->purge('foo/bar');
}
}

View file

@ -39,6 +39,13 @@ class phpbb_functional_extension_template_event_order_test extends phpbb_functio
self::$helper->restore_original_ext_dir();
}
protected function tearDown(): void
{
$this->purge_cache();
parent::tearDown();
}
protected function setUp(): void
{
parent::setUp();

View file

@ -26,6 +26,7 @@ class phpbb_functional_metadata_manager_test extends phpbb_functional_test_case
protected function tearDown(): void
{
$this->phpbb_extension_manager->purge('foo/bar');
$this->purge_cache();
parent::tearDown();

View file

@ -980,7 +980,7 @@ class phpbb_functional_test_case extends phpbb_test_case
// Any output before the doc type means there was an error
$content = self::get_content();
self::assertStringNotContainsString('[phpBB Debug]', $content);
self::assertStringStartsWith('<!DOCTYPE', strtoupper(substr(trim($content), 0, 10)), 'Output found before DOCTYPE specification.');
self::assertStringStartsWith('<!DOCTYPE', strtoupper(substr(trim($content), 0, 10000)), 'Output found before DOCTYPE specification.');
if ($status_code !== false)
{