| // Copyright 2017 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef HAMMERD_MOCK_UPDATE_FW_H_ |
| #define HAMMERD_MOCK_UPDATE_FW_H_ |
| |
| #include <string> |
| |
| #include <gmock/gmock.h> |
| |
| #include "hammerd/update_fw.h" |
| |
| namespace hammerd { |
| |
| // Since SendSubcommandReceiveResponse is using a void* pointer that can't |
| // be natively addressed by gMock, we defined a marco that makes side effect |
| // (the void *resp) be the one we desired. |
| ACTION_P(WriteResponse, ptr) { |
| std::memcpy(arg2, ptr, arg3); |
| return true; |
| } |
| |
| class MockFirmwareUpdater : public FirmwareUpdaterInterface { |
| public: |
| MockFirmwareUpdater() = default; |
| |
| MOCK_METHOD(bool, LoadEcImage, (const std::string&), (override)); |
| MOCK_METHOD(bool, LoadTouchpadImage, (const std::string&), (override)); |
| MOCK_METHOD(bool, UsbSysfsExists, (), (override)); |
| MOCK_METHOD(UsbConnectStatus, ConnectUsb, (), (override)); |
| MOCK_METHOD(UsbConnectStatus, TryConnectUsb, (), (override)); |
| MOCK_METHOD(void, CloseUsb, (), (override)); |
| MOCK_METHOD(bool, SendFirstPdu, (), (override)); |
| MOCK_METHOD(void, SendDone, (), (override)); |
| MOCK_METHOD(bool, InjectEntropy, (), (override)); |
| MOCK_METHOD(bool, SendSubcommand, (UpdateExtraCommand), (override)); |
| MOCK_METHOD(bool, |
| SendSubcommandWithPayload, |
| (UpdateExtraCommand, const std::string&), |
| (override)); |
| MOCK_METHOD(bool, |
| SendSubcommandReceiveResponse, |
| (UpdateExtraCommand, const std::string&, void*, size_t, bool), |
| (override)); |
| MOCK_METHOD(bool, TransferImage, (SectionName), (override)); |
| MOCK_METHOD(bool, TransferTouchpadFirmware, (uint32_t, size_t), (override)); |
| MOCK_METHOD(SectionName, CurrentSection, (), (const, override)); |
| MOCK_METHOD(bool, ValidKey, (), (const, override)); |
| MOCK_METHOD(int, CompareRollback, (), (const, override)); |
| MOCK_METHOD(bool, VersionMismatch, (SectionName), (const, override)); |
| MOCK_METHOD(bool, IsSectionLocked, (SectionName), (const, override)); |
| MOCK_METHOD(bool, IsCritical, (), (const, override)); |
| MOCK_METHOD(bool, UnlockRW, (), (override)); |
| MOCK_METHOD(bool, IsRollbackLocked, (), (const, override)); |
| MOCK_METHOD(bool, UnlockRollback, (), (override)); |
| MOCK_METHOD(std::string, GetEcImageVersion, (), (const, override)); |
| MOCK_METHOD(std::string, ReadConsole, (), (override)); |
| }; |
| |
| } // namespace hammerd |
| #endif // HAMMERD_MOCK_UPDATE_FW_H_ |