blob: 8494bab2ce4bbf7d1db79774c77c69a9674d4e3d [file] [log] [blame]
// Copyright (c) 2013 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 LIBBRILLO_BRILLO_UDEV_MOCK_UDEV_H_
#define LIBBRILLO_BRILLO_UDEV_MOCK_UDEV_H_
#include <memory>
#include <brillo/brillo_export.h>
#include <brillo/udev/udev.h>
#include <brillo/udev/udev_device.h>
#include <brillo/udev/udev_enumerate.h>
#include <brillo/udev/udev_monitor.h>
#include <gmock/gmock.h>
namespace brillo {
class BRILLO_EXPORT MockUdev : public Udev {
public:
MockUdev() : Udev(nullptr) {}
~MockUdev() override = default;
MOCK_METHOD(std::unique_ptr<UdevDevice>,
CreateDeviceFromSysPath,
(const char*),
(override));
MOCK_METHOD(std::unique_ptr<UdevDevice>,
CreateDeviceFromDeviceNumber,
(char, dev_t),
(override));
MOCK_METHOD(std::unique_ptr<UdevDevice>,
CreateDeviceFromSubsystemSysName,
(const char*, const char*),
(override));
MOCK_METHOD(std::unique_ptr<UdevEnumerate>, CreateEnumerate, (), (override));
MOCK_METHOD(std::unique_ptr<UdevMonitor>,
CreateMonitorFromNetlink,
(const char*),
(override));
private:
DISALLOW_COPY_AND_ASSIGN(MockUdev);
};
} // namespace brillo
#endif // LIBBRILLO_BRILLO_UDEV_MOCK_UDEV_H_