Last active
August 29, 2015 14:21
-
-
Save yorickpeterse/8fae191fad46de91c615 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rubysl-openssl: 2.3.0 | |
rubysl-digest: 2.0.7 | |
Starting threads... | |
expected 56397360f80a778204fb02da0c6590613ae45f7b5335f8cd8db46a809bd33ce5 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab | |
expected 56397360f80a778204fb02da0c6590613ae45f7b5335f8cd8db46a809bd33ce5 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab | |
expected 70b9d40465992fa71a861e050481fb1a4bed5c8aa127272e7bf5838a3b0ab240 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab | |
expected 70b9d40465992fa71a861e050481fb1a4bed5c8aa127272e7bf5838a3b0ab240 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab | |
expected 9292f26a8d1ce66f44eda88a679821f650e1d523ce6d1cff9d3e2ebfc79a3499 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab | |
expected 9292f26a8d1ce66f44eda88a679821f650e1d523ce6d1cff9d3e2ebfc79a3499 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab | |
expected 70b9d40465992fa71a861e050481fb1a4bed5c8aa127272e7bf5838a3b0ab240 to equal 83103cff21a7a50e45eb90c29ca9d24204d95fe7369565ec1d5339750da386ab |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'openssl' | |
require 'thread' | |
puts "rubysl-openssl: #{RubySL::OpenSSL::VERSION}" | |
puts "rubysl-digest: #{RubySL::Digest::VERSION}" | |
Thread.abort_on_exception = true | |
input = 'the cake is possibly a lie' | |
digest = OpenSSL::Digest::SHA256.new | |
digest.update(input) | |
expected = digest.hexdigest | |
output = Queue.new | |
puts 'Starting threads...' | |
threads = 10.times.map do | |
Thread.new do | |
loop do | |
digest = OpenSSL::Digest::SHA256.new | |
digest.update(input) | |
got = digest.hexdigest | |
if got != expected | |
output << got | |
break | |
end | |
end | |
end | |
end | |
until output.empty? | |
got = output.pop | |
puts "expected #{got} to equal #{expected}" | |
end | |
threads.each(&:join) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment