Config (Edge\QA\Config) [x] Load default config [x] Build absolute path [x] Override default config [x] Allow partial update of tools [x] Ignore non existent user config [x] No exception when cwd has no config [x] Throw exception when file does not exist [x] Config csv string [x] Use cwd if no directory is specified [x] Ignore invalid binary does not exist [x] Tool and binary name might not match [ ] Multiple config [x] Autodetect config in current directory [x] Ignore autodetected config if user config is specified Get Versions (Edge\QA\Tools\GetVersions) [x] Normalize version with data set "full semver" [x] Normalize version with data set "minor release" [x] Normalize version with data set "major release" [x] Cli version with data set "semver at the end" [x] Cli version with data set "semver at the start" [x] Cli version with data set "semver at 2nd line" [x] Cli version with data set "custom format" [x] Cli version with data set "no space" [x] Cli version with data set "dev version" [x] Cli version with data set "prefer semver (semver + dev)" [x] Cli version with data set "prefer semver (dev + semver)" [x] Cli version with data set "no version" [x] Compare versions with data set "no version" [x] Compare versions with data set "is lower?" [x] Compare versions with data set "is greater than dev version" [x] Compare versions with data set "semver is greater than" [x] Compare versions with data set "dev version is greater than" Ignored Paths (Edge\QA\IgnoredPaths) [x] No option when nothing is ignored with data set #0 [x] No option when nothing is ignored with data set #1 [x] No option when nothing is ignored with data set #2 [x] No option when nothing is ignored with data set "pdepend + windows" [x] No option when nothing is ignored with data set "phpmd + windows" [x] No option when nothing is ignored with data set #3 [x] No option when nothing is ignored with data set #4 [x] No option when nothing is ignored with data set #5 [x] No option when nothing is ignored with data set #6 [x] No option when nothing is ignored with data set #7 [x] Ignore directories and files with data set #0 [x] Ignore directories and files with data set #1 [x] Ignore directories and files with data set #2 [x] Ignore directories and files with data set "pdepend + windows" [x] Ignore directories and files with data set "phpmd + windows" [x] Ignore directories and files with data set #3 [x] Ignore directories and files with data set #4 [x] Ignore directories and files with data set #5 [x] Ignore directories and files with data set #6 [x] Ignore directories and files with data set #7 Options (Edge\QA\Options) [x] Escape paths [x] Respect tools order defined in option [x] Ignore pdepend in cli output [x] Is suggested tool installed with data set "internal class is available" [x] Is suggested tool installed with data set "at least one internal class is available" [x] Is suggested tool installed with data set "dependency is available" [x] Is suggested tool installed with data set "dependency is not available" [x] Build output with data set "ignore verbose and report in CLI output" [x] Build output with data set "respect verbose mode and report in FILE output" [x] Execute with data set "parallel execution is default mode" [x] Execute with data set "parallel execution" [x] Execute with data set "dont use parallelism if execution is other word" [x] Build root path with data set "current dir + analyzed dir + slash" [x] Build root path with data set "find common root from multiple dirs" [x] Build root path with data set "no path when dir is invalid" [x] Build root path with data set "file directory + skip invalid dir" [x] Load allowed errors count Paths (Edge\QA\Paths) [x] Path to binary is escaped Report (Edge\QA\Report) [x] Convert twig to html [x] Convert xml to html with data set "create html" [x] Convert xml to html with data set "create empty file if something went south" [x] Ignore missing xml documents Running Tool (Edge\QA\RunningTool) [x] Build option with defined separator [x] Mark success when x path is not defined [x] Mark failure when xml file does not exist with data set "success when allowed errors are not defined" [x] Mark failure when xml file does not exist with data set "success when errors count are defined" [x] Compare allowed count with errors count from xml with data set "success when allowed errors are not defined" [x] Compare allowed count with errors count from xml with data set "success when errors count <= allowed count" [x] Compare allowed count with errors count from xml with data set "failure when errors count > allowed count" [x] Runtime selection of error xpath [x] Multiple xpaths with data set "multiple elements" [x] Multiple xpaths with data set "invalid xpath" [ ] Analyze exit code in cli mode with data set "success when exit code = 0" [ ] Analyze exit code in cli mode with data set "success when exit code <= allowed code" [ ] Analyze exit code in cli mode with data set "failure when errors count > allowed count but errors count is always one" [x] Create unique id for user report Phpstan (Edge\QA\Tools\Analyzer\Phpstan) [x] Build config with data set "No config" [x] Build config with data set "No parameters in config" [x] Build config with data set "excludePaths shortcut" [x] Build config with data set "excludePaths + analyseAndScan" [x] Build config with data set "Deprecated excludes_analyse"