summaryrefslogtreecommitdiff
path: root/chromium/net/third_party/quiche/src/quic/qbone/platform/mock_kernel.h
blob: c01aad1708b9a90598bf456e5ff6c77f811a988e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// Copyright (c) 2019 The Chromium 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 QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_
#define QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_

#include "net/third_party/quiche/src/quic/platform/api/quic_test.h"
#include "net/third_party/quiche/src/quic/qbone/platform/kernel_interface.h"

namespace quic {

class MockKernel : public KernelInterface {
 public:
  MockKernel() {}

  MOCK_METHOD3(bind,
               int(int fd, const struct sockaddr* addr, socklen_t addr_len));
  MOCK_METHOD1(close, int(int fd));
  MOCK_METHOD3(ioctl, int(int fd, int request, void* argp));
  MOCK_METHOD2(open, int(const char* pathname, int flags));
  MOCK_METHOD3(read, ssize_t(int fd, void* buf, size_t count));
  MOCK_METHOD6(recvfrom,
               ssize_t(int sockfd,
                       void* buf,
                       size_t len,
                       int flags,
                       struct sockaddr* src_addr,
                       socklen_t* addrlen));
  MOCK_METHOD3(sendmsg,
               ssize_t(int sockfd, const struct msghdr* msg, int flags));
  MOCK_METHOD6(sendto,
               ssize_t(int sockfd,
                       const void* buf,
                       size_t len,
                       int flags,
                       const struct sockaddr* dest_addr,
                       socklen_t addrlen));
  MOCK_METHOD3(socket, int(int domain, int type, int protocol));
  MOCK_METHOD5(setsockopt, int(int, int, int, const void*, socklen_t));
  MOCK_METHOD3(write, ssize_t(int fd, const void* buf, size_t count));
};

}  // namespace quic

#endif  // QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_