Skip to content

Commit 90e25b6

Browse files
Merge pull request #9057 from magento-gl/GL_PR_Arrows_July_03_2024
[Arrows] Platform Health Delivery
2 parents b761ec3 + ef5588e commit 90e25b6

File tree

8 files changed

+46
-27
lines changed

8 files changed

+46
-27
lines changed

dev/tests/integration/framework/Magento/TestFramework/Event/TestErroredSubscriber.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ public function notify(Errored $event): void
2424
{
2525
$className = $event->test()->className();
2626
$methodName = $event->test()->methodName();
27-
2827
$objectManager = Bootstrap::getObjectManager();
29-
$assetRepo = $objectManager->create($className, ['name' => $methodName]);
3028

31-
$mageEvent = Magento::getDefaultEventManager();
32-
$mageEvent->fireEvent('endTest', [$assetRepo], true);
29+
$testObj = $objectManager->create($className, ['name' => $methodName]);
30+
$phpUnit = $objectManager->create(PhpUnit::class);
31+
$phpUnit->endTest($testObj, 0);
32+
3333
Magento::setCurrentEventObject(null);
3434
Magento::setTestPrepared(false);
3535
}

dev/tests/integration/framework/Magento/TestFramework/Event/TestFinishedSubscriber.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ public function notify(Finished $event): void
2424
{
2525
$className = $event->test()->className();
2626
$methodName = $event->test()->methodName();
27-
2827
$objectManager = Bootstrap::getObjectManager();
29-
$assetRepo = $objectManager->create($className, ['name' => $methodName]);
3028

31-
$mageEvent = Magento::getDefaultEventManager();
32-
$mageEvent->fireEvent('endTest', [$assetRepo], true);
29+
$testObj = $objectManager->create($className, ['name' => $methodName]);
30+
$phpUnit = $objectManager->create(PhpUnit::class);
31+
$phpUnit->endTest($testObj, 0);
32+
3333
Magento::setCurrentEventObject(null);
3434
Magento::setTestPrepared(false);
3535
}

dev/tests/integration/framework/Magento/TestFramework/Event/TestPreparedSubscriber.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ public function notify(Prepared $event): void
2727
$methodName = $event->test()->methodName();
2828

2929
$objectManager = Bootstrap::getObjectManager();
30-
$assetRepo = $objectManager->create($className, ['name' => $methodName]);
30+
$testObj = $objectManager->create($className, ['name' => $methodName]);
3131

3232
$testData = $event->test()->testData();
3333
if ($testData->hasDataFromDataProvider()) {
3434
$dataSetName = $testData->dataFromDataProvider()->dataSetName();
35-
$assetRepo->setData($dataSetName, ['']);
35+
$testObj->setData($dataSetName, ['']);
3636
}
3737

38-
$skipConfig = Config::getInstance()->getSkipConfiguration($assetRepo);
38+
$skipConfig = Config::getInstance()->getSkipConfiguration($testObj);
3939
if ($skipConfig['skip']) {
40-
$assetRepo->markTestSkipped($skipConfig['skipMessage']);
40+
$testObj->markTestSkipped($skipConfig['skipMessage']);
4141
}
4242
Magento::setTestPrepared(true);
4343
}

dev/tests/integration/framework/Magento/TestFramework/Event/TestPreprationStartedSubscriber.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@ class TestPreprationStartedSubscriber implements PreparationStartedSubscriber
2222
*/
2323
public function notify(PreparationStarted $event): void
2424
{
25+
$objectManager = Bootstrap::getObjectManager();
2526
$className = $event->test()->className();
2627
$methodName = $event->test()->methodName();
2728

28-
$objectManager = Bootstrap::getObjectManager();
29-
$assetRepo = $objectManager->create($className, ['name' => $methodName]);
29+
$testObj = $objectManager->create($className, ['name' => $methodName]);
3030

3131
Magento::setCurrentEventObject($event);
32-
$mageEvent = Magento::getDefaultEventManager();
33-
$mageEvent->fireEvent('startTest', [$assetRepo]);
32+
33+
$phpUnit = $objectManager->create(PhpUnit::class);
34+
$phpUnit->startTest($testObj);
3435
}
3536
}

