Skip to content

Commit

Permalink
[rubygems/rubygems] Use OpenSSL constants for error codes.
Browse files Browse the repository at this point in the history
This fixes the following test error testing against OpenSSL 3.x:

~~~
  2) Failure:
TestGemRequest#test_verify_certificate_extra_message [/builddir/build/BUILD/ruby-3.0.2/test/rubygems/test_gem_request.rb:358]:
<"ERROR:  SSL verification error at depth 0: invalid CA certificate (24)\n" +
"ERROR:  Certificate  is an invalid CA certificate\n"> expected but was
<"ERROR:  SSL verification error at depth 0: invalid CA certificate (79)\n" +
"ERROR:  Certificate  is an invalid CA certificate\n">.
~~~

Where the root cause is this OpenSSL commit:

openssl/openssl@1e41dad

It seems that OpenSSL upstream considers the constant value just an
implementation detail and therefore this changes the test case to
follow the suite.

rubygems/rubygems@8acf8e95dc
  • Loading branch information
voxik authored and matzbot committed Nov 2, 2021
1 parent 83704a2 commit c2dcaa7
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions test/rubygems/test_gem_request.rb
Expand Up @@ -354,30 +354,36 @@ def test_user_agent_revision_missing

def test_verify_certificate
pend if Gem.java_platform?

error_number = OpenSSL::X509::V_ERR_OUT_OF_MEM

store = OpenSSL::X509::Store.new
context = OpenSSL::X509::StoreContext.new store
context.error = OpenSSL::X509::V_ERR_OUT_OF_MEM
context.error = error_number

use_ui @ui do
Gem::Request.verify_certificate context
end

assert_equal "ERROR: SSL verification error at depth 0: out of memory (17)\n",
assert_equal "ERROR: SSL verification error at depth 0: out of memory (#{error_number})\n",
@ui.error
end

def test_verify_certificate_extra_message
pend if Gem.java_platform?

error_number = OpenSSL::X509::V_ERR_INVALID_CA

store = OpenSSL::X509::Store.new
context = OpenSSL::X509::StoreContext.new store
context.error = OpenSSL::X509::V_ERR_INVALID_CA
context.error = error_number

use_ui @ui do
Gem::Request.verify_certificate context
end

expected = <<-ERROR
ERROR: SSL verification error at depth 0: invalid CA certificate (24)
ERROR: SSL verification error at depth 0: invalid CA certificate (#{error_number})
ERROR: Certificate is an invalid CA certificate
ERROR

Expand Down

0 comments on commit c2dcaa7

Please sign in to comment.