summaryrefslogtreecommitdiff
path: root/chromium/net/third_party/quiche/src/quic/qbone/platform/mock_kernel.h
blob: e30bfa1bad908eff16509e84ccf5d2125b11e54e (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
47
48
49
50
51
52
53
// 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_METHOD(int,
              bind,
              (int fd, const struct sockaddr*, socklen_t addr_len),
              (override));
  MOCK_METHOD(int, close, (int fd), (override));
  MOCK_METHOD(int, ioctl, (int fd, int request, void*), (override));
  MOCK_METHOD(int, open, (const char*, int flags), (override));
  MOCK_METHOD(ssize_t, read, (int fd, void*, size_t count), (override));
  MOCK_METHOD(
      ssize_t,
      recvfrom,
      (int sockfd, void*, size_t len, int flags, struct sockaddr*, socklen_t*),
      (override));
  MOCK_METHOD(ssize_t,
              sendmsg,
              (int sockfd, const struct msghdr*, int flags),
              (override));
  MOCK_METHOD(ssize_t,
              sendto,
              (int sockfd,
               const void*,
               size_t len,
               int flags,
               const struct sockaddr*,
               socklen_t addrlen),
              (override));
  MOCK_METHOD(int, socket, (int domain, int type, int protocol), (override));
  MOCK_METHOD(int,
              setsockopt,
              (int, int, int, const void*, socklen_t),
              (override));
  MOCK_METHOD(ssize_t, write, (int fd, const void*, size_t count), (override));
};

}  // namespace quic

#endif  // QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_