tests don't run with ruby 3.3
compiling ../../../../ext/puma_http11/puma_http11.c
linking shared-object puma/puma_http11.so
/usr/bin/install -c -m 0755 puma_http11.so ../../../../lib/puma
puma 6.4.2 built to pkg/puma-6.4.2.gem.
==> Starting check()...
/usr/bin/install -c -m 0755 puma_http11.so ../../../../lib/puma
/usr/lib/ruby/3.3.0/json/common.rb:3: warning: ostruct was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.5.0.
You can add ostruct to your Gemfile or gemspec to silence this warning.
Rack::Handler is deprecated and replaced by Rackup::Handler
/usr/lib/ruby/gems/3.3.0/gems/rack-3.0.9.1/lib/rack/chunked.rb:6: warning: Rack::Chunked is deprecated and will be removed in Rack 3.1
Run options: --seed 34573
# Running:
..............................................................................................F.....................................S../usr/bin/rackup:25: warning: ostruct was loaded from the standard library, but will no longer be part of the default g
You can add ostruct to your Gemfile or gemspec to silence this warning.
.............................................F........S...S..................S..............................................................FF....................S..........................................................................................
E................E..E..........................................................................................................................................F..........F
Finished in 79.416449s, 7.9455 runs/s, 23.2446 assertions/s.
Errors & Failures:
1) Failure:
TestExampleCertExpiration#test_certs_not_expired [test/test_example_cert_expiration.rb:40]:
Cert puma/cert_puma.pem has expired. Check the puma for a `.rb` with instructions on how to regenerate.
2) Failure:
TestPumaServerSSLWithCertPemAndKeyPem#test_server_ssl_with_cert_pem_and_key_pem [test/test_puma_server_ssl.rb:503]:
Expected #<OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 peeraddr=127.0.0.1:45299 state=error: certificate verify failed (certificate has expired)> to be nil.
3) Failure:
TestPumaServerSSLClient#test_verify_client_cert [test/test_puma_server_ssl.rb:348]:
SSL_connect returned=1 errno=0 peeraddr=127.0.0.1:41493 state=error: certificate verify failed (certificate has expired).
Expected: false
Actual: true
4) Failure:
TestPumaServerSSLClient#test_verify_fail_if_client_expired_cert [test/test_puma_server_ssl.rb:338]:
--- expected
+++ actual
@@ -1 +1,3 @@
-"/DC=net/DC=puma/CN=localhost"
+# encoding: ASCII-8BIT
+# valid: true
+"/DC=net/DC=puma/CN=CA"
5) Error:
TestIntegrationSSL#test_ssl_run_with_curl_client:
RuntimeError: "curl -s -v --show-error --cacert /build/ruby-puma/src/puma-6.4.2/examples/puma/client-certs/ca.crt --cert /build/ruby-puma/src/puma-6.4.2/examples/puma/client-certs/client.crt --key /build/ruby-puma/src/puma-6.4.2/examples/puma/client-cer
* Host localhost:40019 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying 127.0.0.1:40019...
* ALPN: curl offers h2,http/1.1
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [221 bytes data]
* TLSv1.2 (IN), TLS handshake, Server hello (2):
{ [61 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [1575 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [300 bytes data]
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
{ [58 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
} [786 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [37 bytes data]
* TLSv1.2 (OUT), TLS handshake, CERT verify (15):
} [264 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:40019
* closing connection #0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:40019
test/test_integration_ssl.rb:317:in `curl_and_get_response'
test/test_integration_ssl.rb:191:in `test_ssl_run_with_curl_client'
test/helper.rb:91:in `block (4 levels) in run'
/usr/lib/ruby/3.3.0/timeout.rb:186:in `block in timeout'
/usr/lib/ruby/3.3.0/timeout.rb:193:in `timeout'
test/helper.rb:89:in `block (3 levels) in run'
6) Error:
TestIntegrationSSL#test_verify_client_cert_roundtrip:
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 peeraddr=127.0.0.1:33823 state=error: certificate verify failed (certificate has expired)
test/helpers/test_puma/puma_socket.rb:334:in `connect'
test/helpers/test_puma/puma_socket.rb:334:in `new_socket'
test/helpers/test_puma/puma_socket.rb:180:in `send_http'
test/helpers/test_puma/puma_socket.rb:132:in `send_http_read_resp_body'
test/test_integration_ssl.rb:135:in `test_verify_client_cert_roundtrip'
test/helper.rb:91:in `block (4 levels) in run'
/usr/lib/ruby/3.3.0/timeout.rb:186:in `block in timeout'
/usr/lib/ruby/3.3.0/timeout.rb:193:in `timeout'
test/helper.rb:89:in `block (3 levels) in run'
7) Error:
TestIntegrationSSL#test_verify_client_cert_roundtrip_tls1_2:
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 peeraddr=127.0.0.1:41637 state=error: certificate verify failed (certificate has expired)
test/helpers/test_puma/puma_socket.rb:334:in `connect'
test/helpers/test_puma/puma_socket.rb:334:in `new_socket'
test/helpers/test_puma/puma_socket.rb:180:in `send_http'
test/helpers/test_puma/puma_socket.rb:132:in `send_http_read_resp_body'
test/test_integration_ssl.rb:135:in `test_verify_client_cert_roundtrip'
test/test_integration_ssl.rb:157:in `test_verify_client_cert_roundtrip_tls1_2'
test/helper.rb:91:in `block (4 levels) in run'
/usr/lib/ruby/3.3.0/timeout.rb:186:in `block in timeout'
/usr/lib/ruby/3.3.0/timeout.rb:193:in `timeout'
test/helper.rb:89:in `block (3 levels) in run'
8) Failure:
TestIntegrationSingle#test_term_not_accepts_new_connections [test/test_integration_single.rb:124]:
Expected /Connection refused|Couldn't connect to server/ to match " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\ncurl: (7) Failed to connect to 127.0.0.1 port 44831 after 0 ms: Could not connect to server\n".
9) Failure:
TestIntegrationCluster#test_usr2_restart:
Timeout waiting for server to log "Ctrl-C"
Error:
TestIntegrationCluster#test_usr2_restart:
TimeoutEveryTestCase::TestTookTooLong: execution expired
test/helpers/integration.rb:125:in `wait2'
test/helpers/integration.rb:125:in `stop_server'
test/helpers/integration.rb:39:in `teardown'
test/test_integration_cluster.rb:20:in `teardown'
test/helper.rb:97:in `block (5 levels) in run'
test/helper.rb:97:in `each'
test/helper.rb:97:in `block (4 levels) in run'
/usr/lib/ruby/3.3.0/timeout.rb:186:in `block in timeout'
/usr/lib/ruby/3.3.0/timeout.rb:193:in `timeout'
test/helper.rb:96:in `block (3 levels) in run'
631 runs, 1846 assertions, 6 failures, 3 errors, 7 skips
You have skipped tests. Run with --verbose for details.
rake aborted!
Command failed with status (1)
Tasks: TOP => test:all => test
(See full trace by running task with --trace)
==> ERROR: A failure occurred in check().