mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
0b737cce42
* 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.
24 lines
759 B
Ruby
24 lines
759 B
Ruby
system "ruby -rrubygems -Ilib bin/puma -p 10102 -C test/shell/t3_conf.rb test/rackup/hello.ru &"
|
|
sleep 5
|
|
|
|
worker_pid_was_present = File.file? "t3-worker-2-pid"
|
|
|
|
Process.kill :TERM, Integer(File.read("t3-worker-2-pid")) # kill off a worker
|
|
|
|
sleep 2
|
|
|
|
worker_index_within_number_of_workers = !File.file?("t3-worker-3-pid")
|
|
|
|
Process.kill :TERM, Integer(File.read("t3-pid"))
|
|
|
|
File.unlink "t3-pid" if File.file? "t3-pid"
|
|
File.unlink "t3-worker-0-pid" if File.file? "t3-worker-0-pid"
|
|
File.unlink "t3-worker-1-pid" if File.file? "t3-worker-1-pid"
|
|
File.unlink "t3-worker-2-pid" if File.file? "t3-worker-2-pid"
|
|
File.unlink "t3-worker-3-pid" if File.file? "t3-worker-3-pid"
|
|
|
|
if worker_pid_was_present and worker_index_within_number_of_workers
|
|
exit 0
|
|
else
|
|
exit 1
|
|
end
|