Skip to content

Instantly share code, notes, and snippets.

@yorickpeterse
Last active August 29, 2015 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yorickpeterse/8fae191fad46de91c615 to your computer and use it in GitHub Desktop.
Save yorickpeterse/8fae191fad46de91c615 to your computer and use it in GitHub Desktop.
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
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