xref: /openbmc/phosphor-ipmi-flash/tools/test/internal_sys_mock.hpp (revision ded66d0f7317f6e43a5301da6c3d9dda80b17250)
1 #pragma once
2 
3 #include "internal/sys.hpp"
4 
5 #include <unistd.h>
6 
7 #include <cstdint>
8 
9 #include <gmock/gmock.h>
10 
11 namespace internal
12 {
13 
14 class InternalSysMock : public Sys
15 {
16   public:
17     virtual ~InternalSysMock() = default;
18 
19     MOCK_CONST_METHOD2(open, int(const char*, int));
20     MOCK_CONST_METHOD3(read, int(int, void*, std::size_t));
21     MOCK_CONST_METHOD4(pread, int(int, void*, std::size_t, off_t));
22     MOCK_CONST_METHOD4(pwrite, int(int, const void*, std::size_t, off_t));
23     MOCK_CONST_METHOD1(close, int(int));
24     MOCK_CONST_METHOD6(mmap, void*(void*, std::size_t, int, int, int, off_t));
25     MOCK_CONST_METHOD2(munmap, int(void*, std::size_t));
26     MOCK_CONST_METHOD0(getpagesize, int());
27     MOCK_CONST_METHOD3(ioctl, int(int, unsigned long, void*));
28     MOCK_CONST_METHOD3(poll, int(struct pollfd*, nfds_t, int));
29     MOCK_CONST_METHOD3(socket, int(int, int, int));
30     MOCK_CONST_METHOD3(connect, int(int, const struct sockaddr*, socklen_t));
31     MOCK_CONST_METHOD4(sendfile, ssize_t(int, int, off_t*, size_t));
32     MOCK_CONST_METHOD4(getaddrinfo,
33                        int(const char*, const char*, const struct addrinfo*,
34                            struct addrinfo**));
35     MOCK_CONST_METHOD1(freeaddrinfo, void(struct addrinfo*));
36     MOCK_CONST_METHOD1(getSize, std::int64_t(const char*));
37 };
38 
39 } // namespace internal
40