9 #include <gtest/gtest.h> 16 using namespace folly;
29 class HkdfTest :
public ::testing::TestWithParam<HashParams> {};
32 auto ikm =
toIOBuf(GetParam().ikm);
33 auto salt =
toIOBuf(GetParam().salt);
35 size_t outputBytes = GetParam().outputBytes;
36 auto expectedOkm =
toIOBuf(GetParam().okm);
37 CHECK_EQ(outputBytes, expectedOkm->length());
40 ikm->coalesce(), salt->coalesce(), *
info, outputBytes);
42 EXPECT_EQ(outputBytes, actualOkm->length());
43 EXPECT_FALSE(memcmp(actualOkm->data(), expectedOkm->data(), outputBytes));
51 HashParams{
"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b",
52 "000102030405060708090a0b0c",
53 "f0f1f2f3f4f5f6f7f8f9",
55 "3cb25f25faacd57a90434f64d0362f2a" 56 "2d2d0a90cf1a5a4c5db02d56ecc4c5bf" 57 "34007208d5b887185865"},
59 "101112131415161718191a1b1c1d1e1f" 60 "202122232425262728292a2b2c2d2e2f" 61 "303132333435363738393a3b3c3d3e3f" 62 "404142434445464748494a4b4c4d4e4f",
63 "606162636465666768696a6b6c6d6e6f" 64 "707172737475767778797a7b7c7d7e7f" 65 "808182838485868788898a8b8c8d8e8f" 66 "909192939495969798999a9b9c9d9e9f" 67 "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf",
68 "b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" 69 "c0c1c2c3c4c5c6c7c8c9cacbcccdcecf" 70 "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf" 71 "e0e1e2e3e4e5e6e7e8e9eaebecedeeef" 72 "f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
74 "b11e398dc80327a1c8e7f78c596a4934" 75 "4f012eda2d4efad8a050cc4c19afa97c" 76 "59045a99cac7827271cb41c65e590e09" 77 "da3275600c2f09b8367793a9aca3db71" 78 "cc30c58179ec3e87c14c01d5c1f3434f" 80 HashParams{
"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b",
84 "8da4e775a563c18f715f802a063c5a31" 85 "b8a11f5c5ee1879ec3454e5f3c738d2d" 86 "9d201395faa4b61a96c8"}));
INSTANTIATE_TEST_CASE_P(, CodeLocationForTESTP, Values(0))
std::unique_ptr< folly::IOBuf > toIOBuf(std::string hexData)
#define EXPECT_EQ(val1, val2)
—— Concurrent Priority Queue Implementation ——
TEST_P(CodeLocationForTESTP, Verify)
#define EXPECT_FALSE(condition)