blob: e3b77ccc68b324636ace0c5dd90e588e95913ba1 [file] [log] [blame]
// Copyright (c) 2010 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 LOGIN_MANAGER_MOCK_SYSTEM_UTILS_H_
#define LOGIN_MANAGER_MOCK_SYSTEM_UTILS_H_
#include <stdint.h>
#include <unistd.h>
#include <string>
#include <vector>
#include <base/macros.h>
#include <gmock/gmock.h>
#include "login_manager/system_utils.h"
namespace login_manager {
class MockSystemUtils : public SystemUtils {
public:
MockSystemUtils();
~MockSystemUtils() override;
MOCK_METHOD3(kill, int(pid_t pid, uid_t uid, int signal));
MOCK_METHOD1(time, time_t(time_t*)); // NOLINT
MOCK_METHOD0(fork, pid_t(void));
MOCK_METHOD1(close, int(int fd));
MOCK_METHOD1(chdir, int(const base::FilePath& path));
MOCK_METHOD0(setsid, pid_t());
MOCK_METHOD3(execve,
int(const base::FilePath& exec_file,
const char* const argv[],
const char* const envp[]));
MOCK_METHOD2(GetAppOutput,
bool(const std::vector<std::string>&, std::string*));
MOCK_METHOD0(GetDevModeState, DevModeState(void));
MOCK_METHOD0(GetVmState, VmState(void));
MOCK_METHOD2(ProcessGroupIsGone,
bool(pid_t child_spec, base::TimeDelta timeout));
MOCK_METHOD2(ProcessIsGone, bool(pid_t child_spec, base::TimeDelta timeout));
MOCK_METHOD3(Wait, pid_t(pid_t, base::TimeDelta, int*));
MOCK_METHOD2(EnsureAndReturnSafeFileSize,
bool(const base::FilePath& file, int32_t* file_size_32));
MOCK_METHOD1(Exists, bool(const base::FilePath& file));
MOCK_METHOD1(DirectoryExists, bool(const base::FilePath& dir));
MOCK_METHOD1(IsDirectoryEmpty, bool(const base::FilePath& dir));
MOCK_METHOD1(CreateReadOnlyFileInTempDir, bool(base::FilePath* temp_file));
MOCK_METHOD2(CreateTemporaryDirIn,
bool(const base::FilePath& parent_dir, base::FilePath* out_dir));
MOCK_METHOD1(CreateDir, bool(const base::FilePath& dir));
MOCK_METHOD3(EnumerateFiles,
bool(const base::FilePath&, int, std::vector<base::FilePath>*));
MOCK_METHOD1(GetUniqueFilenameInWriteOnlyTempDir,
bool(base::FilePath* temp_file_path));
MOCK_METHOD1(RemoveDirTree, bool(const base::FilePath& dir));
MOCK_METHOD1(RemoveFile, bool(const base::FilePath& filename));
MOCK_METHOD2(RenameDir,
bool(const base::FilePath& source,
const base::FilePath& target));
MOCK_METHOD2(AtomicFileWrite,
bool(const base::FilePath& filename, const std::string& data));
MOCK_METHOD1(AmountOfFreeDiskSpace, int64_t(const base::FilePath& path));
MOCK_METHOD2(GetGroupInfo,
bool(const std::string& group_name, gid_t* out_gid));
MOCK_METHOD3(ChangeOwner,
bool(const base::FilePath& filename, pid_t pid, gid_t gid));
MOCK_METHOD2(SetPosixFilePermissions,
bool(const base::FilePath& filename, mode_t mode));
MOCK_METHOD1(CreateServerHandle,
ScopedPlatformHandle(const NamedPlatformHandle& named_handle));
MOCK_METHOD2(ReadFileToString, bool(const base::FilePath&, std::string*));
MOCK_METHOD2(ChangeBlockedSignals,
bool(int how, const std::vector<int>& signals));
MOCK_METHOD2(LaunchAndWait, bool(const std::vector<std::string>&, int*));
private:
DISALLOW_COPY_AND_ASSIGN(MockSystemUtils);
};
} // namespace login_manager
#endif // LOGIN_MANAGER_MOCK_SYSTEM_UTILS_H_