support cross version phpunit (#92)

This commit is contained in:
Dengke Tang
2023-03-09 16:44:10 -08:00
committed by GitHub
parent 5334110e8b
commit 46e0ca0c81
9 changed files with 22 additions and 22 deletions
+2
View File
@@ -58,6 +58,8 @@ jobs:
- "7.3" - "7.3"
- "7.4" - "7.4"
- "8.0" - "8.0"
- "8.1"
- "8.2"
steps: steps:
- name: Setup PHP with Xdebug - name: Setup PHP with Xdebug
uses: shivammathur/setup-php@v2 uses: shivammathur/setup-php@v2
+1
View File
@@ -207,6 +207,7 @@ src/*.so
src/*.dylib src/*.dylib
src/*.dll src/*.dll
/x64/ /x64/
awscrt.dep
# ignoring output of package.xml as it needs to be generated from ./prepare_release.sh in each publishing # ignoring output of package.xml as it needs to be generated from ./prepare_release.sh in each publishing
package.xml package.xml
+2 -4
View File
@@ -10,15 +10,13 @@
"email": "[email protected]" "email": "[email protected]"
} }
], ],
"config": {
"platform": {"php": "7.4"}
},
"minimum-stability": "alpha", "minimum-stability": "alpha",
"require": { "require": {
"php": ">=5.5" "php": ">=5.5"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit":"^4.8.35|^5.6.3" "phpunit/phpunit":"^4.8.35||^5.6.3||^9.5",
"yoast/phpunit-polyfills": "^1.0"
}, },
"autoload": { "autoload": {
"classmap": [ "classmap": [
+1
View File
@@ -38,6 +38,7 @@ FILES_TO_REMOVE = [
'mkinstalldirs', 'mkinstalldirs',
'run-tests.php', 'run-tests.php',
'awscrt.la', 'awscrt.la',
'awscrt.dep',
'composer.lock', 'composer.lock',
'ext/awscrt.stub.php', 'ext/awscrt.stub.php',
'acinclude.m4', 'acinclude.m4',
+2 -2
View File
@@ -311,9 +311,9 @@ PHP_FUNCTION(aws_crt_sign_request_aws) {
zend_ulong php_signable = 0; zend_ulong php_signable = 0;
zend_ulong php_signing_config = 0; zend_ulong php_signing_config = 0;
zval *php_on_complete = 0; zval *php_on_complete = 0;
zend_ulong php_user_data = 0; zval *php_user_data = 0;
aws_php_parse_parameters("llzl", &php_signable, &php_signing_config, &php_on_complete, &php_user_data); aws_php_parse_parameters("llzz", &php_signable, &php_signing_config, &php_on_complete, &php_user_data);
aws_crt_signable *signable = (void *)php_signable; aws_crt_signable *signable = (void *)php_signable;
aws_crt_signing_config_aws *signing_config = (void *)php_signing_config; aws_crt_signing_config_aws *signing_config = (void *)php_signing_config;
@@ -4,11 +4,12 @@
* SPDX-License-Identifier: Apache-2.0. * SPDX-License-Identifier: Apache-2.0.
*/ */
use AWS\CRT\CRT; use AWS\CRT\CRT;
use Yoast\PHPUnitPolyfills\TestCases\TestCase;
require_once('common.inc'); require_once('common.inc');
// This intentionally does not inherit from CrtTestCase because it needs a clean-room environment // This intentionally does not inherit from CrtTestCase because it needs a clean-room environment
final class CoreTest extends PHPUnit_Framework_TestCase { final class CoreTest extends TestCase {
// The CRT should always be available in this test suite // The CRT should always be available in this test suite
public function testIsAvailable() { public function testIsAvailable() {
@@ -19,4 +20,4 @@ final class CoreTest extends PHPUnit_Framework_TestCase {
public function testIsLoaded() { public function testIsLoaded() {
$this->assertTrue(!CRT::isLoaded()); $this->assertTrue(!CRT::isLoaded());
} }
} }
+1 -1
View File
@@ -86,5 +86,5 @@ final class CrcTest extends CrtTestCase {
$expected = 0x14298C12; $expected = 0x14298C12;
$this->assertEquals($output, $expected); $this->assertEquals($output, $expected);
} }
} }
+2 -1
View File
@@ -4,8 +4,9 @@
* SPDX-License-Identifier: Apache-2.0. * SPDX-License-Identifier: Apache-2.0.
*/ */
use AWS\CRT\CRT; use AWS\CRT\CRT;
use Yoast\PHPUnitPolyfills\TestCases\TestCase;
final class ErrorTest extends PHPUnit_Framework_TestCase { final class ErrorTest extends TestCase {
public function testNoInitialError() { public function testNoInitialError() {
$this->assertEquals(0, CRT::last_error()); $this->assertEquals(0, CRT::last_error());
+8 -12
View File
@@ -4,31 +4,27 @@
* SPDX-License-Identifier: Apache-2.0. * SPDX-License-Identifier: Apache-2.0.
*/ */
use AWS\CRT\CRT as CRT; use AWS\CRT\CRT as CRT;
use Yoast\PHPUnitPolyfills\TestCases\TestCase;
ini_set("memory_limit", "512M"); ini_set("memory_limit", "512M");
abstract class CrtTestCase extends PHPUnit_Framework_TestCase { abstract class CrtTestCase extends TestCase {
private static $crt = null; private static $crt = null;
public static function setUpBeforeClass() { public static function set_up_before_class() {
parent::set_up_before_class();
self::$crt = new CRT(); self::$crt = new CRT();
} }
public static function tearDownAfterClass() { public static function tear_down_after_class() {
self::$crt = null; self::$crt = null;
parent::tear_down_after_class();
} }
// Ensure that after every test there are no errors in the CRT itself // Ensure that after every test there are no errors in the CRT itself
protected function assertPostConditions() { protected function assert_post_conditions() {
if (CRT::last_error()) { if (CRT::last_error()) {
$this->fail("Test left an error on the stack: " . CRT::error_name(CRT::last_error())); $this->fail("Test left an error on the stack: " . CRT::error_name(CRT::last_error()));
} }
} parent::assert_post_conditions();
// Shim missing calls in older versions of PHPUnit
public function __call($name, $arguments) {
// shim expectException -> setExpectedException for PHPUnit 4.8.x
if ($name == 'expectException') {
$this->setExpectedException($arguments[0]);
}
} }
} }