Skip to content

Commit 9127eb3

Browse files
Add remote bootstrapping relying on global variables
1 parent 85512e9 commit 9127eb3

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

src/LiveCodeCoverage/LiveCodeCoverage.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,41 @@ public static function bootstrap($storageDirectory, $phpunitConfigFilePath = nul
4545
return $liveCodeCoverage;
4646
}
4747

48+
public static function bootstrapRemoteCoverage($storageDirectory, $phpunitConfigFilePath = null)
49+
{
50+
$coverageGroup = isset($_GET['coverage_group']) ? $_GET['coverage_group'] :
51+
(isset($_COOKIE['coverage_group']) ? $_COOKIE['coverage_group'] : null);
52+
53+
$coverageId = isset($_GET['coverage_id']) ? $_GET['coverage_id'] :
54+
(isset($_COOKIE['coverage_id']) ? $_COOKIE['coverage_id'] : 'live-coverage');
55+
56+
$storageDirectory .= ($coverageGroup ? '/' . $coverageGroup : '');
57+
58+
if (isset($_GET['export_code_coverage'])) {
59+
self::exportCoverageData($storageDirectory);
60+
exit;
61+
}
62+
63+
return self::bootstrap($storageDirectory, $phpunitConfigFilePath, $coverageId);
64+
}
65+
4866
private function start()
4967
{
5068
$this->codeCoverage->start($this->coverageId);
5169
}
5270

71+
/**
72+
* @param $coverageDirectory
73+
* @return void
74+
*/
75+
public static function exportCoverageData($coverageDirectory)
76+
{
77+
$codeCoverage = Storage::loadFromDirectory($coverageDirectory);
78+
79+
header('Content-Type: text/plain');
80+
echo serialize($codeCoverage);
81+
}
82+
5383
public function stopAndSaveOnExit()
5484
{
5585
register_shutdown_function([$this, 'stopAndSave']);

0 commit comments

Comments
 (0)