1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-22 14:52:40 +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:
Aviv Eyal 2013-10-22 13:58:32 -07:00 committed by epriestley
parent ddbc14ade1
commit 4103bc423c
5 changed files with 29 additions and 9 deletions

View file

@ -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(
ArcanistWorkingCopyIdentity $working_copy) {

View file

@ -26,11 +26,15 @@ final class CSharpToolsTestEngine extends XUnitTestEngine {
protected function loadEnvironment(
$config_item = 'unit.csharp.xunit.binary') {
$working = $this->getWorkingCopy();
$this->xunitHintPath = $working->getConfig('unit.csharp.xunit.binary');
$this->cscoverHintPath = $working->getConfig('unit.csharp.cscover.binary');
$this->matchRegex = $working->getConfig('unit.csharp.coverage.match');
$this->excludedFiles = $working->getConfig('unit.csharp.coverage.excluded');
$config = $this->getConfigurationManager();
$this->xunitHintPath =
$config->getConfigFromAnySource('unit.csharp.xunit.binary');
$this->cscoverHintPath =
$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);

View file

@ -257,8 +257,10 @@ final class PhpunitTestEngine extends ArcanistBaseUnitTestEngine {
*/
private function prepareConfigFile() {
$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)) {
$this->configFile = $project_root . $config;
} else {
@ -266,7 +268,9 @@ final class PhpunitTestEngine extends ArcanistBaseUnitTestEngine {
'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)) {
$this->phpunitBinary = $bin;
}

View file

@ -56,7 +56,8 @@ class XUnitTestEngine extends ArcanistBaseUnitTestEngine {
// Determine xUnit test runner path.
if ($this->xunitHintPath === null) {
$this->xunitHintPath = $this->getWorkingCopy()->getConfig(
$this->xunitHintPath =
$this->getConfigurationManager()->getConfigFromAnySource(
'unit.xunit.binary');
}
if ($this->xunitHintPath === null) {

View file

@ -143,6 +143,7 @@ EOTEXT
$this->engine = newv($engine_class, array());
$this->engine->setWorkingCopy($working_copy);
$this->engine->setConfigurationManager($this->getConfigurationManager());
if ($everything) {
$this->engine->setRunAllTests(true);
} else {