Added Mock function call tests

Checking flash partition is called correct number of times

Test: tested fastboot_test
Change-Id: I8a04fb0e30e794641f3e2fbe2ab666274be18b85
This commit is contained in:
Daniel Zheng 2023-04-11 09:09:35 -07:00
parent 77af6affd8
commit 0d2d631d27
2 changed files with 17 additions and 2 deletions

View file

@ -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));

View file

@ -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();
}
}