From 4eded26731ff77fd8affd864135ed47bc100847e Mon Sep 17 00:00:00 2001 From: silvanshade Date: Fri, 31 Jan 2025 13:22:36 -0700 Subject: [PATCH] Add SRI hash tests for BLAKE3 --- src/libutil-tests/hash.cc | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/libutil-tests/hash.cc b/src/libutil-tests/hash.cc index 4137a518fde..3918a229383 100644 --- a/src/libutil-tests/hash.cc +++ b/src/libutil-tests/hash.cc @@ -10,20 +10,34 @@ namespace nix { * hashString * --------------------------------------------------------------------------*/ - TEST(hashString, testKnownBLAKE3Hashes1) { + TEST(hashString, testKnownBLAKE3Hashes1Base16) { auto s = "abc"; auto hash = hashString(HashAlgorithm::BLAKE3, s); ASSERT_EQ(hash.to_string(HashFormat::Base16, true), "blake3:6437b3ac38465133ffb63b75273a8db548c558465d79db03fd359c6cd5bd9d85"); } - TEST(hashString, testKnownBLAKE3Hashes2) { + TEST(hashString, testKnownBLAKE3Hashes1SRI) { + auto s = "abc"; + auto hash = hashString(HashAlgorithm::BLAKE3, s); + ASSERT_EQ(hash.to_string(HashFormat::SRI, true), + "blake3-ZDezrDhGUTP/tjt1JzqNtUjFWEZdedsD/TWcbNW9nYU="); + } + + TEST(hashString, testKnownBLAKE3Hashes2Base16) { auto s = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"; auto hash = hashString(HashAlgorithm::BLAKE3, s); ASSERT_EQ(hash.to_string(HashFormat::Base16, true), "blake3:c19012cc2aaf0dc3d8e5c45a1b79114d2df42abb2a410bf54be09e891af06ff8"); } + TEST(hashString, testKnownBLAKE3Hashes2SRI) { + auto s = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"; + auto hash = hashString(HashAlgorithm::BLAKE3, s); + ASSERT_EQ(hash.to_string(HashFormat::SRI, true), + "blake3-wZASzCqvDcPY5cRaG3kRTS30KrsqQQv1S+CeiRrwb/g="); + } + TEST(hashString, testKnownMD5Hashes1) { // values taken from: https://tools.ietf.org/html/rfc1321 auto s1 = "";