mirror of
https://github.com/awslabs/aws-crt-php.git
synced 2026-08-17 17:47:12 +00:00
support cross version phpunit (#92)
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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": [
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -86,5 +86,5 @@ final class CrcTest extends CrtTestCase {
|
|||||||
$expected = 0x14298C12;
|
$expected = 0x14298C12;
|
||||||
$this->assertEquals($output, $expected);
|
$this->assertEquals($output, $expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -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
@@ -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]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user