1 // Copyright (c) 2019 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_ 6 #define QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_ 7 8 #include "quiche/quic/platform/api/quic_test.h" 9 #include "quiche/quic/qbone/platform/kernel_interface.h" 10 11 namespace quic { 12 13 class MockKernel : public KernelInterface { 14 public: MockKernel()15 MockKernel() {} 16 17 MOCK_METHOD(int, bind, (int fd, const struct sockaddr*, socklen_t addr_len), 18 (override)); 19 MOCK_METHOD(int, close, (int fd), (override)); 20 MOCK_METHOD(int, ioctl, (int fd, int request, void*), (override)); 21 MOCK_METHOD(int, open, (const char*, int flags), (override)); 22 MOCK_METHOD(ssize_t, read, (int fd, void*, size_t count), (override)); 23 MOCK_METHOD(ssize_t, recvfrom, 24 (int sockfd, void*, size_t len, int flags, struct sockaddr*, 25 socklen_t*), 26 (override)); 27 MOCK_METHOD(ssize_t, sendmsg, (int sockfd, const struct msghdr*, int flags), 28 (override)); 29 MOCK_METHOD(ssize_t, sendto, 30 (int sockfd, const void*, size_t len, int flags, 31 const struct sockaddr*, socklen_t addrlen), 32 (override)); 33 MOCK_METHOD(int, socket, (int domain, int type, int protocol), (override)); 34 MOCK_METHOD(int, setsockopt, (int, int, int, const void*, socklen_t), 35 (override)); 36 MOCK_METHOD(ssize_t, write, (int fd, const void*, size_t count), (override)); 37 }; 38 39 } // namespace quic 40 41 #endif // QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_ 42