blob: a99ac80d5580b685e8cbb03f064aea762c25ecf4 [file] [log] [blame]
// Copyright 2021 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 MINIOS_MOCK_PROCESS_MANAGER_H_
#define MINIOS_MOCK_PROCESS_MANAGER_H_
#include <string>
#include <vector>
#include <gmock/gmock.h>
#include "minios/process_manager_interface.h"
class MockProcessManager : public ProcessManagerInterface {
public:
MockProcessManager() = default;
~MockProcessManager() = default;
MockProcessManager(const MockProcessManager&) = delete;
MockProcessManager& operator=(const MockProcessManager&) = delete;
MOCK_METHOD(int,
RunCommand,
(const std::vector<std::string>& cmd,
const ProcessManagerInterface::IORedirection& io_redirection),
(override));
MOCK_METHOD(bool,
RunBackgroundCommand,
(const std::vector<std::string>& cmd,
const ProcessManagerInterface::IORedirection& io_redirection,
pid_t* pid),
(override));
MOCK_METHOD(bool,
RunCommandWithOutput,
(const std::vector<std::string>& cmd,
int* return_code,
std::string* stdout_out,
std::string* stderr_out),
(override));
};
#endif // MINIOS_MOCK_PROCESS_MANAGER_H_