parse-community / parse-php-sdk

The PHP SDK for Parse Platform
https://parseplatform.org/
Other
811 stars 346 forks source link

Upgrade to phpunit 7 #443

Closed acinader closed 5 years ago

acinader commented 5 years ago

phpunit 4 is generating deprecation notices, time to upgrade.

  1. Align the sdk with currently supported php versions

  2. Remove parse-server-test as a dev dependency

In working through the phpunit upgrade I found that the new versions (7 & 8, which I am able to move between without any breakage) are sensitive to stdout. If anything has been written to stdout, then any test that uses HTTP header, cookies or the session will fail, so some care has gone into working around this. There is a likely a more general solution, and we should also probably try and run tests in isolation so one failure caused by writing to stdout will not fail later tests that depend on stdout not having been written to (session tests).

codecov[bot] commented 5 years ago

Codecov Report

Merging #443 into master will decrease coverage by 1.98%. The diff coverage is 100%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master     #443      +/-   ##
============================================
- Coverage     98.92%   96.94%   -1.99%     
- Complexity        0     1044    +1044     
============================================
  Files            38       39       +1     
  Lines          3160     2910     -250     
============================================
- Hits           3126     2821     -305     
- Misses           34       89      +55
Impacted Files Coverage Δ Complexity Δ
src/Parse/HttpClients/ParseCurlHttpClient.php 95.34% <100%> (-0.21%) 29 <1> (+29)
src/Parse/HttpClients/ParseStreamHttpClient.php 98.63% <100%> (-0.08%) 33 <1> (+33)
src/Parse/ParsePush.php 85.71% <0%> (-14.29%) 13% <0%> (+13%)
src/Parse/ParseMemoryStorage.php 87.5% <0%> (-12.5%) 8% <0%> (+8%)
src/Parse/ParseSessionStorage.php 90.9% <0%> (-9.1%) 11% <0%> (+11%)
src/Parse/ParseClient.php 92.95% <0%> (-6.21%) 97% <0%> (+97%)
src/Parse/ParseACL.php 94.16% <0%> (-5.84%) 61% <0%> (+61%)
src/Parse/Internal/ParseRelationOperation.php 98.33% <0%> (-1.67%) 43% <0%> (+43%)
src/Parse/ParseUser.php 97.04% <0%> (-1.33%) 67% <0%> (+67%)
src/Parse/ParseLogs.php 90% <0%> (-0.48%) 8% <0%> (+8%)
... and 19 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update ba3181e...56321ae. Read the comment docs.

acinader commented 5 years ago

I'm close, but the travis job is failing and I have run out of time, for now, so leaving the following notes for when I can get back to it (or if, you know, you're reading this and you can help)...

All tests are now passing.

The job is failing on this command:


$ npm run document-check && if [[ `cat "output/checkstyle.xml" | grep "<error "` != "" ]]; then exit 1; fi
> parse-php-sdk@ document-check /home/travis/build/parse-community/parse-php-sdk
> ./vendor/bin/phpdoc -q -d ./src/ --template=checkstyle

Which is causing so much warning output that the job is getting terminated. Of course it works fine locally.

I'm unclear how the docs get published and what role this check plays in it. I'll need to refresh my memory.

I also am not sure how to debug the different behavior of phpdoc on my command line vs travis (i.e. adding the -q switch quieted down phpdoc on my machine, but not on travis. Ordinarily, I would just ssh to travis to figure out what's going on, but since we have a free, open source, travis account, I can't do that. So figure out how to debug, or ask travis if they'll 'give' us a premium account.

dplewis commented 5 years ago

npm run document generates docs npm run document-check basically coverage for docs, check for things like parameters are documented etc.

You could try switching to alpha version of phpdocumentor or phar version.

This is a known issue on 7.2+ phpDocumentor2/#1914

You could also remove it and we can run it every release.

I didn't know you could ssh into travis???

acinader commented 5 years ago

@dplewis I tried upgrading phpDocumentor, I didn't succeed, but didn't try very hard.

Instead, I just skipped if it isn't 7.1.

I think this is ready now....

dplewis commented 5 years ago

Travis doesn’t like npm run document