Skip to content
Snippets Groups Projects
Commit d1f89a7d authored by Mateusz Charytoniuk's avatar Mateusz Charytoniuk
Browse files

chore: try finding which test causes segfault in github actions

parent 7bd5eee9
No related branches found
No related tags found
No related merge requests found
......@@ -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);
}
}
......@@ -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);
// });
// }
// }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment