Php-cs-fixer: *.phpt files are looked at/complained about when using name('*.php')

Created on 17 Apr 2018  路  2Comments  路  Source: FriendsOfPHP/PHP-CS-Fixer

The PHP version you are using ($ php -v):

$ php -v
PHP 7.2.4 (cli) (built: Mar 27 2018 13:10:41) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.4, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

PHP CS Fixer version you are using ($ php-cs-fixer -V):

$ php-cs-fixer --version
PHP CS Fixer 2.11.1 Grey Devil by Fabien Potencier and Dariusz Ruminski (ad94441)

The command you use to run PHP CS Fixer:

$ php-cs-fixer fix
You are running PHP CS Fixer with xdebug enabled. This has a major impact on runtime performance.
If you need help while solving warnings, ask at https://gitter.im/PHP-CS-Fixer, we will help you!
Loaded config default from "/usr/local/src/phpunit/.php_cs.dist".
Using cache file ".php_cs.cache".

Fixed all files in 0.059 seconds, 14.000 MB memory used

Files that were not fixed due to errors reported during linting before fixing:
   1) /usr/local/src/phpunit/tests/Regression/GitHub/1335.phpt
   2) /usr/local/src/phpunit/tests/Regression/GitHub/1337.phpt
   3) /usr/local/src/phpunit/tests/Regression/GitHub/1348.phpt
   4) /usr/local/src/phpunit/tests/Regression/GitHub/1351.phpt
   5) /usr/local/src/phpunit/tests/Regression/GitHub/1374.phpt
   6) /usr/local/src/phpunit/tests/Regression/GitHub/1437.phpt
   7) /usr/local/src/phpunit/tests/Regression/GitHub/1468.phpt
   8) /usr/local/src/phpunit/tests/Regression/GitHub/1471.phpt
   9) /usr/local/src/phpunit/tests/Regression/GitHub/1472.phpt
  10) /usr/local/src/phpunit/tests/Regression/GitHub/1570.phpt
  11) /usr/local/src/phpunit/tests/Regression/GitHub/2591-separate-class-preserve.phpt
  12) /usr/local/src/phpunit/tests/Regression/GitHub/2591-separate-function-no-preserve-no-bootstrap-xdebug.phpt
  13) /usr/local/src/phpunit/tests/Regression/GitHub/2591-separate-function-no-preserve.phpt
  14) /usr/local/src/phpunit/tests/Regression/GitHub/2591-separate-function-preserve.phpt
  15) /usr/local/src/phpunit/tests/Regression/GitHub/2591-separate-function-no-preserve-no-bootstrap-php73.phpt
  16) /usr/local/src/phpunit/tests/Regression/GitHub/2591-separate-function-no-preserve-no-bootstrap.phpt
  17) /usr/local/src/phpunit/tests/Regression/GitHub/2591-separate-class-preserve-no-bootstrap.phpt
  18) /usr/local/src/phpunit/tests/Regression/GitHub/2725-separate-class-before-after-pid.phpt
  19) /usr/local/src/phpunit/tests/TextUI/abstract-test-class.phpt
  20) /usr/local/src/phpunit/tests/TextUI/assertion.phpt
  21) /usr/local/src/phpunit/tests/TextUI/code-coverage-ignore.phpt
  22) /usr/local/src/phpunit/tests/TextUI/code-coverage-phpt.phpt
  23) /usr/local/src/phpunit/tests/TextUI/colors-always.phpt
  24) /usr/local/src/phpunit/tests/TextUI/concrete-test-class.phpt
  25) /usr/local/src/phpunit/tests/TextUI/custom-printer-debug.phpt
  26) /usr/local/src/phpunit/tests/TextUI/custom-printer-verbose.phpt
  27) /usr/local/src/phpunit/tests/TextUI/dataprovider-debug.phpt
  28) /usr/local/src/phpunit/tests/TextUI/dataprovider-issue-2833.phpt
  29) /usr/local/src/phpunit/tests/TextUI/dataprovider-issue-2859.phpt
  30) /usr/local/src/phpunit/tests/TextUI/dataprovider-issue-2922.phpt
  31) /usr/local/src/phpunit/tests/TextUI/dataprovider-log-xml-isolation.phpt
  32) /usr/local/src/phpunit/tests/TextUI/dataprovider-log-xml.phpt
  33) /usr/local/src/phpunit/tests/TextUI/debug.phpt
  34) /usr/local/src/phpunit/tests/TextUI/default-isolation.phpt
  35) /usr/local/src/phpunit/tests/TextUI/default.phpt
  36) /usr/local/src/phpunit/tests/TextUI/dependencies-clone.phpt
  37) /usr/local/src/phpunit/tests/TextUI/dependencies-isolation.phpt
  38) /usr/local/src/phpunit/tests/TextUI/dependencies.phpt
  39) /usr/local/src/phpunit/tests/TextUI/dependencies2-isolation.phpt
  40) /usr/local/src/phpunit/tests/TextUI/dependencies2.phpt
  41) /usr/local/src/phpunit/tests/TextUI/disable-code-coverage-ignore.phpt
  42) /usr/local/src/phpunit/tests/TextUI/exclude-group-isolation.phpt
  43) /usr/local/src/phpunit/tests/TextUI/exclude-group.phpt
  44) /usr/local/src/phpunit/tests/TextUI/fatal-isolation.phpt
  45) /usr/local/src/phpunit/tests/TextUI/filter-class-isolation.phpt
  46) /usr/local/src/phpunit/tests/TextUI/filter-class.phpt
  47) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt
  48) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt
  49) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt
  50) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt
  51) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt
  52) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt
  53) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt
  54) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt
  55) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt
  56) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt
  57) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt
  58) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt
  59) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt
  60) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt
  61) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt
  62) /usr/local/src/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt
  63) /usr/local/src/phpunit/tests/TextUI/filter-method-case-insensitive.phpt
  64) /usr/local/src/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt
  65) /usr/local/src/phpunit/tests/TextUI/filter-method-isolation.phpt
  66) /usr/local/src/phpunit/tests/TextUI/filter-method.phpt
  67) /usr/local/src/phpunit/tests/TextUI/filter-no-results.phpt
  68) /usr/local/src/phpunit/tests/TextUI/forward-compatibility.phpt
  69) /usr/local/src/phpunit/tests/TextUI/group-isolation.phpt
  70) /usr/local/src/phpunit/tests/TextUI/group.phpt
  71) /usr/local/src/phpunit/tests/TextUI/ini-isolation.phpt
  72) /usr/local/src/phpunit/tests/TextUI/list-groups.phpt
  73) /usr/local/src/phpunit/tests/TextUI/list-suites.phpt
  74) /usr/local/src/phpunit/tests/TextUI/list-tests-dataprovider.phpt
  75) /usr/local/src/phpunit/tests/TextUI/list-tests-xml-dataprovider.phpt
  76) /usr/local/src/phpunit/tests/TextUI/log-teamcity.phpt
  77) /usr/local/src/phpunit/tests/TextUI/options-after-arguments.phpt
  78) /usr/local/src/phpunit/tests/TextUI/output-isolation.phpt
  79) /usr/local/src/phpunit/tests/TextUI/phar-extension-suppressed.phpt
  80) /usr/local/src/phpunit/tests/TextUI/phpt-stderr.phpt
  81) /usr/local/src/phpunit/tests/TextUI/phpt-xfail.phpt
  82) /usr/local/src/phpunit/tests/TextUI/repeat.phpt
  83) /usr/local/src/phpunit/tests/TextUI/report-useless-tests-incomplete.phpt
  84) /usr/local/src/phpunit/tests/TextUI/report-useless-tests-isolation.phpt
  85) /usr/local/src/phpunit/tests/TextUI/report-useless-tests.phpt
  86) /usr/local/src/phpunit/tests/TextUI/stop-on-warning-via-cli.phpt
  87) /usr/local/src/phpunit/tests/TextUI/stop-on-warning-via-config.phpt
  88) /usr/local/src/phpunit/tests/TextUI/teamcity.phpt
  89) /usr/local/src/phpunit/tests/TextUI/test-suffix-multiple.phpt
  90) /usr/local/src/phpunit/tests/TextUI/test-suffix-single.phpt
  91) /usr/local/src/phpunit/tests/TextUI/testdox-exclude-group.phpt
  92) /usr/local/src/phpunit/tests/TextUI/testdox-group.phpt
  93) /usr/local/src/phpunit/tests/TextUI/dataprovider-testdox.phpt
  94) /usr/local/src/phpunit/tests/TextUI/defaulttestsuite-using-testsuite.phpt
  95) /usr/local/src/phpunit/tests/TextUI/defaulttestsuite.phpt
  96) /usr/local/src/phpunit/tests/TextUI/exception-stack.phpt
  97) /usr/local/src/phpunit/tests/TextUI/failure-isolation.phpt
  98) /usr/local/src/phpunit/tests/TextUI/failure-reverse-list.phpt
  99) /usr/local/src/phpunit/tests/TextUI/failure.phpt
 100) /usr/local/src/phpunit/tests/TextUI/phar-extension.phpt
 101) /usr/local/src/phpunit/tests/TextUI/testdox-html.phpt
 102) /usr/local/src/phpunit/tests/TextUI/testdox-text.phpt
 103) /usr/local/src/phpunit/tests/TextUI/testdox-verbose.phpt
 104) /usr/local/src/phpunit/tests/TextUI/testdox.phpt
 105) /usr/local/src/phpunit/tests/TextUI/dependencies3-isolation.phpt
 106) /usr/local/src/phpunit/tests/TextUI/help.phpt
 107) /usr/local/src/phpunit/tests/TextUI/help2.phpt
 108) /usr/local/src/phpunit/tests/TextUI/hooks.phpt
 109) /usr/local/src/phpunit/tests/TextUI/report-tests-performing-assertions-when-annotated-with-does-not-perform-assertions.phpt
 110) /usr/local/src/phpunit/tests/TextUI/teamcity-inner-exceptions.phpt
 111) /usr/local/src/phpunit/tests/TextUI/testdox-xml.phpt
 112) /usr/local/src/phpunit/tests/_files/phpt-for-coverage.phpt
 113) /usr/local/src/phpunit/tests/_files/phpt-xfail.phpt

The configuration file you are using, if any:

<?php
$header = <<<'EOF'
This file is part of PHPUnit.

(c) Sebastian Bergmann <[email protected]>

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
EOF;

return PhpCsFixer\Config::create()
    ->setRiskyAllowed(true)
    ->setRules(
        [
            'array_syntax' => ['syntax' => 'short'],
            'binary_operator_spaces' => [
                'operators' => [
                    '=' => 'align',
                    '=>' => 'align',
                ],
            ],
            'blank_line_after_namespace' => true,
            'blank_line_before_statement' => [
                'statements' => [
                    'break',
                    'continue',
                    'declare',
                    'do',
                    'for',
                    'foreach',
                    'if',
                    'include',
                    'include_once',
                    'require',
                    'require_once',
                    'return',
                    'switch',
                    'throw',
                    'try',
                    'while',
                    'yield',
                ],
            ],
            'braces' => true,
            'cast_spaces' => true,
            'class_attributes_separation' => ['elements' => ['method']],
            'compact_nullable_typehint' => true,
            'concat_space' => ['spacing' => 'one'],
            'declare_equal_normalize' => ['space' => 'none'],
            'dir_constant' => true,
            'elseif' => true,
            'encoding' => true,
            'full_opening_tag' => true,
            'function_declaration' => true,
            'header_comment' => ['header' => $header, 'separate' => 'none'],
            'indentation_type' => true,
            'line_ending' => true,
            'list_syntax' => ['syntax' => 'short'],
            'lowercase_cast' => true,
            'lowercase_constants' => true,
            'lowercase_keywords' => true,
            'magic_constant_casing' => true,
            'method_argument_space' => ['ensure_fully_multiline' => true],
            'modernize_types_casting' => true,
            'native_function_casing' => true,
            'native_function_invocation' => true,
            'no_alias_functions' => true,
            'no_blank_lines_after_class_opening' => true,
            'no_blank_lines_after_phpdoc' => true,
            'no_closing_tag' => true,
            'no_empty_comment' => true,
            'no_empty_phpdoc' => true,
            'no_empty_statement' => true,
            'no_extra_blank_lines' => true,
            'no_homoglyph_names' => true,
            'no_leading_import_slash' => true,
            'no_leading_namespace_whitespace' => true,
            'no_mixed_echo_print' => ['use' => 'print'],
            'no_null_property_initialization' => true,
            'no_short_bool_cast' => true,
            'no_short_echo_tag' => true,
            'no_singleline_whitespace_before_semicolons' => true,
            'no_spaces_after_function_name' => true,
            'no_spaces_inside_parenthesis' => true,
            'no_superfluous_elseif' => true,
            'no_trailing_comma_in_list_call' => true,
            'no_trailing_comma_in_singleline_array' => true,
            'no_trailing_whitespace' => true,
            'no_trailing_whitespace_in_comment' => true,
            'no_unneeded_control_parentheses' => true,
            'no_unneeded_curly_braces' => true,
            'no_unneeded_final_method' => true,
            'no_unreachable_default_argument_value' => true,
            'no_unused_imports' => true,
            'no_useless_else' => true,
            'no_whitespace_before_comma_in_array' => true,
            'no_whitespace_in_blank_line' => true,
            'non_printable_character' => true,
            'normalize_index_brace' => true,
            'object_operator_without_whitespace' => true,
            'ordered_class_elements' => [
                'order' => [
                    'use_trait',
                    'constant_public',
                    'constant_protected',
                    'constant_private',
                    'property_public_static',
                    'property_protected_static',
                    'property_private_static',
                    'property_public',
                    'property_protected',
                    'property_private',
                    'method_public_static',
                    'construct',
                    'destruct',
                    'magic',
                    'phpunit',
                    'method_public',
                    'method_protected',
                    'method_private',
                    'method_protected_static',
                    'method_private_static',
                ],
            ],
            'ordered_imports' => true,
            'phpdoc_add_missing_param_annotation' => true,
            'phpdoc_align' => true,
            'phpdoc_annotation_without_dot' => true,
            'phpdoc_indent' => true,
            'phpdoc_no_access' => true,
            'phpdoc_no_empty_return' => true,
            'phpdoc_no_package' => true,
            'phpdoc_order' => true,
            'phpdoc_return_self_reference' => true,
            'phpdoc_scalar' => true,
            'phpdoc_separation' => true,
            'phpdoc_single_line_var_spacing' => true,
            'phpdoc_to_comment' => true,
            'phpdoc_trim' => true,
            'phpdoc_types' => true,
            'phpdoc_types_order' => true,
            'phpdoc_var_without_name' => true,
            'pow_to_exponentiation' => true,
            'protected_to_private' => true,
            'return_type_declaration' => ['space_before' => 'none'],
            'self_accessor' => true,
            'short_scalar_cast' => true,
            'simplified_null_return' => true,
            'single_blank_line_at_eof' => true,
            'single_import_per_statement' => true,
            'single_line_after_imports' => true,
            'single_quote' => true,
            'standardize_not_equals' => true,
            'ternary_to_null_coalescing' => true,
            'trim_array_spaces' => true,
            'unary_operator_spaces' => true,
            'visibility_required' => true,
            //'void_return' => true,
            'whitespace_after_comma_in_array' => true,
        ]
    )
    ->setFinder(
        PhpCsFixer\Finder::create()
        ->files()
        ->in(__DIR__ . '/build')
        ->in(__DIR__ . '/src')
        ->in(__DIR__ . '/tests')
        ->name('*.php')
    );
