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(
|
||||
ArcanistWorkingCopyIdentity $working_copy) {
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -56,8 +56,9 @@ class XUnitTestEngine extends ArcanistBaseUnitTestEngine {
|
|||
|
||||
// Determine xUnit test runner path.
|
||||
if ($this->xunitHintPath === null) {
|
||||
$this->xunitHintPath = $this->getWorkingCopy()->getConfig(
|
||||
'unit.xunit.binary');
|
||||
$this->xunitHintPath =
|
||||
$this->getConfigurationManager()->getConfigFromAnySource(
|
||||
'unit.xunit.binary');
|
||||
}
|
||||
if ($this->xunitHintPath === null) {
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue