mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-26 00:32:41 +01:00
get Config Manager to Unit engine and use getConfigFromAnySource
Summary: somewhat related to D7271 and D7377. Not actually broken right now, but might be worth it for completeness. Test Plan: arc unit invokes PHPUnit; Can't test Csharp/XUnit on my end. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley CC: aurelijus, Korvin, epriestley, aran Differential Revision: https://secure.phabricator.com/D7381
This commit is contained in:
parent
ddbc14ade1
commit
4103bc423c
5 changed files with 29 additions and 9 deletions
|
@ -40,6 +40,16 @@ abstract class ArcanistBaseUnitTestEngine {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setConfigurationManager(
|
||||||
|
ArcanistConfigurationManager $configuration_manager) {
|
||||||
|
$this->configurationManager = $configuration_manager;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getConfigurationManager() {
|
||||||
|
return $this->configurationManager;
|
||||||
|
}
|
||||||
|
|
||||||
final public function setWorkingCopy(
|
final public function setWorkingCopy(
|
||||||
ArcanistWorkingCopyIdentity $working_copy) {
|
ArcanistWorkingCopyIdentity $working_copy) {
|
||||||
|
|
||||||
|
|
|
@ -26,11 +26,15 @@ final class CSharpToolsTestEngine extends XUnitTestEngine {
|
||||||
protected function loadEnvironment(
|
protected function loadEnvironment(
|
||||||
$config_item = 'unit.csharp.xunit.binary') {
|
$config_item = 'unit.csharp.xunit.binary') {
|
||||||
|
|
||||||
$working = $this->getWorkingCopy();
|
$config = $this->getConfigurationManager();
|
||||||
$this->xunitHintPath = $working->getConfig('unit.csharp.xunit.binary');
|
$this->xunitHintPath =
|
||||||
$this->cscoverHintPath = $working->getConfig('unit.csharp.cscover.binary');
|
$config->getConfigFromAnySource('unit.csharp.xunit.binary');
|
||||||
$this->matchRegex = $working->getConfig('unit.csharp.coverage.match');
|
$this->cscoverHintPath =
|
||||||
$this->excludedFiles = $working->getConfig('unit.csharp.coverage.excluded');
|
$config->getConfigFromAnySource('unit.csharp.cscover.binary');
|
||||||
|
$this->matchRegex =
|
||||||
|
$config->getConfigFromAnySource('unit.csharp.coverage.match');
|
||||||
|
$this->excludedFiles =
|
||||||
|
$config->getConfigFromAnySource('unit.csharp.coverage.excluded');
|
||||||
|
|
||||||
parent::loadEnvironment($config_item);
|
parent::loadEnvironment($config_item);
|
||||||
|
|
||||||
|
|
|
@ -257,8 +257,10 @@ final class PhpunitTestEngine extends ArcanistBaseUnitTestEngine {
|
||||||
*/
|
*/
|
||||||
private function prepareConfigFile() {
|
private function prepareConfigFile() {
|
||||||
$project_root = $this->projectRoot . DIRECTORY_SEPARATOR;
|
$project_root = $this->projectRoot . DIRECTORY_SEPARATOR;
|
||||||
|
$config = $this->getConfigurationManager()->getConfigFromAnySource(
|
||||||
|
'phpunit_config');
|
||||||
|
|
||||||
if ($config = $this->getWorkingCopy()->getConfig('phpunit_config')) {
|
if ($config) {
|
||||||
if (Filesystem::pathExists($project_root . $config)) {
|
if (Filesystem::pathExists($project_root . $config)) {
|
||||||
$this->configFile = $project_root . $config;
|
$this->configFile = $project_root . $config;
|
||||||
} else {
|
} else {
|
||||||
|
@ -266,7 +268,9 @@ final class PhpunitTestEngine extends ArcanistBaseUnitTestEngine {
|
||||||
'found in ' . $project_root . $config);
|
'found in ' . $project_root . $config);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($bin = $this->getWorkingCopy()->getConfig('unit.phpunit.binary')) {
|
$bin = $this->getConfigurationManager()->getConfigFromAnySource(
|
||||||
|
'unit.phpunit.binary');
|
||||||
|
if ($bin) {
|
||||||
if (Filesystem::binaryExists($bin)) {
|
if (Filesystem::binaryExists($bin)) {
|
||||||
$this->phpunitBinary = $bin;
|
$this->phpunitBinary = $bin;
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,8 +56,9 @@ class XUnitTestEngine extends ArcanistBaseUnitTestEngine {
|
||||||
|
|
||||||
// Determine xUnit test runner path.
|
// Determine xUnit test runner path.
|
||||||
if ($this->xunitHintPath === null) {
|
if ($this->xunitHintPath === null) {
|
||||||
$this->xunitHintPath = $this->getWorkingCopy()->getConfig(
|
$this->xunitHintPath =
|
||||||
'unit.xunit.binary');
|
$this->getConfigurationManager()->getConfigFromAnySource(
|
||||||
|
'unit.xunit.binary');
|
||||||
}
|
}
|
||||||
if ($this->xunitHintPath === null) {
|
if ($this->xunitHintPath === null) {
|
||||||
}
|
}
|
||||||
|
|
|
@ -143,6 +143,7 @@ EOTEXT
|
||||||
|
|
||||||
$this->engine = newv($engine_class, array());
|
$this->engine = newv($engine_class, array());
|
||||||
$this->engine->setWorkingCopy($working_copy);
|
$this->engine->setWorkingCopy($working_copy);
|
||||||
|
$this->engine->setConfigurationManager($this->getConfigurationManager());
|
||||||
if ($everything) {
|
if ($everything) {
|
||||||
$this->engine->setRunAllTests(true);
|
$this->engine->setRunAllTests(true);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue