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

Commit 0d2d631d authored by Daniel Zheng's avatar Daniel Zheng
Browse files

Added Mock function call tests

Checking flash partition is called correct number of times

Test: tested fastboot_test
Change-Id: I8a04fb0e30e794641f3e2fbe2ab666274be18b85
parent 77af6aff
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -22,8 +22,7 @@ namespace fastboot {

class MockFastbootDriver : public IFastBootDriver {
  public:
    MOCK_METHOD(RetCode, FlashPartition,
                (const std::string& partition, android::base::borrowed_fd fd, uint32_t sz),
    MOCK_METHOD(RetCode, FlashPartition, (const std::string&, android::base::borrowed_fd, uint32_t),
                (override));
    MOCK_METHOD(RetCode, DeletePartition, (const std::string&), (override));
    MOCK_METHOD(RetCode, Reboot, (std::string*, std::vector<std::string>*), (override));
+16 −0
Original line number Diff line number Diff line
@@ -136,3 +136,19 @@ TEST_F(ParseTest, CorrectTaskFormed) {
    ASSERT_TRUE(tasks[3]->AsUpdateSuperTask());
    ASSERT_TRUE(tasks[4]->AsWipeTask());
}

TEST_F(ParseTest, CorrectDriverCalls) {
    fastboot::MockFastbootDriver fb;
    fp->fb = &fb;

    EXPECT_CALL(fb, RebootTo(_, _, _)).Times(1);
    EXPECT_CALL(fb, Reboot(_, _)).Times(1);
    EXPECT_CALL(fb, WaitForDisconnect()).Times(2);

    std::vector<std::string> commands = {"reboot bootloader", "reboot"};
    std::vector<std::unique_ptr<Task>> tasks = collectTasks(fp.get(), commands);

    for (auto& task : tasks) {
        task->Run();
    }
}