From fc9401f04a3aca5abb22f87ebc210de8afe11d32 Mon Sep 17 00:00:00 2001 From: marvin-borner@live.com Date: Tue, 10 Apr 2018 21:50:16 +0200 Subject: Initial Commit --- .../react/event-loop/tests/ExtLibeventLoopTest.php | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 assets/php/vendor/react/event-loop/tests/ExtLibeventLoopTest.php (limited to 'assets/php/vendor/react/event-loop/tests/ExtLibeventLoopTest.php') diff --git a/assets/php/vendor/react/event-loop/tests/ExtLibeventLoopTest.php b/assets/php/vendor/react/event-loop/tests/ExtLibeventLoopTest.php new file mode 100644 index 0000000..8497065 --- /dev/null +++ b/assets/php/vendor/react/event-loop/tests/ExtLibeventLoopTest.php @@ -0,0 +1,58 @@ +<?php + +namespace React\Tests\EventLoop; + +use React\EventLoop\ExtLibeventLoop; + +class ExtLibeventLoopTest extends AbstractLoopTest +{ + private $fifoPath; + + public function createLoop() + { + if ('Linux' === PHP_OS && !extension_loaded('posix')) { + $this->markTestSkipped('libevent tests skipped on linux due to linux epoll issues.'); + } + + if (!function_exists('event_base_new')) { + $this->markTestSkipped('libevent tests skipped because ext-libevent is not installed.'); + } + + return new ExtLibeventLoop(); + } + + public function tearDown() + { + if (file_exists($this->fifoPath)) { + unlink($this->fifoPath); + } + } + + public function createStream() + { + if ('Linux' !== PHP_OS) { + return parent::createStream(); + } + + $this->fifoPath = tempnam(sys_get_temp_dir(), 'react-'); + + unlink($this->fifoPath); + + // Use a FIFO on linux to get around lack of support for disk-based file + // descriptors when using the EPOLL back-end. + posix_mkfifo($this->fifoPath, 0600); + + $stream = fopen($this->fifoPath, 'r+'); + + return $stream; + } + + public function writeToStream($stream, $content) + { + if ('Linux' !== PHP_OS) { + return parent::writeToStream($stream, $content); + } + + fwrite($stream, $content); + } +} -- cgit v1.2.3