blob: ef0a68ad86702d95e3a38b32ae8890ee745ae1e5 [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(const MockSystemUtils&) = delete;
MockSystemUtils& operator=(const MockSystemUtils&) = delete;
~MockSystemUtils() override;
MOCK_METHOD(int, kill, (pid_t, uid_t, int), (override));
MOCK_METHOD(time_t, time, (time_t*), (override)); // NOLINT
MOCK_METHOD(pid_t, fork, (), (override));
MOCK_METHOD(int, close, (int), (override));
MOCK_METHOD(int, chdir, (const base::FilePath&), (override));
MOCK_METHOD(pid_t, setsid, (), (override));
MOCK_METHOD(int,
execve,
(const base::FilePath&, const char* const[], const char* const[]),
(override));
MOCK_METHOD(bool, EnterNewMountNamespace, (), (override));
MOCK_METHOD(bool,
GetAppOutput,
(const std::vector<std::string>&, std::string*),
(override));
MOCK_METHOD(DevModeState, GetDevModeState, (), (override));
MOCK_METHOD(VmState, GetVmState, (), (override));
MOCK_METHOD(bool, ProcessGroupIsGone, (pid_t, base::TimeDelta), (override));
MOCK_METHOD(bool, ProcessIsGone, (pid_t, base::TimeDelta), (override));
MOCK_METHOD(pid_t, Wait, (pid_t, base::TimeDelta, int*), (override));
MOCK_METHOD(bool,
EnsureAndReturnSafeFileSize,
(const base::FilePath&, int32_t*),
(override));
MOCK_METHOD(bool, Exists, (const base::FilePath&), (override));
MOCK_METHOD(bool, DirectoryExists, (const base::FilePath&), (override));
MOCK_METHOD(bool, CreateDir, (const base::FilePath&), (override));
MOCK_METHOD(bool,
EnumerateFiles,
(const base::FilePath&, int, std::vector<base::FilePath>*),
(override));
MOCK_METHOD(bool,
GetUniqueFilenameInWriteOnlyTempDir,
(base::FilePath*),
(override));
MOCK_METHOD(bool, RemoveFile, (const base::FilePath&), (override));
MOCK_METHOD(bool,
AtomicFileWrite,
(const base::FilePath&, const std::string&),
(override));
MOCK_METHOD(int64_t,
AmountOfFreeDiskSpace,
(const base::FilePath&),
(override));
MOCK_METHOD(bool,
GetGidAndGroups,
(uid_t, gid_t*, std::vector<gid_t>*),
(override));
MOCK_METHOD(bool,
ReadFileToString,
(const base::FilePath&, std::string*),
(override));
MOCK_METHOD(bool,
WriteStringToFile,
(const base::FilePath&, const std::string&),
(override));
MOCK_METHOD(bool,
ChangeBlockedSignals,
(int, const std::vector<int>&),
(override));
MOCK_METHOD(bool,
LaunchAndWait,
(const std::vector<std::string>&, int*),
(override));
MOCK_METHOD(bool,
RunInMinijail,
(const ScopedMinijail& jail,
const std::vector<std::string>&,
const std::vector<std::string>&,
pid_t*),
(override));
};
} // namespace login_manager
#endif // LOGIN_MANAGER_MOCK_SYSTEM_UTILS_H_