33 Commits

Author SHA1 Message Date
Zach Borboa 41cc699798 Display summary of warnings (#932) 2025-03-08 13:44:18 -05:00
Zach Borboa a64fad2a9d Fix psalm install error on future php releases (#930)
* Skip running psalm on future PHP releases

* Clean up indentation
2025-03-08 09:18:08 -05:00
Zach Borboa 58962a054e Fix PHPStan static analysis errors (#929)
* Increase PHPStan memory limit on local development

* Add emjois to test warnings and test errors

* Fix PHPStan static analysis errors

Error messages:
 ------ ------------------------------------------------------------------------------------------------------
  Line   src/Curl/Curl.php
 ------ ------------------------------------------------------------------------------------------------------
  123    Cannot unset property Curl\Curl::$curlErrorCodeConstant because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
  124    Cannot unset property Curl\Curl::$curlErrorCodeConstants because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
  125    Cannot unset property Curl\Curl::$curlOptionCodeConstants because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
  126    Cannot unset property Curl\Curl::$effectiveUrl because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
  127    Cannot unset property Curl\Curl::$rfc2616 because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
  128    Cannot unset property Curl\Curl::$rfc6265 because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
  129    Cannot unset property Curl\Curl::$totalTime because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
  564    Cannot unset property Curl\Curl::$curlErrorCodeConstant because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
  565    Cannot unset property Curl\Curl::$effectiveUrl because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
  566    Cannot unset property Curl\Curl::$totalTime because it might have hooks in a subclass.
         🪪  unset.possiblyHookedProperty
 ------ ------------------------------------------------------------------------------------------------------
2025-03-08 08:34:45 -05:00
Zach Borboa d05e75aa14 Check for composer installation failure (#924) 2025-02-17 20:34:41 -05:00
Zach Borboa fd902b4b7c Fix CI (PHPUnit) (#918)
* Add shims for PHPUnit

* Fix PHPUnit error: undefined method returnValue()

1) CurlTest\PHPCurlClassTest::testMock
Error: Call to undefined method CurlTest\PHPCurlClassTest::returnValue()

* Fix PHPUnit risky test by restoring error handler before exception thrown

There was 1 risky test:

1) CurlTest\PHPCurlClassTest::testRequiredOptionCurlOptReturnTransferEmitsWarningPHPUnit10Plus
Test code or tested code did not remove its own error handlers

* Fix psalm errors

* Add attributes for version constraint

* Temporarily pin psalm to fix ci
2025-02-17 18:24:42 -05:00
Zach Borboa 8259795c46 Fix CI tests (psalm) (#913)
* Display psalm version being run

* Update exclusions

* Use separate configuration for PHP 7.4

* Remove temporary workaround
2025-01-26 19:22:36 -05:00
Zach Borboa 87fc9b3796 Use separate scripts to ci tests (#907)
* Run ci static analysis checks using scripts

* Clean up

* Move phpunit run to dedicated script

* Use run.sh and remove ci.sh

* Rename test scripts to be prefixed with "run_"

* Move static analysis runs to test script

* Clean up
2025-01-10 21:44:05 -05:00
Zach Borboa a11ecf6d7b Clean up (#904) 2025-01-09 22:30:06 -05:00
Zach Borboa 63bddcd230 Drop support for PHP 7.0 (#880) 2024-08-17 09:15:46 -04:00
Zach Borboa 3971c2f081 Fix sed portability 2023-03-10 04:31:11 -08:00
Zach Borboa 10ead55ca4 Fail on risky tests
Catch the following:
  There was 1 risky test:

  1) CurlTest\PHPCurlClassTest::testRequiredOptionCurlOptReturnTransferEmitsWarning
  This test did not perform any assertions

  /home/runner/work/php-curl-class/php-curl-class/tests/PHPCurlClass/PHPCurlClassTest.php:3097
2023-02-17 20:21:54 -08:00
Zach Borboa 4ed7644250 Update tests to work with PHPUnit 10 2023-02-17 19:31:41 -08:00
Zach Borboa acf5443a68 Fix sed command portability
Error messages:
    $ sed -i'' '-e/->expectWarning(/d' ./PHPCurlClass/PHPCurlClassTest.php ./PHPCurlClass/PHPMultiCurlClassTest.php
    sed: 1: "./PHPCurlClass/PHPCurlC ...": invalid command code .

    + phpunit_v10_shim
    + remove_expectWarning
    + sed -i '' '-e/->expectWarning(/d' ./PHPCurlClass/PHPCurlClassTest.php ./PHPCurlClass/PHPMultiCurlClassTest.php
    sed: can't read : No such file or directory
2023-02-17 19:29:22 -08:00
Zach Borboa bcf3c1ad33 Remove --verbose option removed in PHPUnit 10
Error:
  + ../vendor/bin/phpunit --configuration phpunit.xml --verbose
  PHPUnit 10.0.1 by Sebastian Bergmann and contributors.

  Unknown option "--verbose"
2023-02-03 17:24:13 -08:00
Zach Borboa 43e666de0f Remove --debug option removed in PHPUnit 10 for continuous integration tests
Error:
  + ../vendor/bin/phpunit --configuration phpunit.xml --debug --verbose
  PHPUnit 10.0.1 by Sebastian Bergmann and contributors.

  Unknown option "--debug"
2023-02-03 17:16:17 -08:00
Zach Borboa 08850b1a90 Remove --debug option removed in PHPUnit 10
Error:
  + ../vendor/bin/phpunit --configuration phpunit.xml --debug --verbose
  PHPUnit 10.0.1 by Sebastian Bergmann and contributors.

  Unknown option "--debug"
2023-02-03 17:04:12 -08:00
Zach Borboa 1b64ab6e84 Add shebang to fix bash invalid option error
Error:
    ++ declare -A pids
    ./run.sh: line 55: declare: -A: invalid option
    declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
2022-03-10 18:17:03 -08:00
Zach Borboa 21564e7429 Allow test failures on future PHP releases to fail more quietly
This change allows continuous integration test failures on future PHP
releases without triggering some of the user interface warnings:
    - Red x mark instead of a green checkmark
    - Pull request merge warning:
        "Some checks were not successful
        7 successful and 1 failing checks"
2021-11-24 23:12:31 -05:00
Zach Borboa 31a65e2dfb Remove void return type when running tests on PHP 7.0
The void return type was implemented in PHP 7.1 and PHP 7.0 treats the
void return type as a class name.

Errors:
    1) CurlTest\CurlTest::testExtensionsLoaded
    TypeError: Return value of CurlTest\CurlTest::setUp() must be an instance of CurlTest\void, none returned

    /home/runner/work/php-curl-class/php-curl-class/tests/PHPCurlClass/PHPCurlClassTest.php:18

    2) CurlTest\CurlTest::testCaseInsensitiveArrayGet
    TypeError: Return value of CurlTest\CurlTest::setUp() must be an instance of CurlTest\void, none returned

    /home/runner/work/php-curl-class/php-curl-class/tests/PHPCurlClass/PHPCurlClassTest.php:18

    3) CurlTest\CurlTest::testCaseInsensitiveArraySet
    TypeError: Return value of CurlTest\CurlTest::setUp() must be an instance of CurlTest\void, none returned

    /home/runner/work/php-curl-class/php-curl-class/tests/PHPCurlClass/PHPCurlClassTest.php:18

    [...]
2021-11-23 21:53:32 -05:00
Zach Borboa b06af57cb3 Clean up 2021-06-11 08:24:40 -04:00
Zach Borboa 8d62a97719 Unify continuous integration and run scripts more closely 2021-06-11 00:19:33 -04:00
Zach Borboa 0031da7477 Remove environmental variable no longer needed
All the tests now make use of PHP's built-in web server and the variable
is no longer needed to determine if the development server is being
used.
2021-03-26 00:03:46 -04:00
Zach Borboa 976008d094 Implement rate limiting requests via MultiCurl::setRateLimit() 2020-05-16 22:01:15 -07:00
Zach Borboa 2c6d228f58 Use vendor phpunit when available 2020-04-11 12:19:12 -07:00
Zach Borboa 7dd4258e02 Fix #562: Prevent direct execution of test server script unless testing 2019-01-05 12:09:03 -08:00
Zach Borboa 03d773b916 Standardize calculating script directory 2018-04-27 23:56:51 -07:00
Zach Borboa 98ce5d3286 Use consistent naming convention 2018-04-27 23:54:34 -07:00
Zach Borboa 96623ba839 Allow the test script to be run from outside the tests directory 2017-08-25 00:16:43 -07:00
Zach Borboa 62d869ed17 Allow passing additional arguments when running unit test script 2016-11-06 00:37:36 -07:00
Zach Borboa 644c59f8bf Increase verbosity when running local tests 2016-03-29 08:11:51 -07:00
Zach Borboa 81807f1753 Hide built-in web server output when running tests 2015-11-10 08:04:15 -08:00
Zach Borboa fcaf4c5d2d Make scripts executable 2015-02-16 14:21:33 +07:00
Zach Borboa fbec34fd6c Add script for running test suite 2014-03-04 22:34:40 -08:00