From 8d82f92d183ff1388bad6072d004785afd5bdb87 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Fri, 1 Aug 2014 11:01:53 -0500 Subject: [PATCH 1/2] Unit tests: changing the mode with runkit causes issues with static vars --- tests/PhpseclibFunctionalTestCase.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/PhpseclibFunctionalTestCase.php b/tests/PhpseclibFunctionalTestCase.php index 42fd80f5..58f5af38 100644 --- a/tests/PhpseclibFunctionalTestCase.php +++ b/tests/PhpseclibFunctionalTestCase.php @@ -7,6 +7,15 @@ abstract class PhpseclibFunctionalTestCase extends PhpseclibTestCase { + static public function setUpBeforeClass() + { + self::ensureConstant('MATH_BIGINTEGER_MODE', MATH_BIGINTEGER_MODE_GMP); + self::ensureConstant('CRYPT_HASH_MODE', CRYPT_HASH_MODE_HASH); + self::reRequireFile('Math/BigInteger.php'); + self::reRequireFile('Crypt/Hash.php'); + parent::setUpBeforeClass(); + } + /** * @param string $variable * @param string|null $message From c0731df4be035a0af98af2bf7a95c65752f36bdd Mon Sep 17 00:00:00 2001 From: terrafrost Date: Mon, 4 Aug 2014 16:33:23 -0500 Subject: [PATCH 2/2] only use runkit functions if runkit isn't loaded --- tests/PhpseclibFunctionalTestCase.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/PhpseclibFunctionalTestCase.php b/tests/PhpseclibFunctionalTestCase.php index 58f5af38..62e41b8d 100644 --- a/tests/PhpseclibFunctionalTestCase.php +++ b/tests/PhpseclibFunctionalTestCase.php @@ -9,10 +9,12 @@ abstract class PhpseclibFunctionalTestCase extends PhpseclibTestCase { static public function setUpBeforeClass() { - self::ensureConstant('MATH_BIGINTEGER_MODE', MATH_BIGINTEGER_MODE_GMP); - self::ensureConstant('CRYPT_HASH_MODE', CRYPT_HASH_MODE_HASH); - self::reRequireFile('Math/BigInteger.php'); - self::reRequireFile('Crypt/Hash.php'); + if (extension_loaded('runkit')) { + self::ensureConstant('MATH_BIGINTEGER_MODE', MATH_BIGINTEGER_MODE_GMP); + self::ensureConstant('CRYPT_HASH_MODE', CRYPT_HASH_MODE_HASH); + self::reRequireFile('Math/BigInteger.php'); + self::reRequireFile('Crypt/Hash.php'); + } parent::setUpBeforeClass(); }