From 18949dc09f308292997b7851cef64a0526c903d4 Mon Sep 17 00:00:00 2001 From: Mateusz Charytoniuk <mateusz.charytoniuk@protonmail.com> Date: Fri, 22 Mar 2024 00:32:32 +0100 Subject: [PATCH] fix?: run swoole tests in separate processes --- phpunit.xml | 3 --- ...ableTaskTableSlotStatusUpdateIteratorTest.php | 16 +++------------- src/ObservableTaskTableTest.php | 2 ++ src/SwooleTimeoutTest.php | 2 ++ 4 files changed, 7 insertions(+), 16 deletions(-) diff --git a/phpunit.xml b/phpunit.xml index 18666a22..5c27d5c8 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -14,7 +14,4 @@ <directory suffix=".php">src</directory> </include> </source> - <php> - <!-- <env name="DB_CONNECTION" value="sqlite" /> --> - </php> </phpunit> diff --git a/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php b/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php index 2ac33652..109cefbd 100644 --- a/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php +++ b/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php @@ -6,15 +6,15 @@ namespace Distantmagic\Resonance; use Distantmagic\Resonance\Serializer\Vanilla; use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RunClassInSeparateProcess; use PHPUnit\Framework\TestCase; -use Swoole\Coroutine; -use Swoole\Coroutine\WaitGroup; use Swoole\Event; /** * @internal */ #[CoversClass(ObservableTaskTableSlotStatusUpdateIterator::class)] +#[RunClassInSeparateProcess] final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase { private ?ObservableTaskConfiguration $observableTaskConfiguration = null; @@ -41,8 +41,6 @@ final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase public function test_channel_is_observed(): void { SwooleCoroutineHelper::mustRun(function () { - $wg = new WaitGroup(); - $observableTask = new ObservableTask(static function () { yield new ObservableTaskStatusUpdate( ObservableTaskStatus::Running, @@ -55,15 +53,9 @@ final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase ); }); - $wg->add(); - - SwooleCoroutineHelper::mustGo(function () use ($wg) { + SwooleCoroutineHelper::mustGo(function () { self::assertNotNull($this->observableTaskTable); - Coroutine::defer(static function () use ($wg) { - $wg->done(); - }); - $iterator = new ObservableTaskTableSlotStatusUpdateIterator($this->observableTaskTable); foreach ($iterator as $statusUpdate) { @@ -81,8 +73,6 @@ final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase }); $this->observableTaskTable?->observe($observableTask); - - $wg->wait(); }); } } diff --git a/src/ObservableTaskTableTest.php b/src/ObservableTaskTableTest.php index c44043f3..17355353 100644 --- a/src/ObservableTaskTableTest.php +++ b/src/ObservableTaskTableTest.php @@ -6,6 +6,7 @@ namespace Distantmagic\Resonance; use Distantmagic\Resonance\Serializer\Vanilla; use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RunClassInSeparateProcess; use PHPUnit\Framework\TestCase; use Swoole\Coroutine; use Swoole\Coroutine\Channel; @@ -16,6 +17,7 @@ use Swoole\Event; * @internal */ #[CoversClass(ObservableTaskTable::class)] +#[RunClassInSeparateProcess] final class ObservableTaskTableTest extends TestCase { private ?ObservableTaskConfiguration $observableTaskConfiguration = null; diff --git a/src/SwooleTimeoutTest.php b/src/SwooleTimeoutTest.php index 9e1bc0ae..9b3b3b15 100644 --- a/src/SwooleTimeoutTest.php +++ b/src/SwooleTimeoutTest.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Distantmagic\Resonance; use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\RunClassInSeparateProcess; use PHPUnit\Framework\TestCase; use Swoole\Event; @@ -14,6 +15,7 @@ use Swoole\Event; #[CoversClass(SwooleTimeout::class)] #[CoversClass(SwooleTimeoutScheduled::class)] #[CoversClass(SwooleTimeoutScheduler::class)] +#[RunClassInSeparateProcess] final class SwooleTimeoutTest extends TestCase { protected function tearDown(): void -- GitLab