From d1f89a7daa180dac92c48f45b2d1925449f34c08 Mon Sep 17 00:00:00 2001
From: Mateusz Charytoniuk <mateusz.charytoniuk@protonmail.com>
Date: Fri, 22 Mar 2024 01:12:54 +0100
Subject: [PATCH] chore: try finding which test causes segfault in github
 actions

---
 src/ObservableTaskTableTest.php | 184 ++++++++++++++++----------------
 src/SwooleTimeoutTest.php       |  84 +++++++--------
 2 files changed, 134 insertions(+), 134 deletions(-)

diff --git a/src/ObservableTaskTableTest.php b/src/ObservableTaskTableTest.php
index 89abca94..f93de8f0 100644
--- a/src/ObservableTaskTableTest.php
+++ b/src/ObservableTaskTableTest.php
@@ -15,95 +15,95 @@ use Swoole\Event;
 /**
  * @internal
  */
-// #[CoversClass(ObservableTaskTable::class)]
-// final class ObservableTaskTableTest extends TestCase
-// {
-//     private ?ObservableTaskConfiguration $observableTaskConfiguration = null;
-//     private ?ObservableTaskTable $observableTaskTable = null;
-
-//     protected function setUp(): void
-//     {
-//         $this->observableTaskConfiguration = new ObservableTaskConfiguration(
-//             maxTasks: 4,
-//             serializedStatusSize: 32768,
-//         );
-
-//         $this->observableTaskTable = new ObservableTaskTable(
-//             observableTaskConfiguration: $this->observableTaskConfiguration,
-//             serializer: new Vanilla(),
-//         );
-//     }
-
-//     protected function tearDown(): void
-//     {
-//         Event::wait();
-//     }
-
-//     public function test_channel_is_observed(): void
-//     {
-//         SwooleCoroutineHelper::mustRun(function () {
-//             $channel = new Channel();
-//             $wg = new WaitGroup();
-
-//             $this->observableTaskTable?->observableChannels->add($channel);
-
-//             $observableTask = new ObservableTask(static function () {
-//                 yield new ObservableTaskStatusUpdate(
-//                     ObservableTaskStatus::Running,
-//                     'test1',
-//                 );
-
-//                 yield new ObservableTaskStatusUpdate(
-//                     ObservableTaskStatus::Finished,
-//                     'test2',
-//                 );
-//             });
-
-//             $wg->add();
-
-//             SwooleCoroutineHelper::mustGo(static function () use ($channel, $wg) {
-//                 Coroutine::defer(static function () use ($wg) {
-//                     $wg->done();
-//                 });
-
-//                 $status1 = $channel->pop();
-
-//                 self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status1);
-//                 self::assertSame(ObservableTaskStatus::Running, $status1->observableTaskStatusUpdate->status);
-
-//                 $status2 = $channel->pop();
-
-//                 self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status2);
-//                 self::assertSame(ObservableTaskStatus::Finished, $status2->observableTaskStatusUpdate->status);
-//             });
-
-//             $this->observableTaskTable?->observe($observableTask);
-
-//             $wg->wait();
-
-//             $this->observableTaskTable?->observableChannels->remove($channel);
-//         });
-//     }
-
-//     public function test_task_is_observed(): void
-//     {
-//         $observableTask = new ObservableTask(static function () {
-//             yield new ObservableTaskStatusUpdate(
-//                 ObservableTaskStatus::Running,
-//                 'test',
-//             );
-//         });
-
-//         self::assertNull($this->observableTaskTable?->getStatus('0'));
-
-//         $slotId = $this->observableTaskTable?->observe($observableTask);
-
-//         self::assertSame('0', $slotId);
-
-//         $status = $this->observableTaskTable?->getStatus($slotId);
-
-//         self::assertInstanceOf(ObservableTaskStatusUpdate::class, $status);
-//         self::assertSame(ObservableTaskStatus::Running, $status->status);
-//         self::assertSame('test', $status->data);
-//     }
-// }
+#[CoversClass(ObservableTaskTable::class)]
+final class ObservableTaskTableTest extends TestCase
+{
+    private ?ObservableTaskConfiguration $observableTaskConfiguration = null;
+    private ?ObservableTaskTable $observableTaskTable = null;
+
+    protected function setUp(): void
+    {
+        $this->observableTaskConfiguration = new ObservableTaskConfiguration(
+            maxTasks: 4,
+            serializedStatusSize: 32768,
+        );
+
+        $this->observableTaskTable = new ObservableTaskTable(
+            observableTaskConfiguration: $this->observableTaskConfiguration,
+            serializer: new Vanilla(),
+        );
+    }
+
+    protected function tearDown(): void
+    {
+        Event::wait();
+    }
+
+    // public function test_channel_is_observed(): void
+    // {
+    //     SwooleCoroutineHelper::mustRun(function () {
+    //         $channel = new Channel();
+    //         $wg = new WaitGroup();
+
+    //         $this->observableTaskTable?->observableChannels->add($channel);
+
+    //         $observableTask = new ObservableTask(static function () {
+    //             yield new ObservableTaskStatusUpdate(
+    //                 ObservableTaskStatus::Running,
+    //                 'test1',
+    //             );
+
+    //             yield new ObservableTaskStatusUpdate(
+    //                 ObservableTaskStatus::Finished,
+    //                 'test2',
+    //             );
+    //         });
+
+    //         $wg->add();
+
+    //         SwooleCoroutineHelper::mustGo(static function () use ($channel, $wg) {
+    //             Coroutine::defer(static function () use ($wg) {
+    //                 $wg->done();
+    //             });
+
+    //             $status1 = $channel->pop();
+
+    //             self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status1);
+    //             self::assertSame(ObservableTaskStatus::Running, $status1->observableTaskStatusUpdate->status);
+
+    //             $status2 = $channel->pop();
+
+    //             self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status2);
+    //             self::assertSame(ObservableTaskStatus::Finished, $status2->observableTaskStatusUpdate->status);
+    //         });
+
+    //         $this->observableTaskTable?->observe($observableTask);
+
+    //         $wg->wait();
+
+    //         $this->observableTaskTable?->observableChannels->remove($channel);
+    //     });
+    // }
+
+    public function test_task_is_observed(): void
+    {
+        $observableTask = new ObservableTask(static function () {
+            yield new ObservableTaskStatusUpdate(
+                ObservableTaskStatus::Running,
+                'test',
+            );
+        });
+
+        self::assertNull($this->observableTaskTable?->getStatus('0'));
+
+        $slotId = $this->observableTaskTable?->observe($observableTask);
+
+        self::assertSame('0', $slotId);
+
+        $status = $this->observableTaskTable?->getStatus($slotId);
+
+        self::assertInstanceOf(ObservableTaskStatusUpdate::class, $status);
+        self::assertSame(ObservableTaskStatus::Running, $status->status);
+        self::assertSame('test', $status->data);
+    }
+}
diff --git a/src/SwooleTimeoutTest.php b/src/SwooleTimeoutTest.php
index 9e1bc0ae..20552722 100644
--- a/src/SwooleTimeoutTest.php
+++ b/src/SwooleTimeoutTest.php
@@ -11,45 +11,45 @@ use Swoole\Event;
 /**
  * @internal
  */
