PHP 8.4 checks in CI #66
Annotations
56 warnings
Analysis (8.3)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Tests (8.1):
src/InotifyStream.php#L46
Escaped Mutant for Mutator "LogicalOr":
@@ @@
public function __construct(?LoopInterface $loop = null)
{
$inotify = inotify_init();
- if (!is_resource($inotify) || get_resource_type($inotify) !== 'stream') {
+ if (!is_resource($inotify) && get_resource_type($inotify) !== 'stream') {
throw new InvalidArgumentException('Call to `inotify_init()` did not succeed');
}
// this class relies on non-blocking I/O in order to not interrupt
|
Tests (8.4):
src/InotifyStream.php#L46
Escaped Mutant for Mutator "LogicalOr":
@@ @@
public function __construct(?LoopInterface $loop = null)
{
$inotify = inotify_init();
- if (!is_resource($inotify) || get_resource_type($inotify) !== 'stream') {
+ if (!is_resource($inotify) && get_resource_type($inotify) !== 'stream') {
throw new InvalidArgumentException('Call to `inotify_init()` did not succeed');
}
// this class relies on non-blocking I/O in order to not interrupt
|
Tests (8.1):
src/InotifyStream.php#L57
Escaped Mutant for Mutator "FalseValue":
@@ @@
// this class relies on non-blocking I/O in order to not interrupt
// the event loop e.g. pipes on Windows do not support this:
// https://bugs.php.net/bug.php?id=47918
- if (stream_set_blocking($inotify, false) !== true) {
+ if (stream_set_blocking($inotify, true) !== true) {
throw new RuntimeException('Unable to set stream resource to non-blocking mode');
}
// Use unbuffered read operations on the underlying stream resource.
|
Tests (8.4):
src/InotifyStream.php#L57
Escaped Mutant for Mutator "FalseValue":
@@ @@
// this class relies on non-blocking I/O in order to not interrupt
// the event loop e.g. pipes on Windows do not support this:
// https://bugs.php.net/bug.php?id=47918
- if (stream_set_blocking($inotify, false) !== true) {
+ if (stream_set_blocking($inotify, true) !== true) {
throw new RuntimeException('Unable to set stream resource to non-blocking mode');
}
// Use unbuffered read operations on the underlying stream resource.
|
Tests (8.1):
src/InotifyStream.php#L69
Escaped Mutant for Mutator "IfNegation":
@@ @@
// trigger events on (edge triggered).
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
- if (function_exists('stream_set_read_buffer')) {
+ if (!function_exists('stream_set_read_buffer')) {
stream_set_read_buffer($inotify, 0);
}
$this->inotify = $inotify;
|
Tests (8.4):
src/InotifyStream.php#L69
Escaped Mutant for Mutator "IfNegation":
@@ @@
// trigger events on (edge triggered).
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
- if (function_exists('stream_set_read_buffer')) {
+ if (!function_exists('stream_set_read_buffer')) {
stream_set_read_buffer($inotify, 0);
}
$this->inotify = $inotify;
|
Tests (8.1):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "DecrementInteger":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, -1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.4):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "DecrementInteger":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, -1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.1):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "IncrementInteger":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, 1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.1):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "FunctionCallRemoval":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.4):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "IncrementInteger":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, 1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.1):
src/InotifyStream.php#L74
Escaped Mutant for Mutator "Coalesce":
@@ @@
stream_set_read_buffer($inotify, 0);
}
$this->inotify = $inotify;
- $this->loop = $loop ?? \React\EventLoop\Loop::get();
+ $this->loop = \React\EventLoop\Loop::get() ?? $loop;
$this->loop->addReadStream($this->inotify, [$this, 'handleData']);
}
public function __destruct()
|
Tests (8.4):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "FunctionCallRemoval":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.1):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "ArrayItemRemoval":
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+ $this->loop->addReadStream($this->inotify, ['handleData']);
}
public function __destruct()
{
|
Tests (8.4):
src/InotifyStream.php#L74
Escaped Mutant for Mutator "Coalesce":
@@ @@
stream_set_read_buffer($inotify, 0);
}
$this->inotify = $inotify;
- $this->loop = $loop ?? \React\EventLoop\Loop::get();
+ $this->loop = \React\EventLoop\Loop::get() ?? $loop;
$this->loop->addReadStream($this->inotify, [$this, 'handleData']);
}
public function __destruct()
|
Tests (8.1):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "MethodCallRemoval":
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+
}
public function __destruct()
{
|
Tests (8.4):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "ArrayItemRemoval":
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+ $this->loop->addReadStream($this->inotify, ['handleData']);
}
public function __destruct()
{
|
Tests (8.1):
src/InotifyStream.php#L81
Escaped Mutant for Mutator "MethodCallRemoval":
@@ @@
}
public function __destruct()
{
- $this->loop->removeReadStream($this->inotify);
+
if (is_resource($this->inotify)) {
fclose($this->inotify);
}
|
Tests (8.1)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Tests (8.4):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "MethodCallRemoval":
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+
}
public function __destruct()
{
|
Tests (8.4):
src/InotifyStream.php#L81
Escaped Mutant for Mutator "MethodCallRemoval":
@@ @@
}
public function __destruct()
{
- $this->loop->removeReadStream($this->inotify);
+
if (is_resource($this->inotify)) {
fclose($this->inotify);
}
|
Tests (8.4)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Tests (8.0):
src/InotifyStream.php#L46
Escaped Mutant for Mutator "LogicalOr":
--- Original
+++ New
@@ @@
public function __construct(?LoopInterface $loop = null)
{
$inotify = inotify_init();
- if (!is_resource($inotify) || get_resource_type($inotify) !== 'stream') {
+ if (!is_resource($inotify) && get_resource_type($inotify) !== 'stream') {
throw new InvalidArgumentException('Call to `inotify_init()` did not succeed');
}
// this class relies on non-blocking I/O in order to not interrupt
|
Tests (8.0):
src/InotifyStream.php#L57
Escaped Mutant for Mutator "FalseValue":
--- Original
+++ New
@@ @@
// this class relies on non-blocking I/O in order to not interrupt
// the event loop e.g. pipes on Windows do not support this:
// https://bugs.php.net/bug.php?id=47918
- if (stream_set_blocking($inotify, false) !== true) {
+ if (stream_set_blocking($inotify, true) !== true) {
throw new RuntimeException('Unable to set stream resource to non-blocking mode');
}
// Use unbuffered read operations on the underlying stream resource.
|
Tests (8.0):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "DecrementInteger":
--- Original
+++ New
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, -1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.0):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "IncrementInteger":
--- Original
+++ New
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, 1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.0):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "FunctionCallRemoval":
--- Original
+++ New
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.0):
src/InotifyStream.php#L74
Escaped Mutant for Mutator "Coalesce":
--- Original
+++ New
@@ @@
stream_set_read_buffer($inotify, 0);
}
$this->inotify = $inotify;
- $this->loop = $loop ?? \React\EventLoop\Loop::get();
+ $this->loop = \React\EventLoop\Loop::get() ?? $loop;
$this->loop->addReadStream($this->inotify, [$this, 'handleData']);
}
public function __destruct()
|
Tests (8.0):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "ArrayItemRemoval":
--- Original
+++ New
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+ $this->loop->addReadStream($this->inotify, ['handleData']);
}
public function __destruct()
{
|
Tests (8.0):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+
}
public function __destruct()
{
|
Tests (8.0):
src/InotifyStream.php#L81
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
}
public function __destruct()
{
- $this->loop->removeReadStream($this->inotify);
+
if (is_resource($this->inotify)) {
fclose($this->inotify);
}
|
Tests (8.0):
src/InotifyStream.php#L87
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
fclose($this->inotify);
}
$this->emit('close');
- $this->removeAllListeners();
+
}
/**
* @return false|int<1, max>
|
Tests (8.0)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Tests (8.3)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Tests (8.3):
src/InotifyStream.php#L46
Escaped Mutant for Mutator "LogicalOr":
@@ @@
public function __construct(?LoopInterface $loop = null)
{
$inotify = inotify_init();
- if (!is_resource($inotify) || get_resource_type($inotify) !== 'stream') {
+ if (!is_resource($inotify) && get_resource_type($inotify) !== 'stream') {
throw new InvalidArgumentException('Call to `inotify_init()` did not succeed');
}
// this class relies on non-blocking I/O in order to not interrupt
|
Tests (8.3):
src/InotifyStream.php#L57
Escaped Mutant for Mutator "FalseValue":
@@ @@
// this class relies on non-blocking I/O in order to not interrupt
// the event loop e.g. pipes on Windows do not support this:
// https://bugs.php.net/bug.php?id=47918
- if (stream_set_blocking($inotify, false) !== true) {
+ if (stream_set_blocking($inotify, true) !== true) {
throw new RuntimeException('Unable to set stream resource to non-blocking mode');
}
// Use unbuffered read operations on the underlying stream resource.
|
Tests (8.3):
src/InotifyStream.php#L69
Escaped Mutant for Mutator "IfNegation":
@@ @@
// trigger events on (edge triggered).
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
- if (function_exists('stream_set_read_buffer')) {
+ if (!function_exists('stream_set_read_buffer')) {
stream_set_read_buffer($inotify, 0);
}
$this->inotify = $inotify;
|
Tests (8.3):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "DecrementInteger":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, -1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.3):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "IncrementInteger":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, 1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.3):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "FunctionCallRemoval":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.3):
src/InotifyStream.php#L74
Escaped Mutant for Mutator "Coalesce":
@@ @@
stream_set_read_buffer($inotify, 0);
}
$this->inotify = $inotify;
- $this->loop = $loop ?? \React\EventLoop\Loop::get();
+ $this->loop = \React\EventLoop\Loop::get() ?? $loop;
$this->loop->addReadStream($this->inotify, [$this, 'handleData']);
}
public function __destruct()
|
Tests (8.3):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "ArrayItemRemoval":
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+ $this->loop->addReadStream($this->inotify, ['handleData']);
}
public function __destruct()
{
|
Tests (8.3):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "MethodCallRemoval":
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+
}
public function __destruct()
{
|
Tests (8.3):
src/InotifyStream.php#L81
Escaped Mutant for Mutator "MethodCallRemoval":
@@ @@
}
public function __destruct()
{
- $this->loop->removeReadStream($this->inotify);
+
if (is_resource($this->inotify)) {
fclose($this->inotify);
}
|
Tests (8.2)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
Tests (8.2):
src/InotifyStream.php#L46
Escaped Mutant for Mutator "LogicalOr":
@@ @@
public function __construct(?LoopInterface $loop = null)
{
$inotify = inotify_init();
- if (!is_resource($inotify) || get_resource_type($inotify) !== 'stream') {
+ if (!is_resource($inotify) && get_resource_type($inotify) !== 'stream') {
throw new InvalidArgumentException('Call to `inotify_init()` did not succeed');
}
// this class relies on non-blocking I/O in order to not interrupt
|
Tests (8.2):
src/InotifyStream.php#L57
Escaped Mutant for Mutator "FalseValue":
@@ @@
// this class relies on non-blocking I/O in order to not interrupt
// the event loop e.g. pipes on Windows do not support this:
// https://bugs.php.net/bug.php?id=47918
- if (stream_set_blocking($inotify, false) !== true) {
+ if (stream_set_blocking($inotify, true) !== true) {
throw new RuntimeException('Unable to set stream resource to non-blocking mode');
}
// Use unbuffered read operations on the underlying stream resource.
|
Tests (8.2):
src/InotifyStream.php#L69
Escaped Mutant for Mutator "IfNegation":
@@ @@
// trigger events on (edge triggered).
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
- if (function_exists('stream_set_read_buffer')) {
+ if (!function_exists('stream_set_read_buffer')) {
stream_set_read_buffer($inotify, 0);
}
$this->inotify = $inotify;
|
Tests (8.2):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "DecrementInteger":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, -1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.2):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "IncrementInteger":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+ stream_set_read_buffer($inotify, 1);
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.2):
src/InotifyStream.php#L70
Escaped Mutant for Mutator "FunctionCallRemoval":
@@ @@
// This does not affect the default event loop implementation (level
// triggered), so we can ignore platforms not supporting this (HHVM).
if (function_exists('stream_set_read_buffer')) {
- stream_set_read_buffer($inotify, 0);
+
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
|
Tests (8.2):
src/InotifyStream.php#L74
Escaped Mutant for Mutator "Coalesce":
@@ @@
stream_set_read_buffer($inotify, 0);
}
$this->inotify = $inotify;
- $this->loop = $loop ?? \React\EventLoop\Loop::get();
+ $this->loop = \React\EventLoop\Loop::get() ?? $loop;
$this->loop->addReadStream($this->inotify, [$this, 'handleData']);
}
public function __destruct()
|
Tests (8.2):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "ArrayItemRemoval":
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+ $this->loop->addReadStream($this->inotify, ['handleData']);
}
public function __destruct()
{
|
Tests (8.2):
src/InotifyStream.php#L76
Escaped Mutant for Mutator "MethodCallRemoval":
@@ @@
}
$this->inotify = $inotify;
$this->loop = $loop ?? \React\EventLoop\Loop::get();
- $this->loop->addReadStream($this->inotify, [$this, 'handleData']);
+
}
public function __destruct()
{
|
Tests (8.2):
src/InotifyStream.php#L81
Escaped Mutant for Mutator "MethodCallRemoval":
@@ @@
}
public function __destruct()
{
- $this->loop->removeReadStream($this->inotify);
+
if (is_resource($this->inotify)) {
fclose($this->inotify);
}
|