$ docker run --rm --name validator-libsodium-usage-ruby-rbnacl-sha256-multi-vector-2732 -t --mount type=bind,src=/tmp/validator-status-libsodium-usage-ruby-rbnacl-sha256-multi-vector,dst=/validator/status validator-libsodium-shared bash -lc 'set -euo pipefail /validator/tests/_shared/install_override_debs.sh exec /validator/tests/_shared/run_library_tests.sh "$@"' validator-testcase libsodium usage-ruby-rbnacl-sha256-multi-vector -- bash -c 'PS4=$1; shift; set -x; source "$@"' validator-xtrace '__VALIDATOR_XTRACE__ ' /validator/tests/libsodium/tests/cases/usage/usage-ruby-rbnacl-sha256-multi-vector.sh no override packages found; continuing with apt originals vectors = [ ["", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"], ["abc", "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"], ["abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1"], ] vectors.each do |input, expected| digest = RbNaCl::Hash.sha256(input) raise "unexpected digest length: #{digest.bytesize}" unless digest.bytesize == 32 hex = digest.unpack1("H*") raise "sha256 KAT mismatch for #{input.inspect}: got #{hex}, want #{expected}" unless hex == expected again = RbNaCl::Hash.sha256(input) raise "non-deterministic sha256 for #{input.inspect}" unless again == digest end puts "ok #{vectors.length}" ' ok 3