-#[CoversClass(SwooleTimeout::class)]
-#[CoversClass(SwooleTimeoutScheduled::class)]
-#[CoversClass(SwooleTimeoutScheduler::class)]
-final class SwooleTimeoutTest extends TestCase
-{
-    protected function tearDown(): void
-    {
-        Event::wait();
-    }
-
-    public function test_code_executes_after_timeout(): void
-    {
-        SwooleCoroutineHelper::mustRun(static function () {
-            $before = microtime(true);
-
-            $timeout = new SwooleTimeout(static function () use ($before) {
-                $after = microtime(true);
-
-                self::assertGreaterThan(0.03, $after - $before);
-                self::assertLessThan(0.035, $after - $before);
-            });
-
-            $timeout->setTimeout(0.03);
-        });
-    }
-
-    public function test_task_is_rescheduled(): void
-    {
-        SwooleCoroutineHelper::mustRun(static function () {
-            $before = microtime(true);
-
-            $timeout = new SwooleTimeout(static function () use ($before) {
-                $after = microtime(true);
-
-                self::assertGreaterThan(0.03, $after - $before);
-                self::assertLessThan(0.035, $after - $before);
-            });
-
-            $timeout->setTimeout(0.02)->reschedule(0.03);
-        });
-    }
-}
+// #[CoversClass(SwooleTimeout::class)]
+// #[CoversClass(SwooleTimeoutScheduled::class)]
+// #[CoversClass(SwooleTimeoutScheduler::class)]
+// final class SwooleTimeoutTest extends TestCase
+// {
+//     protected function tearDown(): void
+//     {
+//         Event::wait();
+//     }
+
+//     public function test_code_executes_after_timeout(): void
+//     {
+//         SwooleCoroutineHelper::mustRun(static function () {
+//             $before = microtime(true);
+
+//             $timeout = new SwooleTimeout(static function () use ($before) {
+//                 $after = microtime(true);
+
+//                 self::assertGreaterThan(0.03, $after - $before);
+//                 self::assertLessThan(0.035, $after - $before);
+//             });
+
+//             $timeout->setTimeout(0.03);
+//         });
+//     }
+
+//     public function test_task_is_rescheduled(): void
+//     {
+//         SwooleCoroutineHelper::mustRun(static function () {
+//             $before = microtime(true);
+
+//             $timeout = new SwooleTimeout(static function () use ($before) {
+//                 $after = microtime(true);
+
+//                 self::assertGreaterThan(0.03, $after - $before);
+//                 self::assertLessThan(0.035, $after - $before);
+//             });
+
+//             $timeout->setTimeout(0.02)->reschedule(0.03);
+//         });
+//     }
+// }
-- 
GitLab