Merge pull request #24317 from owncloud/app-require-bits
Allow app developers to specify the minimum int size
This commit is contained in:
commit
5f9700ccda
|
@ -145,6 +145,12 @@ class DependencyAnalyzer {
|
||||||
$missing[] = (string)$this->l->t('PHP with a version lower than %s is required.', $maxVersion);
|
$missing[] = (string)$this->l->t('PHP with a version lower than %s is required.', $maxVersion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (isset($dependencies['php']['@attributes']['min-int-size'])) {
|
||||||
|
$intSize = $dependencies['php']['@attributes']['min-int-size'];
|
||||||
|
if ($intSize > $this->platform->getIntSize()*8) {
|
||||||
|
$missing[] = (string)$this->l->t('%sbit or higher PHP required.', $intSize);
|
||||||
|
}
|
||||||
|
}
|
||||||
return $missing;
|
return $missing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,13 @@ class Platform {
|
||||||
return phpversion();
|
return phpversion();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getIntSize() {
|
||||||
|
return PHP_INT_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -32,6 +32,9 @@ class DependencyAnalyzer extends TestCase {
|
||||||
$this->platformMock->expects($this->any())
|
$this->platformMock->expects($this->any())
|
||||||
->method('getPhpVersion')
|
->method('getPhpVersion')
|
||||||
->will( $this->returnValue('5.4.3'));
|
->will( $this->returnValue('5.4.3'));
|
||||||
|
$this->platformMock->expects($this->any())
|
||||||
|
->method('getIntSize')
|
||||||
|
->will( $this->returnValue('4'));
|
||||||
$this->platformMock->expects($this->any())
|
$this->platformMock->expects($this->any())
|
||||||
->method('getDatabase')
|
->method('getDatabase')
|
||||||
->will( $this->returnValue('mysql'));
|
->will( $this->returnValue('mysql'));
|
||||||
|
@ -73,8 +76,9 @@ class DependencyAnalyzer extends TestCase {
|
||||||
* @param string $expectedMissing
|
* @param string $expectedMissing
|
||||||
* @param string $minVersion
|
* @param string $minVersion
|
||||||
* @param string $maxVersion
|
* @param string $maxVersion
|
||||||
|
* @param string $intSize
|
||||||
*/
|
*/
|
||||||
public function testPhpVersion($expectedMissing, $minVersion, $maxVersion) {
|
public function testPhpVersion($expectedMissing, $minVersion, $maxVersion, $intSize) {
|
||||||
$app = array(
|
$app = array(
|
||||||
'dependencies' => array(
|
'dependencies' => array(
|
||||||
'php' => array()
|
'php' => array()
|
||||||
|
@ -86,6 +90,9 @@ class DependencyAnalyzer extends TestCase {
|
||||||
if (!is_null($maxVersion)) {
|
if (!is_null($maxVersion)) {
|
||||||
$app['dependencies']['php']['@attributes']['max-version'] = $maxVersion;
|
$app['dependencies']['php']['@attributes']['max-version'] = $maxVersion;
|
||||||
}
|
}
|
||||||
|
if (!is_null($intSize)) {
|
||||||
|
$app['dependencies']['php']['@attributes']['min-int-size'] = $intSize;
|
||||||
|
}
|
||||||
$missing = $this->analyser->analyze($app);
|
$missing = $this->analyser->analyze($app);
|
||||||
|
|
||||||
$this->assertTrue(is_array($missing));
|
$this->assertTrue(is_array($missing));
|
||||||
|
@ -278,13 +285,14 @@ class DependencyAnalyzer extends TestCase {
|
||||||
*/
|
*/
|
||||||
function providesPhpVersion() {
|
function providesPhpVersion() {
|
||||||
return array(
|
return array(
|
||||||
array(array(), null, null),
|
array(array(), null, null, null),
|
||||||
array(array(), '5.4', null),
|
array(array(), '5.4', null, null),
|
||||||
array(array(), null, '5.5'),
|
array(array(), null, '5.5', null),
|
||||||
array(array(), '5.4', '5.5'),
|
array(array(), '5.4', '5.5', null),
|
||||||
array(array('PHP 5.4.4 or higher is required.'), '5.4.4', null),
|
array(array('PHP 5.4.4 or higher is required.'), '5.4.4', null, null),
|
||||||
array(array('PHP with a version lower than 5.4.2 is required.'), null, '5.4.2'),
|
array(array('PHP with a version lower than 5.4.2 is required.'), null, '5.4.2', null),
|
||||||
array(array(), '5.4', '5.4'),
|
array(array('64bit or higher PHP required.'), null, null, 64),
|
||||||
|
array(array(), '5.4', '5.4', null),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue