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

Commit 935ee1f9 authored by Daniel Zheng's avatar Daniel Zheng
Browse files

Added test for parsing bad input

Test: fastboot_test
Change-Id: I04fc24741987bc88a490b2084189dfd8f3714582
parent 13af2f46
Loading
Loading
Loading
Loading
+24 −1
Original line number Diff line number Diff line
@@ -53,6 +53,11 @@ static std::vector<std::unique_ptr<Task>> collectTasks(FlashingPlan* fp,
    return tasks;
}

std::unique_ptr<Task> ParseCommand(FlashingPlan* fp, std::string command) {
    std::vector<std::string> vec_command = android::base::Split(command, " ");
    return ParseFastbootInfoLine(fp, vec_command);
}

TEST_F(ParseTest, CORRECT_FlASH_TASK_FORMED) {
    std::vector<std::string> commands = {"flash dtbo", "flash --slot-other system system_other.img",
                                         "flash system", "flash --apply-vbmeta vbmeta"};
@@ -98,3 +103,21 @@ TEST_F(ParseTest, VERSION_CHECK_CORRRECT) {
        ASSERT_FALSE(CheckFastbootInfoRequirements(android::base::Split(version, " "))) << version;
    }
}

TEST_F(ParseTest, BAD_FASTBOOT_INFO_INPUT) {
    ASSERT_EQ(ParseCommand(fp.get(), "flash"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "flash --slot-other --apply-vbmeta"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "flash --apply-vbmeta"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "if-wipe"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "if-wipe flash"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "wipe dtbo"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "update-super dtbo"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "flash system system.img system"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "reboot bootloader fastboot"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(),
                           "flash --slot-other --apply-vbmeta system system_other.img system"),
              nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "erase"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "erase dtbo dtbo"), nullptr);
    ASSERT_EQ(ParseCommand(fp.get(), "wipe this"), nullptr);
}