Fix for test failures due to String encoding and ruby-openssl issues #82
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Two issues were causing test failures for me:
Ruby 2.x defaults to UTF-8 encoding for string literals, so the "expected" values for the BER tests were not being compared correctly. The new
String#b
method converts a string to ASCII-8BIT encoding without doing any actual translation.For some reason,
OpenSSL::SSL::SSLSocket#sync_close
is not working. I've tried this on two machines, across many Ruby versions and I see the same issue:All have the same problem, and all are fixed by 839c50f. I've additionally added a timeout to the test case which was failing, as the failures were causing the test suite to block on pipe read until killed.
I've tested in JRuby 1.7.9 and these changes do not introduce any new failures, but the two existing failures remain.
Test output before these changes: https://gist.github.com/smangelsdorf/9987870