Merge branch 'master' into php5

* master:
  Allow SCP test to run on 5.2 by not depending on GMP, but also allowing bcmath.

Conflicts:
	tests/PhpseclibFunctionalTestCase.php
This commit is contained in:
Andreas Fischer 2014-12-12 12:17:57 +01:00
commit 2b1a0229e1
2 changed files with 15 additions and 6 deletions

View File

@ -14,11 +14,6 @@ class Functional_Net_SCPSSH2UserStoryTest extends PhpseclibFunctionalTestCase
static public function setUpBeforeClass() static public function setUpBeforeClass()
{ {
if (getenv('TRAVIS') && version_compare(PHP_VERSION, '5.3.0', '<')) {
self::markTestIncomplete(
'This test fails on Travis CI on PHP 5.2 due to requiring GMP.'
);
}
parent::setUpBeforeClass(); parent::setUpBeforeClass();
self::$remoteFile = uniqid('phpseclib-scp-ssh2-') . '.txt'; self::$remoteFile = uniqid('phpseclib-scp-ssh2-') . '.txt';
self::$exampleData = str_repeat('abscp12345', 1000); self::$exampleData = str_repeat('abscp12345', 1000);

View File

@ -10,7 +10,21 @@ abstract class PhpseclibFunctionalTestCase extends PhpseclibTestCase
static public function setUpBeforeClass() static public function setUpBeforeClass()
{ {
if (extension_loaded('runkit')) { if (extension_loaded('runkit')) {
self::ensureConstant('MATH_BIGINTEGER_MODE', \phpseclib\Math\BigInteger::MODE_GMP); if (extension_loaded('gmp')) {
self::ensureConstant(
'MATH_BIGINTEGER_MODE',
\phpseclib\Math\BigInteger::MODE_GMP
);
} elseif (extension_loaded('bcmath')) {
self::ensureConstant(
'MATH_BIGINTEGER_MODE',
\phpseclib\Math\BigInteger::MODE_BCMATH
);
} else {
self::markTestSkipped(
'Should have gmp or bcmath extension for functional test.'
);
}
self::ensureConstant('CRYPT_HASH_MODE', Crypt_Hash::MODE_HASH); self::ensureConstant('CRYPT_HASH_MODE', Crypt_Hash::MODE_HASH);
self::reRequireFile('Math/BigInteger.php'); self::reRequireFile('Math/BigInteger.php');
self::reRequireFile('Crypt/Hash.php'); self::reRequireFile('Crypt/Hash.php');