kinquestion topiO

Most helpful comment

Hi @sebastianbergmann ,

Your report comes from the implementation of the Finder in the PhpCsFixer namespace.
That one will always accept both .php and .phpt.
To stop this from happening there are two options (that I see now, can't test it currently).
Option 1; keep using the Finder from the PhpCsFixer namespace but exclude the *.phpt explicitly, something like;

    ->setFinder(
        PhpCsFixer\Finder::create()
        ->files()
        ->in(__DIR__ . '/build')
        ->in(__DIR__ . '/src')
        ->in(__DIR__ . '/tests')
        ->name('*.php')
        ->notName('*.phpt')
    );

or, Option 2, use the Finder from SF directly, something like;

    ->setFinder(
        Symfony\Component\Finder\Finder::create()
        ->files()
        ->in(__DIR__ . '/build')
        ->in(__DIR__ . '/src')
        ->in(__DIR__ . '/tests')
        ->name('*.php')
        ->ignoreDotFiles(true) // from PhpCsFixer finder
        ->ignoreVCS(true) // from PhpCsFixer finder
        ->exclude('vendor') // from PhpCsFixer finder
    );

All 2 comments

Hi @sebastianbergmann ,

Your report comes from the implementation of the Finder in the PhpCsFixer namespace.
That one will always accept both .php and .phpt.
To stop this from happening there are two options (that I see now, can't test it currently).
Option 1; keep using the Finder from the PhpCsFixer namespace but exclude the *.phpt explicitly, something like;

    ->setFinder(
        PhpCsFixer\Finder::create()
        ->files()
        ->in(__DIR__ . '/build')
        ->in(__DIR__ . '/src')
        ->in(__DIR__ . '/tests')
        ->name('*.php')
        ->notName('*.phpt')
    );

or, Option 2, use the Finder from SF directly, something like;

    ->setFinder(
        Symfony\Component\Finder\Finder::create()
        ->files()
        ->in(__DIR__ . '/build')
        ->in(__DIR__ . '/src')
        ->in(__DIR__ . '/tests')
        ->name('*.php')
        ->ignoreDotFiles(true) // from PhpCsFixer finder
        ->ignoreVCS(true) // from PhpCsFixer finder
        ->exclude('vendor') // from PhpCsFixer finder
    );

Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ndench picture ndench  路  3Comments

Bilge picture Bilge  路  3Comments

sennewood picture sennewood  路  3Comments

fisharebest picture fisharebest  路  3Comments

BackEndTea picture BackEndTea  路  3Comments