xref: /aosp_15_r20/external/libbrillo/brillo/minijail/mock_minijail.h (revision 1a96fba65179ea7d3f56207137718607415c5953)
1 // Copyright (c) 2012 The Chromium OS 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 LIBBRILLO_BRILLO_MINIJAIL_MOCK_MINIJAIL_H_
6 #define LIBBRILLO_BRILLO_MINIJAIL_MOCK_MINIJAIL_H_
7 
8 #include <vector>
9 
10 #include <base/macros.h>
11 #include <gmock/gmock.h>
12 
13 #include "brillo/minijail/minijail.h"
14 
15 namespace brillo {
16 
17 class MockMinijail : public brillo::Minijail {
18  public:
MockMinijail()19   MockMinijail() {}
~MockMinijail()20   virtual ~MockMinijail() {}
21 
22   MOCK_METHOD(struct minijail*, New, (), (override));
23   MOCK_METHOD(void, Destroy, (struct minijail*), (override));
24 
25   MOCK_METHOD(bool,
26               DropRoot,
27               (struct minijail*, const char*, const char*),
28               (override));
29   MOCK_METHOD(void,
30               UseSeccompFilter,
31               (struct minijail*, const char*),
32               (override));
33   MOCK_METHOD(void, UseCapabilities, (struct minijail*, uint64_t), (override));
34   MOCK_METHOD(void, ResetSignalMask, (struct minijail*), (override));
35   MOCK_METHOD(void, CloseOpenFds, (struct minijail*), (override));
36   MOCK_METHOD(void, PreserveFd, (struct minijail*, int, int), (override));
37   MOCK_METHOD(void, Enter, (struct minijail*), (override));
38   MOCK_METHOD(bool,
39               Run,
40               (struct minijail*, std::vector<char*>, pid_t*),
41               (override));
42   MOCK_METHOD(bool,
43               RunSync,
44               (struct minijail*, std::vector<char*>, int*),
45               (override));
46   MOCK_METHOD(bool,
47               RunPipes,
48               (struct minijail*, std::vector<char*>, pid_t*, int*, int*, int*),
49               (override));
50   MOCK_METHOD(bool,
51               RunEnvPipes,
52               (struct minijail*,
53                std::vector<char*>,
54                std::vector<char*>,
55                pid_t*,
56                int*,
57                int*,
58                int*),
59               (override));
60   MOCK_METHOD(bool,
61               RunAndDestroy,
62               (struct minijail*, std::vector<char*>, pid_t*),
63               (override));
64   MOCK_METHOD(bool,
65               RunSyncAndDestroy,
66               (struct minijail*, std::vector<char*>, int*),
67               (override));
68   MOCK_METHOD(bool,
69               RunPipeAndDestroy,
70               (struct minijail*, std::vector<char*>, pid_t*, int*),
71               (override));
72   MOCK_METHOD(bool,
73               RunPipesAndDestroy,
74               (struct minijail*, std::vector<char*>, pid_t*, int*, int*, int*),
75               (override));
76   MOCK_METHOD(bool,
77               RunEnvPipesAndDestroy,
78               (struct minijail*,
79                std::vector<char*>,
80                std::vector<char*>,
81                pid_t*,
82                int*,
83                int*,
84                int*),
85               (override));
86 
87  private:
88   DISALLOW_COPY_AND_ASSIGN(MockMinijail);
89 };
90 
91 }  // namespace brillo
92 
93 #endif  // LIBBRILLO_BRILLO_MINIJAIL_MOCK_MINIJAIL_H_
94