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