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