| #pragma once |
| |
| #include "boot_manager.hpp" |
| #include "utils.hpp" |
| |
| #include <cstdint> |
| #include <memory> |
| #include <optional> |
| #include <string_view> |
| |
| #include <gmock/gmock.h> |
| |
| namespace boot_time_monitor |
| { |
| |
| class MockUtil : public UtilIface |
| { |
| public: |
| MOCK_METHOD(std::optional<int64_t>, getUpTimeInMs, (), (override)); |
| MOCK_METHOD(int64_t, getWallTimeInMs, (), (override)); |
| MOCK_METHOD(bool, isValidName, (std::string_view), (override)); |
| MOCK_METHOD(std::string, getCPPath, (std::string_view, bool), (override)); |
| MOCK_METHOD(std::string, getDurPath, (std::string_view, bool), (override)); |
| MOCK_METHOD(std::optional<uint32_t>, readMem4Bytes, (uint32_t), (override)); |
| }; |
| |
| class MockFileUtil : public FileUtilIface |
| { |
| public: |
| MOCK_METHOD(void, addCheckpoint, |
| (std::string_view name, int64_t wallTimeInMs, |
| int64_t monoTimeInMs), |
| (override)); |
| MOCK_METHOD(void, addDuration, |
| (std::string_view name, int64_t durationInMs), (override)); |
| MOCK_METHOD(void, completeCurrent, (), (override)); |
| MOCK_METHOD(std::unique_ptr<std::vector<Checkpoint>>, loadCheckpoints, |
| (bool), (override)); |
| MOCK_METHOD(std::unique_ptr<std::vector<Duration>>, loadDurations, (bool), |
| (override)); |
| MOCK_METHOD(bool, isEmpty, (), (override)); |
| }; |
| |
| class MockBootManager : public BootManagerIface |
| { |
| MOCK_METHOD(void, setCheckpoint, |
| (std::string_view cpName, int64_t externalWallTime, |
| int64_t duration), |
| (override)); |
| MOCK_METHOD(void, setDuration, (std::string_view durName, int64_t duration), |
| (override)); |
| MOCK_METHOD(void, notifyComplete, (), (override)); |
| MOCK_METHOD(bool, isRebooting, (), (override)); |
| MOCK_METHOD((const std::vector<Checkpoint>&), getCheckpoints, (), |
| (const, override)); |
| MOCK_METHOD((const std::vector<Duration>&), getDurations, (), |
| (const, override)); |
| MOCK_METHOD((const std::vector<Checkpoint>&), getPreCheckpoints, (), |
| (const, override)); |
| MOCK_METHOD((const std::vector<Duration>&), getPreDurations, (), |
| (const, override)); |
| }; |
| |
| } // namespace boot_time_monitor |