mirror of
https://github.com/systemd/systemd.git
synced 2026-11-06 13:27:45 +00:00
test-devnum-util: convert to new ASSERT macros
Replace assert_se() with the typed ASSERT_* macros throughout, so that a failing assertion logs the values involved.
This commit is contained in:
1 parent
9d394d9355
commit
cb1336c4ba
1 file changed
+43
-40
+43
-40
@@ -3,60 +3,63 @@
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include "devnum-util.h"
|
||||
#include "path-util.h"
|
||||
#include "stat-util.h"
|
||||
#include "tests.h"
|
||||
|
||||
TEST(parse_devnum) {
|
||||
dev_t dev;
|
||||
|
||||
assert_se(parse_devnum("", &dev) == -EINVAL);
|
||||
assert_se(parse_devnum("junk", &dev) == -EINVAL);
|
||||
assert_se(parse_devnum("0", &dev) == -EINVAL);
|
||||
assert_se(parse_devnum("5", &dev) == -EINVAL);
|
||||
assert_se(parse_devnum("5:", &dev) == -EINVAL);
|
||||
assert_se(parse_devnum(":5", &dev) == -EINVAL);
|
||||
assert_se(parse_devnum("-1:-1", &dev) == -EINVAL);
|
||||
ASSERT_ERROR(parse_devnum("", &dev), EINVAL);
|
||||
ASSERT_ERROR(parse_devnum("junk", &dev), EINVAL);
|
||||
ASSERT_ERROR(parse_devnum("0", &dev), EINVAL);
|
||||
ASSERT_ERROR(parse_devnum("5", &dev), EINVAL);
|
||||
ASSERT_ERROR(parse_devnum("5:", &dev), EINVAL);
|
||||
ASSERT_ERROR(parse_devnum(":5", &dev), EINVAL);
|
||||
ASSERT_ERROR(parse_devnum("-1:-1", &dev), EINVAL);
|
||||
#if SIZEOF_DEV_T < 8
|
||||
assert_se(parse_devnum("4294967295:4294967295", &dev) == -EINVAL);
|
||||
ASSERT_ERROR(parse_devnum("4294967295:4294967295", &dev), EINVAL);
|
||||
#endif
|
||||
assert_se(parse_devnum("8:11", &dev) >= 0 && major(dev) == 8 && minor(dev) == 11);
|
||||
assert_se(parse_devnum("0:0", &dev) >= 0 && major(dev) == 0 && minor(dev) == 0);
|
||||
ASSERT_OK(parse_devnum("8:11", &dev));
|
||||
ASSERT_EQ(major(dev), 8U);
|
||||
ASSERT_EQ(minor(dev), 11U);
|
||||
ASSERT_OK(parse_devnum("0:0", &dev));
|
||||
ASSERT_EQ(major(dev), 0U);
|
||||
ASSERT_EQ(minor(dev), 0U);
|
||||
}
|
||||
|
||||
TEST(device_major_minor_valid) {
|
||||
/* on glibc dev_t is 64-bit, even though in the kernel it is only 32-bit */
|
||||
assert_cc(sizeof(dev_t) == sizeof(uint64_t));
|
||||
|
||||
assert_se(DEVICE_MAJOR_VALID(0U));
|
||||
assert_se(DEVICE_MINOR_VALID(0U));
|
||||
ASSERT_TRUE(DEVICE_MAJOR_VALID(0U));
|
||||
ASSERT_TRUE(DEVICE_MINOR_VALID(0U));
|
||||
|
||||
assert_se(DEVICE_MAJOR_VALID(1U));
|
||||
assert_se(DEVICE_MINOR_VALID(1U));
|
||||
ASSERT_TRUE(DEVICE_MAJOR_VALID(1U));
|
||||
ASSERT_TRUE(DEVICE_MINOR_VALID(1U));
|
||||
|
||||
assert_se(!DEVICE_MAJOR_VALID(-1U));
|
||||
assert_se(!DEVICE_MINOR_VALID(-1U));
|
||||
ASSERT_FALSE(DEVICE_MAJOR_VALID(-1U));
|
||||
ASSERT_FALSE(DEVICE_MINOR_VALID(-1U));
|
||||
|
||||
assert_se(DEVICE_MAJOR_VALID(1U << 10));
|
||||
assert_se(DEVICE_MINOR_VALID(1U << 10));
|
||||
ASSERT_TRUE(DEVICE_MAJOR_VALID(1U << 10));
|
||||
ASSERT_TRUE(DEVICE_MINOR_VALID(1U << 10));
|
||||
|
||||
assert_se(DEVICE_MAJOR_VALID((1U << 12) - 1));
|
||||
assert_se(DEVICE_MINOR_VALID((1U << 20) - 1));
|
||||
ASSERT_TRUE(DEVICE_MAJOR_VALID((1U << 12) - 1));
|
||||
ASSERT_TRUE(DEVICE_MINOR_VALID((1U << 20) - 1));
|
||||
|
||||
assert_se(!DEVICE_MAJOR_VALID((1U << 12)));
|
||||
assert_se(!DEVICE_MINOR_VALID((1U << 20)));
|
||||
ASSERT_FALSE(DEVICE_MAJOR_VALID((1U << 12)));
|
||||
ASSERT_FALSE(DEVICE_MINOR_VALID((1U << 20)));
|
||||
|
||||
assert_se(!DEVICE_MAJOR_VALID(1U << 25));
|
||||
assert_se(!DEVICE_MINOR_VALID(1U << 25));
|
||||
ASSERT_FALSE(DEVICE_MAJOR_VALID(1U << 25));
|
||||
ASSERT_FALSE(DEVICE_MINOR_VALID(1U << 25));
|
||||
|
||||
assert_se(!DEVICE_MAJOR_VALID(UINT32_MAX));
|
||||
assert_se(!DEVICE_MINOR_VALID(UINT32_MAX));
|
||||
ASSERT_FALSE(DEVICE_MAJOR_VALID(UINT32_MAX));
|
||||
ASSERT_FALSE(DEVICE_MINOR_VALID(UINT32_MAX));
|
||||
|
||||
assert_se(!DEVICE_MAJOR_VALID(UINT64_MAX));
|
||||
assert_se(!DEVICE_MINOR_VALID(UINT64_MAX));
|
||||
ASSERT_FALSE(DEVICE_MAJOR_VALID(UINT64_MAX));
|
||||
ASSERT_FALSE(DEVICE_MINOR_VALID(UINT64_MAX));
|
||||
|
||||
assert_se(DEVICE_MAJOR_VALID(major(0)));
|
||||
assert_se(DEVICE_MINOR_VALID(minor(0)));
|
||||
ASSERT_TRUE(DEVICE_MAJOR_VALID(major(0)));
|
||||
ASSERT_TRUE(DEVICE_MINOR_VALID(minor(0)));
|
||||
}
|
||||
|
||||
static void test_device_path_make_canonical_one(const char *path) {
|
||||
@@ -69,7 +72,7 @@ static void test_device_path_make_canonical_one(const char *path) {
|
||||
log_debug("> %s", path);
|
||||
|
||||
if (stat(path, &st) < 0) {
|
||||
assert_se(errno == ENOENT);
|
||||
ASSERT_EQ(errno, ENOENT);
|
||||
log_notice("Path %s not found, skipping test", path);
|
||||
return;
|
||||
}
|
||||
@@ -82,14 +85,14 @@ static void test_device_path_make_canonical_one(const char *path) {
|
||||
return;
|
||||
}
|
||||
|
||||
assert_se(r >= 0);
|
||||
assert_se(path_equal(path, resolved));
|
||||
ASSERT_OK(r);
|
||||
ASSERT_PATH_EQ(path, resolved);
|
||||
|
||||
assert_se(device_path_make_major_minor(st.st_mode, st.st_rdev, &raw) >= 0);
|
||||
assert_se(device_path_parse_major_minor(raw, &mode, &devno) >= 0);
|
||||
ASSERT_OK(device_path_make_major_minor(st.st_mode, st.st_rdev, &raw));
|
||||
ASSERT_OK(device_path_parse_major_minor(raw, &mode, &devno));
|
||||
|
||||
assert_se(st.st_rdev == devno);
|
||||
assert_se((st.st_mode & S_IFMT) == (mode & S_IFMT));
|
||||
ASSERT_EQ(st.st_rdev, devno);
|
||||
ASSERT_EQ(st.st_mode & S_IFMT, mode & S_IFMT);
|
||||
}
|
||||
|
||||
TEST(device_path_make_canonical) {
|
||||
@@ -110,8 +113,8 @@ static void test_devnum_format_str_one(dev_t devnum, const char *s) {
|
||||
dev_t x;
|
||||
|
||||
ASSERT_STREQ(FORMAT_DEVNUM(devnum), s);
|
||||
assert_se(parse_devnum(s, &x) >= 0);
|
||||
assert_se(x == devnum);
|
||||
ASSERT_OK(parse_devnum(s, &x));
|
||||
ASSERT_EQ(x, devnum);
|
||||
}
|
||||
|
||||
TEST(devnum_format_str) {
|
||||
|
||||
Reference in new issue
Block a user