From 5e6dc03fd5fa6db51c09a34f3c9963ff58d7c204 Mon Sep 17 00:00:00 2001 From: Alessio Balsini Date: Thu, 10 Oct 2019 20:47:29 +0100 Subject: [PATCH] Move TempDevice to test_util.h TempDevice is useful class for tests, move it to test_util.h to improve its visibility and make it usable by other tests. Bug: none Test: none Change-Id: Idad5667844b10559b24f8f5e657e47d99e14209e Signed-off-by: Alessio Balsini --- fs_mgr/libdm/dm_test.cpp | 44 ------------------------------------ fs_mgr/libdm/test_util.h | 48 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 44 deletions(-) diff --git a/fs_mgr/libdm/dm_test.cpp b/fs_mgr/libdm/dm_test.cpp index 39c908db2..ed2fa8329 100644 --- a/fs_mgr/libdm/dm_test.cpp +++ b/fs_mgr/libdm/dm_test.cpp @@ -47,50 +47,6 @@ TEST(libdm, HasMinimumTargets) { ASSERT_TRUE(dm.GetTargetByName("linear", &info)); } -// Helper to ensure that device mapper devices are released. -class TempDevice { - public: - TempDevice(const std::string& name, const DmTable& table) - : dm_(DeviceMapper::Instance()), name_(name), valid_(false) { - valid_ = dm_.CreateDevice(name, table, &path_, 5s); - } - TempDevice(TempDevice&& other) noexcept - : dm_(other.dm_), name_(other.name_), path_(other.path_), valid_(other.valid_) { - other.valid_ = false; - } - ~TempDevice() { - if (valid_) { - dm_.DeleteDevice(name_); - } - } - bool Destroy() { - if (!valid_) { - return false; - } - valid_ = false; - return dm_.DeleteDevice(name_); - } - std::string path() const { return path_; } - const std::string& name() const { return name_; } - bool valid() const { return valid_; } - - TempDevice(const TempDevice&) = delete; - TempDevice& operator=(const TempDevice&) = delete; - - TempDevice& operator=(TempDevice&& other) noexcept { - name_ = other.name_; - valid_ = other.valid_; - other.valid_ = false; - return *this; - } - - private: - DeviceMapper& dm_; - std::string name_; - std::string path_; - bool valid_; -}; - TEST(libdm, DmLinear) { unique_fd tmp1(CreateTempFile("file_1", 4096)); ASSERT_GE(tmp1, 0); diff --git a/fs_mgr/libdm/test_util.h b/fs_mgr/libdm/test_util.h index 96b051ca2..66713641e 100644 --- a/fs_mgr/libdm/test_util.h +++ b/fs_mgr/libdm/test_util.h @@ -20,8 +20,12 @@ #include #include +#include #include +#include +#include + namespace android { namespace dm { @@ -29,6 +33,50 @@ namespace dm { // created with a fixed size. android::base::unique_fd CreateTempFile(const std::string& name, size_t size); +// Helper to ensure that device mapper devices are released. +class TempDevice { + public: + TempDevice(const std::string& name, const DmTable& table) + : dm_(DeviceMapper::Instance()), name_(name), valid_(false) { + valid_ = dm_.CreateDevice(name, table, &path_, std::chrono::seconds(5)); + } + TempDevice(TempDevice&& other) noexcept + : dm_(other.dm_), name_(other.name_), path_(other.path_), valid_(other.valid_) { + other.valid_ = false; + } + ~TempDevice() { + if (valid_) { + dm_.DeleteDevice(name_); + } + } + bool Destroy() { + if (!valid_) { + return false; + } + valid_ = false; + return dm_.DeleteDevice(name_); + } + std::string path() const { return path_; } + const std::string& name() const { return name_; } + bool valid() const { return valid_; } + + TempDevice(const TempDevice&) = delete; + TempDevice& operator=(const TempDevice&) = delete; + + TempDevice& operator=(TempDevice&& other) noexcept { + name_ = other.name_; + valid_ = other.valid_; + other.valid_ = false; + return *this; + } + + private: + DeviceMapper& dm_; + std::string name_; + std::string path_; + bool valid_; +}; + } // namespace dm } // namespace android