1*1a96fba6SXin Li // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. 2*1a96fba6SXin Li // Use of this source code is governed by a BSD-style license that can be 3*1a96fba6SXin Li // found in the LICENSE file. 4*1a96fba6SXin Li 5*1a96fba6SXin Li #ifndef LIBBRILLO_BRILLO_MINIJAIL_MOCK_MINIJAIL_H_ 6*1a96fba6SXin Li #define LIBBRILLO_BRILLO_MINIJAIL_MOCK_MINIJAIL_H_ 7*1a96fba6SXin Li 8*1a96fba6SXin Li #include <vector> 9*1a96fba6SXin Li 10*1a96fba6SXin Li #include <base/macros.h> 11*1a96fba6SXin Li #include <gmock/gmock.h> 12*1a96fba6SXin Li 13*1a96fba6SXin Li #include "brillo/minijail/minijail.h" 14*1a96fba6SXin Li 15*1a96fba6SXin Li namespace brillo { 16*1a96fba6SXin Li 17*1a96fba6SXin Li class MockMinijail : public brillo::Minijail { 18*1a96fba6SXin Li public: MockMinijail()19*1a96fba6SXin Li MockMinijail() {} ~MockMinijail()20*1a96fba6SXin Li virtual ~MockMinijail() {} 21*1a96fba6SXin Li 22*1a96fba6SXin Li MOCK_METHOD(struct minijail*, New, (), (override)); 23*1a96fba6SXin Li MOCK_METHOD(void, Destroy, (struct minijail*), (override)); 24*1a96fba6SXin Li 25*1a96fba6SXin Li MOCK_METHOD(bool, 26*1a96fba6SXin Li DropRoot, 27*1a96fba6SXin Li (struct minijail*, const char*, const char*), 28*1a96fba6SXin Li (override)); 29*1a96fba6SXin Li MOCK_METHOD(void, 30*1a96fba6SXin Li UseSeccompFilter, 31*1a96fba6SXin Li (struct minijail*, const char*), 32*1a96fba6SXin Li (override)); 33*1a96fba6SXin Li MOCK_METHOD(void, UseCapabilities, (struct minijail*, uint64_t), (override)); 34*1a96fba6SXin Li MOCK_METHOD(void, ResetSignalMask, (struct minijail*), (override)); 35*1a96fba6SXin Li MOCK_METHOD(void, CloseOpenFds, (struct minijail*), (override)); 36*1a96fba6SXin Li MOCK_METHOD(void, PreserveFd, (struct minijail*, int, int), (override)); 37*1a96fba6SXin Li MOCK_METHOD(void, Enter, (struct minijail*), (override)); 38*1a96fba6SXin Li MOCK_METHOD(bool, 39*1a96fba6SXin Li Run, 40*1a96fba6SXin Li (struct minijail*, std::vector<char*>, pid_t*), 41*1a96fba6SXin Li (override)); 42*1a96fba6SXin Li MOCK_METHOD(bool, 43*1a96fba6SXin Li RunSync, 44*1a96fba6SXin Li (struct minijail*, std::vector<char*>, int*), 45*1a96fba6SXin Li (override)); 46*1a96fba6SXin Li MOCK_METHOD(bool, 47*1a96fba6SXin Li RunPipes, 48*1a96fba6SXin Li (struct minijail*, std::vector<char*>, pid_t*, int*, int*, int*), 49*1a96fba6SXin Li (override)); 50*1a96fba6SXin Li MOCK_METHOD(bool, 51*1a96fba6SXin Li RunEnvPipes, 52*1a96fba6SXin Li (struct minijail*, 53*1a96fba6SXin Li std::vector<char*>, 54*1a96fba6SXin Li std::vector<char*>, 55*1a96fba6SXin Li pid_t*, 56*1a96fba6SXin Li int*, 57*1a96fba6SXin Li int*, 58*1a96fba6SXin Li int*), 59*1a96fba6SXin Li (override)); 60*1a96fba6SXin Li MOCK_METHOD(bool, 61*1a96fba6SXin Li RunAndDestroy, 62*1a96fba6SXin Li (struct minijail*, std::vector<char*>, pid_t*), 63*1a96fba6SXin Li (override)); 64*1a96fba6SXin Li MOCK_METHOD(bool, 65*1a96fba6SXin Li RunSyncAndDestroy, 66*1a96fba6SXin Li (struct minijail*, std::vector<char*>, int*), 67*1a96fba6SXin Li (override)); 68*1a96fba6SXin Li MOCK_METHOD(bool, 69*1a96fba6SXin Li RunPipeAndDestroy, 70*1a96fba6SXin Li (struct minijail*, std::vector<char*>, pid_t*, int*), 71*1a96fba6SXin Li (override)); 72*1a96fba6SXin Li MOCK_METHOD(bool, 73*1a96fba6SXin Li RunPipesAndDestroy, 74*1a96fba6SXin Li (struct minijail*, std::vector<char*>, pid_t*, int*, int*, int*), 75*1a96fba6SXin Li (override)); 76*1a96fba6SXin Li MOCK_METHOD(bool, 77*1a96fba6SXin Li RunEnvPipesAndDestroy, 78*1a96fba6SXin Li (struct minijail*, 79*1a96fba6SXin Li std::vector<char*>, 80*1a96fba6SXin Li std::vector<char*>, 81*1a96fba6SXin Li pid_t*, 82*1a96fba6SXin Li int*, 83*1a96fba6SXin Li int*, 84*1a96fba6SXin Li int*), 85*1a96fba6SXin Li (override)); 86*1a96fba6SXin Li 87*1a96fba6SXin Li private: 88*1a96fba6SXin Li DISALLOW_COPY_AND_ASSIGN(MockMinijail); 89*1a96fba6SXin Li }; 90*1a96fba6SXin Li 91*1a96fba6SXin Li } // namespace brillo 92*1a96fba6SXin Li 93*1a96fba6SXin Li #endif // LIBBRILLO_BRILLO_MINIJAIL_MOCK_MINIJAIL_H_ 94