Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
drupal
Manage
Activity
Members
Labels
Plan
Wiki
Custom issue tracker
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Model registry
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
project
drupal
Commits
de2e8a99
Commit
de2e8a99
authored
9 years ago
by
Alex Pott
Browse files
Options
Downloads
Patches
Plain Diff
Issue
#2554065
by neclimdul, larowlan: Fix APC test for PHP 7
parent
b95d2c83
No related branches found
No related tags found
2 merge requests
!7452
Issue #1797438. HTML5 validation is preventing form submit and not fully...
,
!789
Issue #3210310: Adjust Database API to remove deprecated Drupal 9 code in Drupal 10
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
core/modules/system/src/Tests/Cache/ApcuBackendUnitTest.php
+147
-2
147 additions, 2 deletions
core/modules/system/src/Tests/Cache/ApcuBackendUnitTest.php
with
147 additions
and
2 deletions
core/modules/system/src/Tests/Cache/ApcuBackendUnitTest.php
+
147
−
2
View file @
de2e8a99
...
...
@@ -17,8 +17,18 @@
*/
class
ApcuBackendUnitTest
extends
GenericCacheBackendUnitTestBase
{
protected
function
checkRequirements
()
{
$requirements
=
parent
::
checkRequirements
();
/**
* Get a list of failed requirements.
*
* This specifically bypasses checkRequirements because it fails tests. PHP 7
* does not have APC and simpletest does not have a explicit "skip"
* functionality so to emulate it we override all test methods and explicitly
* pass when requirements are not met.
*
* @return array
*/
protected
function
getRequirements
()
{
$requirements
=
[];
if
(
!
extension_loaded
(
'apc'
))
{
$requirements
[]
=
'APC extension not found.'
;
}
...
...
@@ -33,10 +43,35 @@ protected function checkRequirements() {
return
$requirements
;
}
/**
* Check if requirements fail.
*
* If the requirements fail the test method should return immediately instead
* of running any tests. Messages will be output to display why the test was
* skipped.
*/
protected
function
requirementsFail
()
{
$requirements
=
$this
->
getRequirements
();
if
(
!
empty
(
$requirements
))
{
foreach
(
$requirements
as
$message
)
{
$this
->
pass
(
$message
);
}
return
TRUE
;
}
return
FALSE
;
}
/**
* {@inheritdoc}
*/
protected
function
createCacheBackend
(
$bin
)
{
return
new
ApcuBackend
(
$bin
,
$this
->
databasePrefix
,
\Drupal
::
service
(
'cache_tags.invalidator.checksum'
));
}
/**
* {@inheritdoc}
*/
protected
function
tearDown
()
{
foreach
(
$this
->
cachebackends
as
$bin
=>
$cachebackend
)
{
$this
->
cachebackends
[
$bin
]
->
removeBin
();
...
...
@@ -44,4 +79,114 @@ protected function tearDown() {
parent
::
tearDown
();
}
/**
* {@inheritdoc}
*/
public
function
testSetGet
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testSetGet
();
}
/**
* {@inheritdoc}
*/
public
function
testDelete
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testDelete
();
}
/**
* {@inheritdoc}
*/
public
function
testValueTypeIsKept
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testValueTypeIsKept
();
}
/**
* {@inheritdoc}
*/
public
function
testGetMultiple
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testGetMultiple
();
}
/**
* {@inheritdoc}
*/
public
function
testSetMultiple
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testSetMultiple
();
}
/**
* {@inheritdoc}
*/
public
function
testDeleteMultiple
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testDeleteMultiple
();
}
/**
* {@inheritdoc}
*/
public
function
testDeleteAll
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testDeleteAll
();
}
/**
* {@inheritdoc}
*/
public
function
testInvalidate
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testInvalidate
();
}
/**
* {@inheritdoc}
*/
public
function
testInvalidateTags
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testInvalidateTags
();
}
/**
* {@inheritdoc}
*/
public
function
testInvalidateAll
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testInvalidateAll
();
}
/**
* {@inheritdoc}
*/
public
function
testRemoveBin
()
{
if
(
$this
->
requirementsFail
())
{
return
;
}
parent
::
testRemoveBin
();
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment