phing
phing copied to clipboard
FilesystemIterator bug in PHP 8.2
Before PHP 8.2, the flag FilesystemIterator::SKIP_DOTS
was always set, according to FilesystemIterator documentation:
FilesystemIterator
has changed its behavior in PHP 8.2.
Here an example (also in https://3v4l.org/HrmZ2):
<?php
$iterator = new FilesystemIterator(__DIR__, FilesystemIterator::KEY_AS_FILENAME);
foreach ($iterator as $file) {
echo $file->getFilename() . PHP_EOL;
}
This is the output in PHP 8.1:
$ /usr/bin/php8.1 deleteme.php
deleteme.php
However in PHP 8.2 this behavior has changed:
$ /usr/bin/php8.2 deleteme.php
.
..
deleteme.php
Example
<?xml version="1.0" encoding="UTF-8" ?>
<project name="demo" default="php:lint">
<target name="php:lint" description="Check syntax on PHP files">
<phplint haltonfailure="true">
<fileset dir="tests">
<include name="**/*.php"/>
</fileset>
</phplint>
</target>
</project>
Output:
$ phing php:lint Buildfile: /home/jawira/xxxxxxxxxxx/build.xml
Case Converter > php:lint:
BUILD FAILED /home/jawira/xxxxxxxxxxx/build.xml:44:34 FilesystemIterator::__construct(/home/jawira/xxxxxxxxxxxxxx/tests/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src/../src): Failed to open directory: File name too long
Total time: 0.4991 seconds
Codecov Report
Merging #1685 (332a7ca) into main (0025c28) will increase coverage by
0.00%
. The diff coverage is100.00%
.
@@ Coverage Diff @@
## main #1685 +/- ##
=========================================
Coverage 58.34% 58.34%
Complexity 6961 6961
=========================================
Files 355 355
Lines 16611 16612 +1
=========================================
+ Hits 9692 9693 +1
Misses 6919 6919
Impacted Files | Coverage Δ | |
---|---|---|
src/Phing/Io/FileSystem.php | 47.16% <100.00%> (+0.18%) |
:arrow_up: |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.