From 8265b7736cf48c6bf581cfd76660f96e9af3ec2a Mon Sep 17 00:00:00 2001 From: Nathaniel Catchpole Date: Mon, 9 Oct 2017 13:53:55 +0100 Subject: [PATCH] Issue #2857843 by vaplas, mpdonadio, Jo Fitzgerald, gambry: Random fail in Drupal\KernelTests\Core\Entity\ContentEntityChangedTest::testChanged --- .../src/Plugin/Field/FieldType/ChangedTestItem.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/ChangedTestItem.php b/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/ChangedTestItem.php index 1425588fc4d..0e0a46c16bb 100644 --- a/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/ChangedTestItem.php +++ b/core/modules/system/tests/modules/entity_test/src/Plugin/Field/FieldType/ChangedTestItem.php @@ -31,7 +31,14 @@ class ChangedTestItem extends ChangedItem { // During a test the request time is immutable. To allow tests of the // algorithm of // Drupal\Core\Field\Plugin\Field\FieldType\ChangedItem::preSave() we need - // to set a real time value here. + // to set a real time value here. For the stability of the test, set the + // time of the original language to the current time plus just over one + // second to simulate two different request times. + // @todo mock the time service in https://www.drupal.org/node/2908210. + if ($this->getEntity()->language()->isDefault()) { + // Wait 1.1 seconds because time_sleep_until() is not reliable. + time_sleep_until(time() + 1.1); + } $this->value = time(); } }