process_mock.h revision b0d44eefcc58506199f2abf9d248f5a50f3a4d1b
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 CHROMEOS_PROCESS_MOCK_H_ 6#define CHROMEOS_PROCESS_MOCK_H_ 7 8#include <string> 9 10#include <chromeos/process.h> 11#include <gmock/gmock.h> 12 13namespace chromeos { 14 15class ProcessMock : public Process { 16 public: 17 ProcessMock() {} 18 virtual ~ProcessMock() {} 19 20 MOCK_METHOD1(AddArg, void(const std::string& arg)); 21 MOCK_METHOD1(RedirectOutput, void(const std::string& output_file)); 22 MOCK_METHOD2(RedirectUsingPipe, void(int child_fd, bool is_input)); 23 MOCK_METHOD2(BindFd, void(int parent_fd, int child_fd)); 24 MOCK_METHOD1(SetUid, void(uid_t)); 25 MOCK_METHOD1(SetGid, void(gid_t)); 26 MOCK_METHOD1(SetPreExecCallback, void(const PreExecCallback&)); 27 MOCK_METHOD1(GetPipe, int(int child_fd)); 28 MOCK_METHOD0(Start, bool()); 29 MOCK_METHOD0(Wait, int()); 30 MOCK_METHOD0(Run, int()); 31 MOCK_METHOD0(pid, pid_t()); 32 MOCK_METHOD2(Kill, bool(int signal, int timeout)); 33 MOCK_METHOD1(Reset, void(pid_t)); 34 MOCK_METHOD1(ResetPidByFile, bool(const std::string& pid_file)); 35 MOCK_METHOD0(Release, pid_t()); 36}; 37 38} // namespace chromeos 39 40#endif // CHROMEOS_PROCESS_MOCK_H_ 41