mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-26 16:52:40 +01:00
Prevent detailed code coverage from accessing missing report.
Summary: Fixes T3856. Detailed code coverage iterates over all of the files with changes in the current repository, however the code coverage tool might not generate a report for all changed files in the repository, and this would result in an undefined index error. As an additional bonus, since changes to binary files won't be reported by code coverage tools, this also prevents binary data from being outputted to the console. Test Plan: Change a binary file in a repository and run a code coverage tool. The binary file should be reported as 0% code coverage, but the file contents should not be rendered to the console. Change a code file that is not covered by a code coverage tool and run code coverage. The file should be reported as 0% code coverage, and the file contents should not be displayed. Reviewers: epriestley Reviewed By: epriestley CC: Korvin, aran Maniphest Tasks: T3856 Differential Revision: https://secure.phabricator.com/D7051
This commit is contained in:
parent
bfcb3cfcd0
commit
75737c6d89
1 changed files with 2 additions and 1 deletions
|
@ -237,7 +237,8 @@ EOTEXT
|
||||||
$full_path = $working_copy->getProjectRoot().'/'.$file;
|
$full_path = $working_copy->getProjectRoot().'/'.$file;
|
||||||
if ($this->getArgument('detailed-coverage') &&
|
if ($this->getArgument('detailed-coverage') &&
|
||||||
Filesystem::pathExists($full_path) &&
|
Filesystem::pathExists($full_path) &&
|
||||||
is_file($full_path)) {
|
is_file($full_path) &&
|
||||||
|
array_key_exists($file, $file_reports)) {
|
||||||
$console->writeOut(
|
$console->writeOut(
|
||||||
'%s',
|
'%s',
|
||||||
$this->renderDetailedCoverageReport(
|
$this->renderDetailedCoverageReport(
|
||||||
|
|
Loading…
Reference in a new issue