Skip to content

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().

See https://github.com/puma/puma/issues/3489

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information