68 lines
2.1 KiB
C++
68 lines
2.1 KiB
C++
// Copyright (c) 2012 The Chromium OS 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 LIBBRILLO_BRILLO_MINIJAIL_MOCK_MINIJAIL_H_
|
|
#define LIBBRILLO_BRILLO_MINIJAIL_MOCK_MINIJAIL_H_
|
|
|
|
#include <vector>
|
|
|
|
#include <base/macros.h>
|
|
#include <gmock/gmock.h>
|
|
|
|
#include "brillo/minijail/minijail.h"
|
|
|
|
namespace brillo {
|
|
|
|
class MockMinijail : public brillo::Minijail {
|
|
public:
|
|
MockMinijail() {}
|
|
virtual ~MockMinijail() {}
|
|
|
|
MOCK_METHOD0(New, struct minijail*());
|
|
MOCK_METHOD1(Destroy, void(struct minijail*));
|
|
|
|
MOCK_METHOD3(DropRoot,
|
|
bool(struct minijail* jail,
|
|
const char* user,
|
|
const char* group));
|
|
MOCK_METHOD2(UseSeccompFilter, void(struct minijail* jail, const char* path));
|
|
MOCK_METHOD2(UseCapabilities, void(struct minijail* jail, uint64_t capmask));
|
|
MOCK_METHOD1(ResetSignalMask, void(struct minijail* jail));
|
|
MOCK_METHOD1(Enter, void(struct minijail* jail));
|
|
MOCK_METHOD3(Run,
|
|
bool(struct minijail* jail,
|
|
std::vector<char*> args,
|
|
pid_t* pid));
|
|
MOCK_METHOD3(RunSync,
|
|
bool(struct minijail* jail,
|
|
std::vector<char*> args,
|
|
int* status));
|
|
MOCK_METHOD3(RunAndDestroy,
|
|
bool(struct minijail* jail,
|
|
std::vector<char*> args,
|
|
pid_t* pid));
|
|
MOCK_METHOD3(RunSyncAndDestroy,
|
|
bool(struct minijail* jail,
|
|
std::vector<char*> args,
|
|
int* status));
|
|
MOCK_METHOD4(RunPipeAndDestroy,
|
|
bool(struct minijail* jail,
|
|
std::vector<char*> args,
|
|
pid_t* pid,
|
|
int* stdin));
|
|
MOCK_METHOD6(RunPipesAndDestroy,
|
|
bool(struct minijail* jail,
|
|
std::vector<char*> args,
|
|
pid_t* pid,
|
|
int* stdin,
|
|
int* stdout,
|
|
int* stderr));
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN(MockMinijail);
|
|
};
|
|
|
|
} // namespace brillo
|
|
|
|
#endif // LIBBRILLO_BRILLO_MINIJAIL_MOCK_MINIJAIL_H_
|