process_mock.h revision b0d44eefcc58506199f2abf9d248f5a50f3a4d1b
1b0d44eefcc58506199f2abf9d248f5a50f3a4d1bElly Jones// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. 2f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter// Use of this source code is governed by a BSD-style license that can be 3f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter// found in the LICENSE file. 4f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter 5f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter#ifndef CHROMEOS_PROCESS_MOCK_H_ 6f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter#define CHROMEOS_PROCESS_MOCK_H_ 7f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter 8f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter#include <string> 9f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter 10f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter#include <chromeos/process.h> 11f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter#include <gmock/gmock.h> 12f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter 13f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixternamespace chromeos { 14f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter 15f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixterclass ProcessMock : public Process { 16f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter public: 17f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter ProcessMock() {} 18f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter virtual ~ProcessMock() {} 19f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter 20f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD1(AddArg, void(const std::string& arg)); 21f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD1(RedirectOutput, void(const std::string& output_file)); 224694200ff870bc5ea90357b847aaaba906e3b058Ken Mixter MOCK_METHOD2(RedirectUsingPipe, void(int child_fd, bool is_input)); 23afd7db6cfa95ce0d505d33b78eb28cfe87d38551Elly Jones MOCK_METHOD2(BindFd, void(int parent_fd, int child_fd)); 24785f003527bb067cee05f67f1e0f9342025b3367Ken Mixter MOCK_METHOD1(SetUid, void(uid_t)); 25785f003527bb067cee05f67f1e0f9342025b3367Ken Mixter MOCK_METHOD1(SetGid, void(gid_t)); 26b0d44eefcc58506199f2abf9d248f5a50f3a4d1bElly Jones MOCK_METHOD1(SetPreExecCallback, void(const PreExecCallback&)); 274694200ff870bc5ea90357b847aaaba906e3b058Ken Mixter MOCK_METHOD1(GetPipe, int(int child_fd)); 28f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD0(Start, bool()); 29f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD0(Wait, int()); 30f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD0(Run, int()); 31f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD0(pid, pid_t()); 32f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD2(Kill, bool(int signal, int timeout)); 33f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD1(Reset, void(pid_t)); 34f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD1(ResetPidByFile, bool(const std::string& pid_file)); 35f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter MOCK_METHOD0(Release, pid_t()); 36f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter}; 37f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter 38f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter} // namespace chromeos 39f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter 40f15efc6bc63aab6590b2b303785d0ab810ee5470Ken Mixter#endif // CHROMEOS_PROCESS_MOCK_H_ 41