Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ceb0d269 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Re-enable boot HAL tests and make sure they restore previous slot...

Merge "Re-enable boot HAL tests and make sure they restore previous slot flags." into rvc-dev am: c669b6bd

Change-Id: I9bbfbe1d084aac749df3b7e6e53e351a4f625185
parents 7aef6383 c669b6bd
Loading
Loading
Loading
Loading
+23 −6
Original line number Diff line number Diff line
@@ -82,6 +82,10 @@ TEST_P(BootHidlTest, MarkBootSuccessful) {

// Sanity check Boot::setActiveBootSlot() on good and bad inputs.
TEST_P(BootHidlTest, SetActiveBootSlot) {
    Slot curSlot = boot->getCurrentSlot();
    Slot otherSlot = curSlot ? 0 : 1;
    auto otherBootable = boot->isSlotBootable(otherSlot);

    for (Slot s = 0; s < 2; s++) {
        CommandResult cr;
        Return<void> result = boot->setActiveBootSlot(s, generate_callback(&cr));
@@ -90,7 +94,17 @@ TEST_P(BootHidlTest, SetActiveBootSlot) {
    {
        // Restore original flags to avoid problems on reboot
        CommandResult cr;
        Return<void> result = boot->markBootSuccessful(generate_callback(&cr));
        auto result = boot->setActiveBootSlot(curSlot, generate_callback(&cr));
        EXPECT_TRUE(result.isOk());
        EXPECT_TRUE(cr.success);

        if (otherBootable == BoolResult::FALSE) {
            result = boot->setSlotAsUnbootable(otherSlot, generate_callback(&cr));
            EXPECT_TRUE(result.isOk());
            EXPECT_TRUE(cr.success);
        }

        result = boot->markBootSuccessful(generate_callback(&cr));
        EXPECT_TRUE(result.isOk());
        EXPECT_TRUE(cr.success);
    }
@@ -105,19 +119,22 @@ TEST_P(BootHidlTest, SetActiveBootSlot) {

// Sanity check Boot::setSlotAsUnbootable() on good and bad inputs.
TEST_P(BootHidlTest, SetSlotAsUnbootable) {
    {
        CommandResult cr;
    Slot curSlot = boot->getCurrentSlot();
    Slot otherSlot = curSlot ? 0 : 1;
    auto otherBootable = boot->isSlotBootable(otherSlot);
    {
        CommandResult cr;
        Return<void> result = boot->setSlotAsUnbootable(otherSlot, generate_callback(&cr));
        EXPECT_TRUE(result.isOk());
        if (cr.success) {
            EXPECT_EQ(BoolResult::FALSE, boot->isSlotBootable(otherSlot));

            // Restore original flags to avoid problems on reboot
            if (otherBootable == BoolResult::TRUE) {
                result = boot->setActiveBootSlot(otherSlot, generate_callback(&cr));
                EXPECT_TRUE(result.isOk());
                EXPECT_TRUE(cr.success);
            }
            result = boot->setActiveBootSlot(curSlot, generate_callback(&cr));
            EXPECT_TRUE(result.isOk());
            EXPECT_TRUE(cr.success);