5 #include "sw/device/silicon_creator/lib/boot_svc/boot_svc_next_boot_bl0_slot.h"
7 #include "gtest/gtest.h"
8 #include "sw/device/silicon_creator/lib/boot_data.h"
9 #include "sw/device/silicon_creator/lib/boot_svc/mock_boot_svc_header.h"
10 #include "sw/device/silicon_creator/testing/rom_test.h"
12 namespace boot_svc_next_boot_bl0_slot_unittest {
17 rom_test::MockBootSvcHeader boot_svc_header_;
22 constexpr uint32_t kPrimarySlot = kBootSlotA;
23 constexpr uint32_t kNextSlot = kBootSlotB;
24 EXPECT_CALL(boot_svc_header_,
25 Finalize(kBootSvcNextBl0SlotReqType,
sizeof(msg), &msg.header));
27 boot_svc_next_boot_bl0_slot_req_init(kPrimarySlot, kNextSlot, &msg);
29 EXPECT_EQ(msg.next_bl0_slot, kNextSlot);
30 EXPECT_EQ(msg.primary_bl0_slot, kPrimarySlot);
33 TEST_F(BootSvcNextBootBl0SlotTest, ResInit) {
35 constexpr rom_error_t kStatus = kErrorOk;
36 constexpr uint32_t kPrimarySlot = kBootSlotA;
37 EXPECT_CALL(boot_svc_header_,
38 Finalize(kBootSvcNextBl0SlotResType,
sizeof(msg), &msg.header));
40 boot_svc_next_boot_bl0_slot_res_init(kStatus, kPrimarySlot, &msg);
42 EXPECT_EQ(msg.status, kStatus);
43 EXPECT_EQ(msg.primary_bl0_slot, kPrimarySlot);