shell: Note that ::isDisabled() should be called before ::command()

And check it in the FirejailCommandTest (integration) for completeness,
even though it will make no practical difference.

Change-Id: Ieb130a888ef8a8162cb0a049ab9c20eac3f58217
This commit is contained in:
Kunal Mehta 2018-06-25 00:09:32 +03:00 committed by Krinkle
parent 6849ebc7d1
commit 83524ae39a
2 changed files with 5 additions and 1 deletions

View file

@ -110,6 +110,7 @@ class Shell {
/**
* Returns a new instance of Command class
*
* @note You should check Shell::isDisabled() before calling this
* @param string|string[] ...$commands String or array of strings representing the command to
* be executed, each value will be escaped.
* Example: [ 'convert', '-font', 'font name' ] would produce "'convert' '-font' 'font name'"
@ -223,6 +224,7 @@ class Shell {
* Note that $parameters should be a flat array and an option with an argument
* should consist of two consecutive items in the array (do not use "--option value").
*
* @note You should check Shell::isDisabled() before calling this
* @param string $script MediaWiki CLI script with full path
* @param string[] $parameters Arguments and options to the script
* @param array $options Associative array of options:

View file

@ -16,7 +16,9 @@ class FirejailCommandIntegrationTest extends PHPUnit\Framework\TestCase {
public function setUp() {
parent::setUp();
if ( Shell::command( 'which', 'firejail' )->execute()->getExitCode() ) {
if ( Shell::isDisabled() ) {
$this->markTestSkipped( 'shelling out is disabled' );
} elseif ( Shell::command( 'which', 'firejail' )->execute()->getExitCode() ) {
$this->markTestSkipped( 'firejail not installed' );
} elseif ( wfIsWindows() ) {
$this->markTestSkipped( 'test supports POSIX environments only' );