-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathutils_ut.cpp
39 lines (28 loc) · 990 Bytes
/
utils_ut.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "utils.h"
#include <library/cpp/testing/unittest/registar.h>
#include <util/folder/tempdir.h>
#include <util/stream/file.h>
namespace NCloud::NBlockStore::NBD {
////////////////////////////////////////////////////////////////////////////////
Y_UNIT_TEST_SUITE(TUtilsTest)
{
Y_UNIT_TEST(ShouldFindFreeNbdDevice)
{
TTempDir sysBlockDir;
TFsPath path = sysBlockDir.Path();
auto createPidFile = [](auto path) {
path.Parent().MkDir();
TOFStream(path.GetPath()).Write("42");
};
(path / "sda0").MkDir();
createPidFile(path / "sda1" / "pid");
createPidFile(path / "nbd0" / "pid");
createPidFile(path / "nbd1" / "pid");
UNIT_ASSERT(FindFreeNbdDevice(path.GetPath()).empty());
(path / "nbd2").MkDir();
UNIT_ASSERT_VALUES_EQUAL(
FindFreeNbdDevice(path.GetPath()),
TString("/dev/nbd2"));
}
}
} // namespace NCloud::NBlockStore::NBD