* Support skip_on :truffleruby
* Remove unused variable declaration
* Properly skip tests which need fork
* Improve NO_FORK_MSG
* Keep the Tempfile instances alive in test_redirect_io.rb
* Otherwise they could GC in the middle of the test, and the files could
then be deleted.
* Use a better way to find a free port
* Read directly from the socket in #read_and_drop
* There is no point to decode the bytes since we are closing the socket
in Puma::MiniSSL::Socket#close.
* Also, calling #engine_read_all might cause further SSL errors, which
could hide the first SSL error. This notably happens in
TestPumaServerSSLClient#test_verify_fail_if_no_client_cert
if the server is faster than the client. The error in that case is
"System error: Success - 0 (Puma::MiniSSL::SSLError)" which is not
actually an error, but there is also nothing to read further from SSL.
* TruffleRuby should pass the CI now, remove from allowed failures
* Use a timeout of 120 for all non-MRI implementations
* 60 doesn't seem enough in CI for TestThreadPool#test_trim on TruffleRuby.
* Fix check for cluster mode in integration tests
* Improve integration tests to fail more clearly if the pid file does not exist
* Make integration tests more robust
* Add skips for unreliable or racy tests
* Add ChangeLog entry
* No need to run RuboCop on non-MRI implementations
* This should speed up CI a bit for those jobs.
* Actions - Add nonMRIHead workflow - allow failure - JRuby, TruffleRuby
Also, on Windows, add Ruby 2.2 and fix compile code
* extconf.rb - minor fix for old Windows Rubies
* JRuby fixes for CI
1. lib/puma/minissl.rb - add 'correct' constants so CI will run
2. test/shell/t*.rb - extend time to start by two seconds for JRuby
* Delete .travis.yml
* Run integration tests in default
* Add retry in CI
* Convert integration test to ruby script for Windows
* Attempt to add finicky tests back
* Possible kinda janky solution
* Only run master branch on travis (syntax fix)
* Don't do integration tests on windows
Can't be bothered to make those tests crossplatform
* Remove join timeouts on read, let the main test timeout do it
* Assert once
* Sigh.
example:
echo "pidfile '/tmp/app.pid'; rackup 'config.ru'" > /etc/puma/app.rb
pumactl -F /etc/puma/app.rb start # starts an app and store pid in /tmp/app.pid
pumactl -F /etc/puma/app.rb stop # stops the started earlier app
Integration test t2 included: rake test:integration
Also fixed discrepancy in naming options :pidfile/:pid_file and :state/:status_file