diff --git a/tests/Aws/Tests/S3/Sync/AbstractSyncTest.php b/tests/Aws/Tests/S3/Sync/AbstractSyncTest.php index e5913b320d..84a64e9e36 100644 --- a/tests/Aws/Tests/S3/Sync/AbstractSyncTest.php +++ b/tests/Aws/Tests/S3/Sync/AbstractSyncTest.php @@ -25,8 +25,8 @@ class AbstractSyncTest extends \Guzzle\Tests\GuzzleTestCase { public function setUp() { - if (in_array(PHP_VERSION_ID, array(50429, 50513, 50600))) { - $this->markTestSkipped('TODO: Remove once PHPUnit is tagged.'); + if (!\can_mock_internal_classes()) { + $this->markTestSkipped('Cannot mock internal classes'); } } diff --git a/tests/Aws/Tests/S3/Sync/ChangedFilesIteratorTest.php b/tests/Aws/Tests/S3/Sync/ChangedFilesIteratorTest.php index 7a737a170d..bdcaf027d8 100644 --- a/tests/Aws/Tests/S3/Sync/ChangedFilesIteratorTest.php +++ b/tests/Aws/Tests/S3/Sync/ChangedFilesIteratorTest.php @@ -26,8 +26,8 @@ class ChangedFilesIteratorTest extends \Guzzle\Tests\GuzzleTestCase { public function setUp() { - if (in_array(PHP_VERSION_ID, array(50429, 50513, 50600))) { - $this->markTestSkipped('TODO: Remove once PHPUnit is tagged.'); + if (!\can_mock_internal_classes()) { + $this->markTestSkipped('Cannot mock internal classes'); } } diff --git a/tests/Aws/Tests/S3/Sync/DownloadSyncTest.php b/tests/Aws/Tests/S3/Sync/DownloadSyncTest.php index 9deecf5ca3..c3454e873c 100644 --- a/tests/Aws/Tests/S3/Sync/DownloadSyncTest.php +++ b/tests/Aws/Tests/S3/Sync/DownloadSyncTest.php @@ -27,8 +27,8 @@ class DownloadSyncTest extends \Guzzle\Tests\GuzzleTestCase { public function setUp() { - if (in_array(PHP_VERSION_ID, array(50429, 50513, 50600))) { - $this->markTestSkipped('TODO: Remove once PHPUnit is tagged.'); + if (!\can_mock_internal_classes()) { + $this->markTestSkipped('Cannot mock internal classes'); } } diff --git a/tests/Aws/Tests/S3/Sync/UploadSyncTest.php b/tests/Aws/Tests/S3/Sync/UploadSyncTest.php index d7d41ddb10..9b17462db3 100644 --- a/tests/Aws/Tests/S3/Sync/UploadSyncTest.php +++ b/tests/Aws/Tests/S3/Sync/UploadSyncTest.php @@ -30,8 +30,8 @@ class UploadSyncTest extends \Guzzle\Tests\GuzzleTestCase public function setUp() { - if (in_array(PHP_VERSION_ID, array(50429, 50513, 50600))) { - $this->markTestSkipped('TODO: Remove once PHPUnit is tagged.'); + if (!\can_mock_internal_classes()) { + $this->markTestSkipped('Cannot mock internal classes'); } $this->tmpFile = null; diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 37caf710ff..b2865b69cf 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -68,3 +68,17 @@ // Emit deprecation warnings Guzzle\Common\Version::$emitWarnings = true; + +function can_mock_internal_classes() +{ + switch (substr(PHP_VERSION, 0, 3)) { + case '5.3.': + return true; + case '5.4.': + return version_compare(PHP_VERSION, '5.4.30', '<'); + case '5.5.': + return version_compare(PHP_VERSION, '5.5.14', '<'); + default: + return false; + } +}