diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7ba55fcaa0266db29134249721630670e40db36a..afc7f38f31dece5bdc1129d8574836144ce1178f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,13 @@ include: variables: _PHPUNIT_CONCURRENT: '1' + SKIP_CSPELL: 1 + OPT_IN_TEST_PREVIOUS_MAJOR: 1 + OPT_IN_TEST_PREVIOUS_MINOR: 1 + OPT_IN_TEST_NEXT_MINOR: 1 + OPT_IN_TEST_NEXT_MAJOR: 1 + OPT_IN_TEST_MAX_PHP: 1 + # # Start custom overrides. # @@ -36,4 +43,4 @@ phpunit: # Show more log output _PHPUNIT_EXTRA: --verbose # Convenient, and we have no secrets. - _SHOW_ENVIRONMENT_VARIABLES: '1' + _SHOW_ENVIRONMENT_VARIABLES: 1 diff --git a/src/Driver/DriverBase.php b/src/Driver/DriverBase.php index 0dd08227f3effb9e8186c5fba5a21ea021b2d138..cc3daa7dd17d0939bf5b94bf780e7a378c4e6762 100644 --- a/src/Driver/DriverBase.php +++ b/src/Driver/DriverBase.php @@ -243,8 +243,9 @@ abstract class DriverBase implements DrupalMemcacheInterface { */ public function getServers() { $memcache_servers = \Drupal::configFactory()->getEditable('memcache.settings')->get('memcache_servers'); + $host = getenv('MEMCACHED_HOST') ?: '127.0.0.1:11211'; if (!isset($memcache_servers)) { - $memcache_servers = ['127.0.0.1:11211' => 'default']; + $memcache_servers = [$host => 'default']; } return $memcache_servers; diff --git a/src/Driver/MemcachedDriver.php b/src/Driver/MemcachedDriver.php index 2460fe9828648750c1545ff46071aba49ff9dee5..aa9ca11d24f7c6581df7503ea147ea519b26dd61 100755 --- a/src/Driver/MemcachedDriver.php +++ b/src/Driver/MemcachedDriver.php @@ -17,7 +17,7 @@ class MemcachedDriver extends DriverBase { $result = $this->memcache->set($full_key, $value, $exp); // Something bad happened. Let's log the problem. - if (!$result && $this->settings->get('debug')) { + if (!$result || $this->settings->get('debug')) { $result_code = $this->memcache->getResultCode(); $result_message = $this->memcache->getResultMessage(); diff --git a/tests/src/Functional/MemcacheLockFunctionalTest.php b/tests/src/Functional/MemcacheLockFunctionalTest.php index ed26f8e575b82ba4fee4cf235da45dd025353769..da3f7c4bd810b6b1a449226602ce0bca468d39eb 100644 --- a/tests/src/Functional/MemcacheLockFunctionalTest.php +++ b/tests/src/Functional/MemcacheLockFunctionalTest.php @@ -1,6 +1,6 @@ <?php -namespace Drupal\memcache\Tests; +namespace Drupal\Tests\memcache\Functional; use Drupal\Tests\system\Functional\Lock\LockFunctionalTest; @@ -18,4 +18,26 @@ class MemcacheLockFunctionalTest extends LockFunctionalTest { */ protected static $modules = ['system_test', 'memcache', 'memcache_test']; + public function setUp(): void { + parent::setUp(); + $host = getenv('MEMCACHED_HOST') ?: '127.0.0.1:11211'; + $settings['settings']['memcache'] = (object) [ + 'value' => [ + 'servers' => [$host => 'default'], + 'bin' => ['default' => 'default'], + ], + 'required' => TRUE, + ]; + + $settings['settings']['hash_salt'] = (object) [ + 'value' => $this->randomMachineName(), + 'required' => TRUE, + ]; + + $this->writeSettings($settings); + } + + public function testLockAcquire(): void { + parent::testLockAcquire(); + } } diff --git a/tests/src/Kernel/MemcacheBackendTest.php b/tests/src/Kernel/MemcacheBackendTest.php index b8ad8490d964ef57823d50925e15c5c57cf3860d..8e6f4af0c518c8cfd41bb682fcff0cd2266ab085 100644 --- a/tests/src/Kernel/MemcacheBackendTest.php +++ b/tests/src/Kernel/MemcacheBackendTest.php @@ -30,6 +30,15 @@ class MemcacheBackendTest extends GenericCacheBackendUnitTestBase implements Ser $service_definition->setArgument(2, 0); } + public function setUp(): void { + parent::setUp(); + $host = getenv('MEMCACHED_HOST') ?: '127.0.0.1:11211'; + $this->setSetting('memcache', [ + 'servers' => [$host => 'default'], + 'bin' => ['default' => 'default'], + 'debug' => TRUE, + ]); + } /** * Creates a new instance of DatabaseBackend. * @@ -46,4 +55,16 @@ class MemcacheBackendTest extends GenericCacheBackendUnitTestBase implements Ser return $factory->get($bin); } + /** + * Gets a backend to test; this will get a shared instance set in the object. + * + * @return \Drupal\Core\Cache\CacheBackendInterface + * Cache backend to test. + */ + protected function getCacheBackend($bin = NULL) { + $backend = parent::getCacheBackend($bin); + usleep(10000); + return $backend; + } + }