From be0fb40df0d213fc34c0c76b32746682b8497d97 Mon Sep 17 00:00:00 2001 From: jrfnl Date: Mon, 27 Jul 2020 19:42:28 +0200 Subject: [PATCH 1/3] Tests: add code coverage configuration * PHPUnit config: add code coverage configuration. By default, when there is a code coverage configuration and Xdebug is enabled, code coverage will be generated. For now, code coverage is set up for local use with an HTML code coverage report being generated in a `build/logs/` directory. Note: generating code coverage is slow. * Git ignore the `build` directory as created by PHPUnit to store the log files. * Adjust the "normal" test script to not generate code coverage information. * Add a `bin/unit-tests-coverage` to run the unit tests with code coverage enabled. * Add a Composer script to call the `unit-tests-coverage` script. --- .gitignore | 1 + bin/unit-tests | 2 +- bin/unit-tests-coverage | 12 ++++++++++++ composer.json | 1 + phpunit.xml.dist | 29 +++++++++++++++++++++++------ 5 files changed, 38 insertions(+), 7 deletions(-) create mode 100755 bin/unit-tests-coverage diff --git a/.gitignore b/.gitignore index 915feab9..1c6a1b2f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +build/ vendor/ composer.lock phpcs.xml diff --git a/bin/unit-tests b/bin/unit-tests index 07a99191..58afa1fd 100755 --- a/bin/unit-tests +++ b/bin/unit-tests @@ -10,4 +10,4 @@ # ./bin/unit-tests # -"$(pwd)/vendor/bin/phpunit" --filter WordPressVIPMinimum "$(pwd)/vendor/squizlabs/php_codesniffer/tests/AllTests.php" +"$(pwd)/vendor/bin/phpunit" --filter WordPressVIPMinimum "$(pwd)/vendor/squizlabs/php_codesniffer/tests/AllTests.php" --no-coverage diff --git a/bin/unit-tests-coverage b/bin/unit-tests-coverage new file mode 100755 index 00000000..c0fdf90d --- /dev/null +++ b/bin/unit-tests-coverage @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# +# Run the unit tests with code coverage. +# +# This ensures that the logic in the VIP sniffs is covered by unit tests. +# +# EXAMPLE TO RUN LOCALLY: +# +# ./bin/unit-tests-coverage +# + +"$(pwd)/vendor/bin/phpunit" --filter WordPressVIPMinimum "$(pwd)/vendor/squizlabs/php_codesniffer/tests/AllTests.php" diff --git a/composer.json b/composer.json index 291e5eee..dd892443 100644 --- a/composer.json +++ b/composer.json @@ -38,6 +38,7 @@ ], "phpcs": "bin/phpcs", "phpunit": "bin/unit-tests", + "coverage": "bin/unit-tests-coverage", "test": [ "@lint", "@ruleset", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 82131e96..aba257c8 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,9 +1,26 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/7.2/phpunit.xsd" + backupGlobals="true" + bootstrap="./tests/bootstrap.php" + beStrictAboutTestsThatDoNotTestAnything="false" + colors="true" + > + + + ./WordPressVIPMinimum/Tests/ + + + + + + ./WordPressVIPMinimum/Sniffs/ + + + + + + + From 03697e03e2c2125dbc5d533109993bd5a5532c88 Mon Sep 17 00:00:00 2001 From: jrfnl Date: Mon, 27 Jul 2020 22:14:27 +0200 Subject: [PATCH 2/3] Code coverage recording: add @covers tags ... to all unit test files, as well as enable strict coverage recording. --- .../Tests/Classes/DeclarationCompatibilityUnitTest.php | 2 ++ .../Tests/Classes/RestrictedExtendClassesUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Compatibility/ZoninatorUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Constants/ConstantStringUnitTest.php | 2 ++ .../Tests/Constants/RestrictedConstantsUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Files/IncludingFileUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Files/IncludingNonPHPFileUnitTest.php | 2 ++ .../Tests/Functions/CheckReturnValueUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Functions/DynamicCallsUnitTest.php | 2 ++ .../Tests/Functions/RestrictedFunctionsUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Functions/StripTagsUnitTest.php | 2 ++ .../Tests/Hooks/AlwaysReturnInFilterUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Hooks/PreGetPostsUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Hooks/RestrictedHooksUnitTest.php | 2 ++ .../Tests/JS/DangerouslySetInnerHTMLUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/JS/HTMLExecutingFunctionsUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/JS/InnerHTMLUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/JS/StringConcatUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/JS/StrippingTagsUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/JS/WindowUnitTest.php | 2 ++ .../Tests/Performance/BatcacheWhitelistedParamsUnitTest.php | 2 ++ .../Tests/Performance/CacheValueOverrideUnitTest.php | 2 ++ .../Tests/Performance/FetchingRemoteDataUnitTest.php | 2 ++ .../Tests/Performance/LowExpiryCacheTimeUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Performance/NoPagingUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Performance/OrderByRandUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Performance/RegexpCompareUnitTest.php | 2 ++ .../Tests/Performance/RemoteRequestTimeoutUnitTest.php | 2 ++ .../Tests/Performance/TaxonomyMetaInOptionsUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Performance/WPQueryParamsUnitTest.php | 2 ++ .../Tests/Security/EscapingVoidReturnFunctionsUnitTest.php | 2 ++ .../Tests/Security/ExitAfterRedirectUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Security/MustacheUnitTest.php | 2 ++ .../Tests/Security/PHPFilterFunctionsUnitTest.php | 2 ++ .../Tests/Security/ProperEscapingFunctionUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Security/StaticStrreplaceUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Security/TwigUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Security/UnderscorejsUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Security/VuejsUnitTest.php | 2 ++ .../Tests/UserExperience/AdminBarRemovalUnitTest.php | 2 ++ .../Tests/Variables/RestrictedVariablesUnitTest.php | 2 ++ WordPressVIPMinimum/Tests/Variables/ServerVariablesUnitTest.php | 2 ++ .../Tests/Variables/VariableAnalysisUnitTest.php | 2 ++ phpunit.xml.dist | 1 + 44 files changed, 87 insertions(+) diff --git a/WordPressVIPMinimum/Tests/Classes/DeclarationCompatibilityUnitTest.php b/WordPressVIPMinimum/Tests/Classes/DeclarationCompatibilityUnitTest.php index 6dc5310d..f27507ee 100644 --- a/WordPressVIPMinimum/Tests/Classes/DeclarationCompatibilityUnitTest.php +++ b/WordPressVIPMinimum/Tests/Classes/DeclarationCompatibilityUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the DeclarationCompatibility sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Classes\DeclarationCompatibilitySniff */ class DeclarationCompatibilityUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Classes/RestrictedExtendClassesUnitTest.php b/WordPressVIPMinimum/Tests/Classes/RestrictedExtendClassesUnitTest.php index 543fb7d5..9b28ee37 100644 --- a/WordPressVIPMinimum/Tests/Classes/RestrictedExtendClassesUnitTest.php +++ b/WordPressVIPMinimum/Tests/Classes/RestrictedExtendClassesUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the RestrictedExtendClasses sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Classes\RestrictedExtendClassesSniff */ class RestrictedExtendClassesUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Compatibility/ZoninatorUnitTest.php b/WordPressVIPMinimum/Tests/Compatibility/ZoninatorUnitTest.php index fdec45eb..f3f07049 100644 --- a/WordPressVIPMinimum/Tests/Compatibility/ZoninatorUnitTest.php +++ b/WordPressVIPMinimum/Tests/Compatibility/ZoninatorUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the CheckReturnValue sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Compatibility\ZoninatorSniff */ class ZoninatorUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Constants/ConstantStringUnitTest.php b/WordPressVIPMinimum/Tests/Constants/ConstantStringUnitTest.php index 7d3abc44..9b6b4225 100644 --- a/WordPressVIPMinimum/Tests/Constants/ConstantStringUnitTest.php +++ b/WordPressVIPMinimum/Tests/Constants/ConstantStringUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the ConstantString sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Constants\ConstantStringSniff */ class ConstantStringUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Constants/RestrictedConstantsUnitTest.php b/WordPressVIPMinimum/Tests/Constants/RestrictedConstantsUnitTest.php index 7999e997..5c109483 100644 --- a/WordPressVIPMinimum/Tests/Constants/RestrictedConstantsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Constants/RestrictedConstantsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the ConstantRestrictions sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Constants\RestrictedConstantsSniff */ class RestrictedConstantsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Files/IncludingFileUnitTest.php b/WordPressVIPMinimum/Tests/Files/IncludingFileUnitTest.php index 5957cc5d..3253a83a 100644 --- a/WordPressVIPMinimum/Tests/Files/IncludingFileUnitTest.php +++ b/WordPressVIPMinimum/Tests/Files/IncludingFileUnitTest.php @@ -12,6 +12,8 @@ * Unit test class for the IncludingFile sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Files\IncludingFileSniff */ class IncludingFileUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Files/IncludingNonPHPFileUnitTest.php b/WordPressVIPMinimum/Tests/Files/IncludingNonPHPFileUnitTest.php index 9f0f8de4..ad139cc6 100644 --- a/WordPressVIPMinimum/Tests/Files/IncludingNonPHPFileUnitTest.php +++ b/WordPressVIPMinimum/Tests/Files/IncludingNonPHPFileUnitTest.php @@ -12,6 +12,8 @@ * Unit test class for the IncludingFile sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Files\IncludingNonPHPFileSniff */ class IncludingNonPHPFileUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Functions/CheckReturnValueUnitTest.php b/WordPressVIPMinimum/Tests/Functions/CheckReturnValueUnitTest.php index 2da0d187..1508a7c5 100644 --- a/WordPressVIPMinimum/Tests/Functions/CheckReturnValueUnitTest.php +++ b/WordPressVIPMinimum/Tests/Functions/CheckReturnValueUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the CheckReturnValue sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Functions\CheckReturnValueSniff */ class CheckReturnValueUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Functions/DynamicCallsUnitTest.php b/WordPressVIPMinimum/Tests/Functions/DynamicCallsUnitTest.php index a7318449..98057179 100644 --- a/WordPressVIPMinimum/Tests/Functions/DynamicCallsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Functions/DynamicCallsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the DynamicCalls sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Functions\DynamicCallsSniff */ class DynamicCallsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Functions/RestrictedFunctionsUnitTest.php b/WordPressVIPMinimum/Tests/Functions/RestrictedFunctionsUnitTest.php index 147c7cfa..493b9270 100644 --- a/WordPressVIPMinimum/Tests/Functions/RestrictedFunctionsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Functions/RestrictedFunctionsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the RestrictedFunctions sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Functions\RestrictedFunctionsSniff */ class RestrictedFunctionsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Functions/StripTagsUnitTest.php b/WordPressVIPMinimum/Tests/Functions/StripTagsUnitTest.php index 462dd983..a95d5e33 100644 --- a/WordPressVIPMinimum/Tests/Functions/StripTagsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Functions/StripTagsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the StripTags sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Functions\StripTagsSniff */ class StripTagsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Hooks/AlwaysReturnInFilterUnitTest.php b/WordPressVIPMinimum/Tests/Hooks/AlwaysReturnInFilterUnitTest.php index ee2cd6c8..747e0b83 100644 --- a/WordPressVIPMinimum/Tests/Hooks/AlwaysReturnInFilterUnitTest.php +++ b/WordPressVIPMinimum/Tests/Hooks/AlwaysReturnInFilterUnitTest.php @@ -12,6 +12,8 @@ * Unit test class for the Hooks/AlwaysReturn sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Hooks\AlwaysReturnInFilterSniff */ class AlwaysReturnInFilterUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Hooks/PreGetPostsUnitTest.php b/WordPressVIPMinimum/Tests/Hooks/PreGetPostsUnitTest.php index 02e45189..9b733c15 100644 --- a/WordPressVIPMinimum/Tests/Hooks/PreGetPostsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Hooks/PreGetPostsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the PreGetPosts sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Hooks\PreGetPostsSniff */ class PreGetPostsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Hooks/RestrictedHooksUnitTest.php b/WordPressVIPMinimum/Tests/Hooks/RestrictedHooksUnitTest.php index d4ed28e2..de76d873 100644 --- a/WordPressVIPMinimum/Tests/Hooks/RestrictedHooksUnitTest.php +++ b/WordPressVIPMinimum/Tests/Hooks/RestrictedHooksUnitTest.php @@ -14,6 +14,8 @@ * @package VIPCS\WordPressVIPMinimum * * @since 0.4.0 + * + * @covers \WordPressVIPMinimum\Sniffs\Hooks\RestrictedHooksSniff */ class RestrictedHooksUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/JS/DangerouslySetInnerHTMLUnitTest.php b/WordPressVIPMinimum/Tests/JS/DangerouslySetInnerHTMLUnitTest.php index 6dea8c31..f0cfc1dd 100644 --- a/WordPressVIPMinimum/Tests/JS/DangerouslySetInnerHTMLUnitTest.php +++ b/WordPressVIPMinimum/Tests/JS/DangerouslySetInnerHTMLUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the HTML String concatenation in JS sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\JS\DangerouslySetInnerHTMLSniff */ class DangerouslySetInnerHTMLUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/JS/HTMLExecutingFunctionsUnitTest.php b/WordPressVIPMinimum/Tests/JS/HTMLExecutingFunctionsUnitTest.php index 794ec61f..8efb366f 100644 --- a/WordPressVIPMinimum/Tests/JS/HTMLExecutingFunctionsUnitTest.php +++ b/WordPressVIPMinimum/Tests/JS/HTMLExecutingFunctionsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the HTML executing JS functions sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\JS\HTMLExecutingFunctionsSniff */ class HTMLExecutingFunctionsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/JS/InnerHTMLUnitTest.php b/WordPressVIPMinimum/Tests/JS/InnerHTMLUnitTest.php index d51bdf9d..a696a7fe 100644 --- a/WordPressVIPMinimum/Tests/JS/InnerHTMLUnitTest.php +++ b/WordPressVIPMinimum/Tests/JS/InnerHTMLUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the HTML String concatenation in JS sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\JS\InnerHTMLSniff */ class InnerHTMLUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/JS/StringConcatUnitTest.php b/WordPressVIPMinimum/Tests/JS/StringConcatUnitTest.php index 50b87b3c..ac218635 100644 --- a/WordPressVIPMinimum/Tests/JS/StringConcatUnitTest.php +++ b/WordPressVIPMinimum/Tests/JS/StringConcatUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the HTML String concatenation in JS sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\JS\StringConcatSniff */ class StringConcatUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/JS/StrippingTagsUnitTest.php b/WordPressVIPMinimum/Tests/JS/StrippingTagsUnitTest.php index 12494d63..9a27f293 100644 --- a/WordPressVIPMinimum/Tests/JS/StrippingTagsUnitTest.php +++ b/WordPressVIPMinimum/Tests/JS/StrippingTagsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for incorrect HTML tags stripping approach in JS sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\JS\StrippingTagsSniff */ class StrippingTagsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/JS/WindowUnitTest.php b/WordPressVIPMinimum/Tests/JS/WindowUnitTest.php index c93bdae7..3ba5cf36 100644 --- a/WordPressVIPMinimum/Tests/JS/WindowUnitTest.php +++ b/WordPressVIPMinimum/Tests/JS/WindowUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the HTML String concatenation in JS sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\JS\WindowSniff */ class WindowUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/BatcacheWhitelistedParamsUnitTest.php b/WordPressVIPMinimum/Tests/Performance/BatcacheWhitelistedParamsUnitTest.php index 9867a2c0..f1b0897c 100644 --- a/WordPressVIPMinimum/Tests/Performance/BatcacheWhitelistedParamsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/BatcacheWhitelistedParamsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the BatcacheWhitelistedParams sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\BatcacheWhitelistedParamsSniff */ class BatcacheWhitelistedParamsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/CacheValueOverrideUnitTest.php b/WordPressVIPMinimum/Tests/Performance/CacheValueOverrideUnitTest.php index 91ba18ed..62c0aa1a 100644 --- a/WordPressVIPMinimum/Tests/Performance/CacheValueOverrideUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/CacheValueOverrideUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the CacheValueOverride sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\CacheValueOverrideSniff */ class CacheValueOverrideUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/FetchingRemoteDataUnitTest.php b/WordPressVIPMinimum/Tests/Performance/FetchingRemoteDataUnitTest.php index fa4a8551..d5c94d9c 100644 --- a/WordPressVIPMinimum/Tests/Performance/FetchingRemoteDataUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/FetchingRemoteDataUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the ExitAfterRedirect sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\FetchingRemoteDataSniff */ class FetchingRemoteDataUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/LowExpiryCacheTimeUnitTest.php b/WordPressVIPMinimum/Tests/Performance/LowExpiryCacheTimeUnitTest.php index 6befe13e..81a4da60 100644 --- a/WordPressVIPMinimum/Tests/Performance/LowExpiryCacheTimeUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/LowExpiryCacheTimeUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the LowExpiryCacheTime sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\LowExpiryCacheTimeSniff */ class LowExpiryCacheTimeUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/NoPagingUnitTest.php b/WordPressVIPMinimum/Tests/Performance/NoPagingUnitTest.php index b37f11c2..58522936 100644 --- a/WordPressVIPMinimum/Tests/Performance/NoPagingUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/NoPagingUnitTest.php @@ -15,6 +15,8 @@ * @package VIPCS\WordPressVIPMinimum * * @since 0.5.0 + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\NoPagingSniff */ class NoPagingUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/OrderByRandUnitTest.php b/WordPressVIPMinimum/Tests/Performance/OrderByRandUnitTest.php index f17cd8be..2192a44f 100644 --- a/WordPressVIPMinimum/Tests/Performance/OrderByRandUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/OrderByRandUnitTest.php @@ -15,6 +15,8 @@ * @package VIPCS\WordPressVIPMinimum * * @since 0.5.0 + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\OrderByRandSniff */ class OrderByRandUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/RegexpCompareUnitTest.php b/WordPressVIPMinimum/Tests/Performance/RegexpCompareUnitTest.php index 0aa1c004..a647a605 100644 --- a/WordPressVIPMinimum/Tests/Performance/RegexpCompareUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/RegexpCompareUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the RegexpCompare sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\RegexpCompareSniff */ class RegexpCompareUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/RemoteRequestTimeoutUnitTest.php b/WordPressVIPMinimum/Tests/Performance/RemoteRequestTimeoutUnitTest.php index 49c7a2e7..46586bc1 100644 --- a/WordPressVIPMinimum/Tests/Performance/RemoteRequestTimeoutUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/RemoteRequestTimeoutUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the RemoteRequestTimeout sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\RemoteRequestTimeoutSniff */ class RemoteRequestTimeoutUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/TaxonomyMetaInOptionsUnitTest.php b/WordPressVIPMinimum/Tests/Performance/TaxonomyMetaInOptionsUnitTest.php index af1e0c5d..215fc19d 100644 --- a/WordPressVIPMinimum/Tests/Performance/TaxonomyMetaInOptionsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/TaxonomyMetaInOptionsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the TaxonomyMetaInOptions sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\TaxonomyMetaInOptionsSniff */ class TaxonomyMetaInOptionsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Performance/WPQueryParamsUnitTest.php b/WordPressVIPMinimum/Tests/Performance/WPQueryParamsUnitTest.php index d63892f7..1ccbfc4c 100644 --- a/WordPressVIPMinimum/Tests/Performance/WPQueryParamsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Performance/WPQueryParamsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the WP_Query params sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Performance\WPQueryParamsSniff */ class WPQueryParamsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Security/EscapingVoidReturnFunctionsUnitTest.php b/WordPressVIPMinimum/Tests/Security/EscapingVoidReturnFunctionsUnitTest.php index 0dee7479..355340e2 100644 --- a/WordPressVIPMinimum/Tests/Security/EscapingVoidReturnFunctionsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/EscapingVoidReturnFunctionsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the EscapingVoidReturnFunctions sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Security\EscapingVoidReturnFunctionsSniff */ class EscapingVoidReturnFunctionsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Security/ExitAfterRedirectUnitTest.php b/WordPressVIPMinimum/Tests/Security/ExitAfterRedirectUnitTest.php index 053d9ebe..b5aff55c 100644 --- a/WordPressVIPMinimum/Tests/Security/ExitAfterRedirectUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/ExitAfterRedirectUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the ExitAfterRedirect sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Security\ExitAfterRedirectSniff */ class ExitAfterRedirectUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Security/MustacheUnitTest.php b/WordPressVIPMinimum/Tests/Security/MustacheUnitTest.php index d7f38041..1d68d752 100644 --- a/WordPressVIPMinimum/Tests/Security/MustacheUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/MustacheUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the unescaped output in Mustache templating engine. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Security\MustacheSniff */ class MustacheUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Security/PHPFilterFunctionsUnitTest.php b/WordPressVIPMinimum/Tests/Security/PHPFilterFunctionsUnitTest.php index 1d908a4d..05e91e52 100644 --- a/WordPressVIPMinimum/Tests/Security/PHPFilterFunctionsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/PHPFilterFunctionsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the WP_Query params sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Security\PHPFilterFunctionsSniff */ class PHPFilterFunctionsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.php b/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.php index 8fa5dd4e..ed63adcf 100644 --- a/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the ProperEscapingFunction sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Security\ProperEscapingFunctionSniff */ class ProperEscapingFunctionUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Security/StaticStrreplaceUnitTest.php b/WordPressVIPMinimum/Tests/Security/StaticStrreplaceUnitTest.php index cc3ed4e6..6006601f 100644 --- a/WordPressVIPMinimum/Tests/Security/StaticStrreplaceUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/StaticStrreplaceUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the StaticStrreplace sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Security\StaticStrreplaceSniff */ class StaticStrreplaceUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Security/TwigUnitTest.php b/WordPressVIPMinimum/Tests/Security/TwigUnitTest.php index 19989225..4d4632ae 100644 --- a/WordPressVIPMinimum/Tests/Security/TwigUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/TwigUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the unescaped output in Twig templating engine. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Security\TwigSniff */ class TwigUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Security/UnderscorejsUnitTest.php b/WordPressVIPMinimum/Tests/Security/UnderscorejsUnitTest.php index 29b88003..1043c3e8 100644 --- a/WordPressVIPMinimum/Tests/Security/UnderscorejsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/UnderscorejsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the unescaped output in Underscore.js templating engine. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Security\UnderscorejsSniff */ class UnderscorejsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Security/VuejsUnitTest.php b/WordPressVIPMinimum/Tests/Security/VuejsUnitTest.php index 7979c7a5..1222b57f 100644 --- a/WordPressVIPMinimum/Tests/Security/VuejsUnitTest.php +++ b/WordPressVIPMinimum/Tests/Security/VuejsUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the unescaped output in Vue.js templating engine. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Security\VuejsSniff */ class VuejsUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/UserExperience/AdminBarRemovalUnitTest.php b/WordPressVIPMinimum/Tests/UserExperience/AdminBarRemovalUnitTest.php index 5e427e36..7eefb77f 100644 --- a/WordPressVIPMinimum/Tests/UserExperience/AdminBarRemovalUnitTest.php +++ b/WordPressVIPMinimum/Tests/UserExperience/AdminBarRemovalUnitTest.php @@ -15,6 +15,8 @@ * @package VIPCS\WordPressVIPMinimum * * @since 0.5.0 + * + * @covers \WordPressVIPMinimum\Sniffs\UserExperience\AdminBarRemovalSniff */ class AdminBarRemovalUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Variables/RestrictedVariablesUnitTest.php b/WordPressVIPMinimum/Tests/Variables/RestrictedVariablesUnitTest.php index 37ef4079..487c1ee0 100644 --- a/WordPressVIPMinimum/Tests/Variables/RestrictedVariablesUnitTest.php +++ b/WordPressVIPMinimum/Tests/Variables/RestrictedVariablesUnitTest.php @@ -16,6 +16,8 @@ * * @since 0.3.0 * @since 0.13.0 Class name changed: this class is now namespaced. + * + * @covers \WordPressVIPMinimum\Sniffs\Variables\RestrictedVariablesSniff */ class RestrictedVariablesUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Variables/ServerVariablesUnitTest.php b/WordPressVIPMinimum/Tests/Variables/ServerVariablesUnitTest.php index 66579128..862efebd 100644 --- a/WordPressVIPMinimum/Tests/Variables/ServerVariablesUnitTest.php +++ b/WordPressVIPMinimum/Tests/Variables/ServerVariablesUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the Variable Analysis sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Variables\ServerVariablesSniff */ class ServerVariablesUnitTest extends AbstractSniffUnitTest { diff --git a/WordPressVIPMinimum/Tests/Variables/VariableAnalysisUnitTest.php b/WordPressVIPMinimum/Tests/Variables/VariableAnalysisUnitTest.php index 44fd0aba..34a9b34d 100644 --- a/WordPressVIPMinimum/Tests/Variables/VariableAnalysisUnitTest.php +++ b/WordPressVIPMinimum/Tests/Variables/VariableAnalysisUnitTest.php @@ -13,6 +13,8 @@ * Unit test class for the Variable Analysis sniff. * * @package VIPCS\WordPressVIPMinimum + * + * @covers \WordPressVIPMinimum\Sniffs\Variables\VariableAnalysisSniff */ class VariableAnalysisUnitTest extends AbstractSniffUnitTest { diff --git a/phpunit.xml.dist b/phpunit.xml.dist index aba257c8..82c63521 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -5,6 +5,7 @@ backupGlobals="true" bootstrap="./tests/bootstrap.php" beStrictAboutTestsThatDoNotTestAnything="false" + forceCoversAnnotation="true" colors="true" > From 2e141c1c765157dacd016ae06211040bdd248d0c Mon Sep 17 00:00:00 2001 From: jrfnl Date: Wed, 29 Jul 2020 13:00:28 +0200 Subject: [PATCH 3/3] Test scripts: add ability to pass additional command line arguments --- bin/unit-tests | 8 +++++++- bin/unit-tests-coverage | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/bin/unit-tests b/bin/unit-tests index 58afa1fd..adc03b12 100755 --- a/bin/unit-tests +++ b/bin/unit-tests @@ -9,5 +9,11 @@ # # ./bin/unit-tests # +# The script allows to pass additional PHPUnit CLI arguments. +# For instance, if you only want to run the tests for one particular sniff, +# use the following, replacing "SniffName" with the name of the target sniff: +# +# ./bin/unit-tests --filter SniffName +# -"$(pwd)/vendor/bin/phpunit" --filter WordPressVIPMinimum "$(pwd)/vendor/squizlabs/php_codesniffer/tests/AllTests.php" --no-coverage +"$(pwd)/vendor/bin/phpunit" --filter WordPressVIPMinimum "$(pwd)/vendor/squizlabs/php_codesniffer/tests/AllTests.php" --no-coverage $@ diff --git a/bin/unit-tests-coverage b/bin/unit-tests-coverage index c0fdf90d..89026123 100755 --- a/bin/unit-tests-coverage +++ b/bin/unit-tests-coverage @@ -8,5 +8,12 @@ # # ./bin/unit-tests-coverage # +# The script allows to pass additional PHPUnit CLI arguments. +# For instance, if you only want to run the tests with code coverage for one +# particular sniff, use the following, replacing "SniffName" with the name +# of the target sniff: +# +# ./bin/unit-tests-coverage --filter SniffName +# -"$(pwd)/vendor/bin/phpunit" --filter WordPressVIPMinimum "$(pwd)/vendor/squizlabs/php_codesniffer/tests/AllTests.php" +"$(pwd)/vendor/bin/phpunit" --filter WordPressVIPMinimum "$(pwd)/vendor/squizlabs/php_codesniffer/tests/AllTests.php" $@