5 #include "sw/device/silicon_creator/lib/boot_log.h"
9 #include "gtest/gtest.h"
10 #include "sw/device/silicon_creator/lib/chip_info.h"
11 #include "sw/device/silicon_creator/lib/drivers/hmac.h"
12 #include "sw/device/silicon_creator/lib/drivers/mock_hmac.h"
26 namespace boot_log_unittest {
33 rom_test::MockHmac hmac_sha256_;
51 .scm_revision_high = 0xcafecafe,
54 uint32_t expected_rom_ext_slot = kBootSlotA;
55 uint32_t expected_bl0_slot = kBootSlotB;
59 .identifier = kBootLogIdentifier,
60 .chip_version = expected_chip_version,
61 .rom_ext_slot = expected_rom_ext_slot,
62 .bl0_slot = expected_bl0_slot,
81 EXPECT_NE(new_digest, expected_digest);
83 void *expected_digest_region_start =
85 size_t expected_digest_region_len =
87 EXPECT_CALL(hmac_sha256_, sha256(expected_digest_region_start,
88 expected_digest_region_len, _))
89 .WillOnce(testing::SetArgPointee<2>(new_digest));
102 TEST_F(BootLogTest, BootLogCheckSuccess) {
117 EXPECT_EQ(new_digest, expected_digest);
119 void *expected_digest_region_start =
121 size_t expected_digest_region_len =
123 EXPECT_CALL(hmac_sha256_, sha256(expected_digest_region_start,
124 expected_digest_region_len, _))
125 .WillOnce(testing::SetArgPointee<2>(new_digest));
127 uint32_t error = boot_log_check(&
boot_log);
128 EXPECT_EQ(error, kErrorOk);
138 TEST_F(BootLogTest, BootLogCheckFailure) {
153 EXPECT_NE(new_digest, expected_digest);
155 void *expected_digest_region_start =
157 size_t expected_digest_region_len =
159 EXPECT_CALL(hmac_sha256_, sha256(expected_digest_region_start,
160 expected_digest_region_len, _))
161 .WillOnce(testing::SetArgPointee<2>(new_digest));
163 uint32_t error = boot_log_check(&
boot_log);
164 EXPECT_EQ(error, kErrorBootLogInvalid);