dev/tests/integration/framework/Magento/TestFramework/Event/TestSkippedSubscriber.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ public function notify(Skipped $event): void
2727

2828
if (!Magento::getTestPrepared()) {
2929
$objectManager = Bootstrap::getObjectManager();
30-
$assetRepo = $objectManager->create($className, ['name' => $methodName]);
30+
$testObj = $objectManager->create($className, ['name' => $methodName]);
3131

32-
$mageEvent = Magento::getDefaultEventManager();
33-
$mageEvent->fireEvent('endTest', [$assetRepo], true);
32+
$phpUnit = $objectManager->create(PhpUnit::class);
33+
$phpUnit->endTest($testObj, 0);
3434
Magento::setCurrentEventObject(null);
3535
Magento::setTestPrepared(false);
3636
}

dev/tests/integration/framework/Magento/TestFramework/Event/TestSuitEndSubscriber.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
use PHPUnit\Event\TestSuite\Finished;
1313
use PHPUnit\Event\TestSuite\FinishedSubscriber;
14+
use Magento\TestFramework\Helper\Bootstrap;
15+
use PHPUnit\Framework\TestSuite;
1416

1517
class TestSuitEndSubscriber implements FinishedSubscriber
1618
{
@@ -21,7 +23,10 @@ class TestSuitEndSubscriber implements FinishedSubscriber
2123
*/
2224
public function notify(Finished $event): void
2325
{
24-
$mageEvent = Magento::getDefaultEventManager();
25-
$mageEvent->fireEvent('rollbackTransaction');
26+
$phpUnit = Bootstrap::getObjectManager()->create(PhpUnit::class);
27+
if (class_exists($event->testSuite()->name())) {
28+
$testSuite = TestSuite::empty($event->testSuite()->name());
29+
$phpUnit->endTestSuite($testSuite);
30+
}
2631
}
2732
}

dev/tests/integration/framework/Magento/TestFramework/Event/TestSuitStartedSubscriber.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
use PHPUnit\Event\TestSuite\Started;
1313
use PHPUnit\Event\TestSuite\StartedSubscriber;
14+
use Magento\TestFramework\Helper\Bootstrap;
15+
use PHPUnit\Framework\TestSuite;
1416

1517
class TestSuitStartedSubscriber implements StartedSubscriber
1618
{
@@ -21,7 +23,10 @@ class TestSuitStartedSubscriber implements StartedSubscriber
2123
*/
2224
public function notify(Started $event): void
2325
{
24-
$mageEvent = Magento::getDefaultEventManager();
25-
$mageEvent->fireEvent('startTestSuite');
26+
$phpUnit = Bootstrap::getObjectManager()->create(PhpUnit::class);
27+
if (class_exists($event->testSuite()->name())) {
28+
$testSuite = TestSuite::empty($event->testSuite()->name());
29+
$phpUnit->startTestSuite($testSuite);
30+
}
2631
}
2732
}

dev/tests/integration/framework/Magento/TestFramework/Workaround/Cleanup/TestCaseProperties.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,19 @@ public function endTestSuite(\PHPUnit\Framework\TestSuite $suite)
2525
$properties = $reflectionClass->getProperties();
2626
foreach ($properties as $property) {
2727
$property->setAccessible(true);
28-
$value = $property->getValue($test);
29-
if (is_object($value) && method_exists($value, '__destruct') && is_callable([$value, '__destruct'])) {
30-
$value->__destruct();
28+
if ($property->isInitialized($test)) {
29+
$value = $property->getValue($test);
30+
if (is_object($value) && method_exists($value, '__destruct') &&
31+
is_callable([$value, '__destruct'])) {
32+
$value->__destruct();
33+
}
34+
}
35+
36+
if (is_array($property->getDefaultValue())) {
37+
$property->setValue($test, []);
38+
} else {
39+
$property->setValue($test, null);
3140
}
32-
$property->setValue($test, null);
3341
}
3442
}
3543
}

0 commit comments

Comments
 (0)