Small cleanups for tests (#38063)
This commit is contained in:
+15
-25
@@ -131,11 +131,6 @@ static int rlimit_parse_sec(const char *val, rlim_t *ret) {
|
||||
assert(val);
|
||||
assert(ret);
|
||||
|
||||
if (streq(val, "infinity")) {
|
||||
*ret = RLIM_INFINITY;
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = parse_sec(val, &t);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@@ -159,11 +154,6 @@ static int rlimit_parse_usec(const char *val, rlim_t *ret) {
|
||||
assert(val);
|
||||
assert(ret);
|
||||
|
||||
if (streq(val, "infinity")) {
|
||||
*ret = RLIM_INFINITY;
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = parse_time(val, &t, 1);
|
||||
if (r < 0)
|
||||
return r;
|
||||
@@ -227,22 +217,22 @@ static int rlimit_parse_nice(const char *val, rlim_t *ret) {
|
||||
}
|
||||
|
||||
static int (*const rlimit_parse_table[_RLIMIT_MAX])(const char *val, rlim_t *ret) = {
|
||||
[RLIMIT_CPU] = rlimit_parse_sec,
|
||||
[RLIMIT_FSIZE] = rlimit_parse_size,
|
||||
[RLIMIT_DATA] = rlimit_parse_size,
|
||||
[RLIMIT_STACK] = rlimit_parse_size,
|
||||
[RLIMIT_CORE] = rlimit_parse_size,
|
||||
[RLIMIT_RSS] = rlimit_parse_size,
|
||||
[RLIMIT_NOFILE] = rlimit_parse_u64,
|
||||
[RLIMIT_AS] = rlimit_parse_size,
|
||||
[RLIMIT_NPROC] = rlimit_parse_u64,
|
||||
[RLIMIT_MEMLOCK] = rlimit_parse_size,
|
||||
[RLIMIT_LOCKS] = rlimit_parse_u64,
|
||||
[RLIMIT_CPU] = rlimit_parse_sec,
|
||||
[RLIMIT_FSIZE] = rlimit_parse_size,
|
||||
[RLIMIT_DATA] = rlimit_parse_size,
|
||||
[RLIMIT_STACK] = rlimit_parse_size,
|
||||
[RLIMIT_CORE] = rlimit_parse_size,
|
||||
[RLIMIT_RSS] = rlimit_parse_size,
|
||||
[RLIMIT_NOFILE] = rlimit_parse_u64,
|
||||
[RLIMIT_AS] = rlimit_parse_size,
|
||||
[RLIMIT_NPROC] = rlimit_parse_u64,
|
||||
[RLIMIT_MEMLOCK] = rlimit_parse_size,
|
||||
[RLIMIT_LOCKS] = rlimit_parse_u64,
|
||||
[RLIMIT_SIGPENDING] = rlimit_parse_u64,
|
||||
[RLIMIT_MSGQUEUE] = rlimit_parse_size,
|
||||
[RLIMIT_NICE] = rlimit_parse_nice,
|
||||
[RLIMIT_RTPRIO] = rlimit_parse_u64,
|
||||
[RLIMIT_RTTIME] = rlimit_parse_usec,
|
||||
[RLIMIT_MSGQUEUE] = rlimit_parse_size,
|
||||
[RLIMIT_NICE] = rlimit_parse_nice,
|
||||
[RLIMIT_RTPRIO] = rlimit_parse_u64,
|
||||
[RLIMIT_RTTIME] = rlimit_parse_usec,
|
||||
};
|
||||
|
||||
int rlimit_parse_one(int resource, const char *val, rlim_t *ret) {
|
||||
|
||||
+6
-12
@@ -44,10 +44,8 @@ TEST(cg_create) {
|
||||
int r;
|
||||
|
||||
r = cg_unified_cached(false);
|
||||
if (IN_SET(r, -ENOMEDIUM, -ENOENT)) {
|
||||
log_tests_skipped("cgroupfs is not mounted");
|
||||
return;
|
||||
}
|
||||
if (IN_SET(r, -ENOMEDIUM, -ENOENT))
|
||||
return (void) log_tests_skipped("cgroupfs is not mounted");
|
||||
ASSERT_OK(r);
|
||||
|
||||
_cleanup_free_ char *here = NULL;
|
||||
@@ -122,14 +120,10 @@ TEST(id) {
|
||||
int r;
|
||||
|
||||
r = cg_all_unified();
|
||||
if (r == 0) {
|
||||
log_tests_skipped("skipping cgroupid test, not running in unified mode");
|
||||
return;
|
||||
}
|
||||
if (IN_SET(r, -ENOMEDIUM, -ENOENT)) {
|
||||
log_tests_skipped("cgroupfs is not mounted");
|
||||
return;
|
||||
}
|
||||
if (IN_SET(r, -ENOMEDIUM, -ENOENT))
|
||||
return (void) log_tests_skipped("cgroupfs is not mounted");
|
||||
if (r == 0)
|
||||
return (void) log_tests_skipped("skipping cgroupid test, not running in unified mode");
|
||||
ASSERT_OK_POSITIVE(r);
|
||||
|
||||
fd = cg_path_open(SYSTEMD_CGROUP_CONTROLLER, "/");
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include "tests.h"
|
||||
#include "tmpfile-util.h"
|
||||
|
||||
TEST (test_dirent_ensure_type) {
|
||||
TEST(test_dirent_ensure_type) {
|
||||
int r, dir_fd;
|
||||
static struct dirent de = {
|
||||
.d_type = DT_UNKNOWN,
|
||||
@@ -35,7 +35,7 @@ TEST (test_dirent_ensure_type) {
|
||||
assert_se(de.d_type == DT_DIR);
|
||||
}
|
||||
|
||||
TEST (test_dirent_is_file) {
|
||||
TEST(test_dirent_is_file) {
|
||||
_cleanup_(rm_rf_physical_and_freep) char *t = NULL;
|
||||
const char *name, *dotfile, *name_alias, *bakfile, *tilda;
|
||||
const struct dirent *de_reg, *de_lnk, *de_dot, *de_bak, *de_tilda;
|
||||
@@ -111,7 +111,7 @@ TEST (test_dirent_is_file) {
|
||||
closedir(dir);
|
||||
}
|
||||
|
||||
TEST (test_dirent_is_file_with_suffix) {
|
||||
TEST(test_dirent_is_file_with_suffix) {
|
||||
_cleanup_(rm_rf_physical_and_freep) char *t = NULL;
|
||||
const char *name, *dotfile, *name_alias, *dotdot, *chr;
|
||||
const struct dirent *de_reg, *de_lnk, *de_dot, *de_dotdot, *de_chr;
|
||||
|
||||
@@ -184,8 +184,7 @@ TEST(touch_file) {
|
||||
r = touch_file(a, false, test_mtime, test_uid, test_gid, 0640);
|
||||
if (r < 0) {
|
||||
assert_se(IN_SET(r, -EINVAL, -ENOSYS, -ENOTTY, -EPERM));
|
||||
log_tests_skipped_errno(errno, "touch_file() not possible");
|
||||
return;
|
||||
return (void) log_tests_skipped_errno(errno, "touch_file() not possible");
|
||||
}
|
||||
|
||||
assert_se(lstat(a, &st) >= 0);
|
||||
|
||||
@@ -201,10 +201,8 @@ TEST(real_pressure) {
|
||||
pid_t pid;
|
||||
|
||||
r = sd_bus_open_system(&bus);
|
||||
if (r < 0) {
|
||||
log_notice_errno(r, "Can't connect to system bus, skipping test: %m");
|
||||
return;
|
||||
}
|
||||
if (r < 0)
|
||||
return (void) log_tests_skipped_errno(r, "can't connect to system bus");
|
||||
|
||||
assert_se(bus_wait_for_jobs_new(bus, &w) >= 0);
|
||||
|
||||
@@ -218,10 +216,8 @@ TEST(real_pressure) {
|
||||
assert_se(sd_bus_message_append(m, "a(sa(sv))", 0) >= 0);
|
||||
|
||||
r = sd_bus_call(bus, m, 0, &error, &reply);
|
||||
if (r < 0) {
|
||||
log_notice_errno(r, "Can't issue transient unit call, skipping test: %m");
|
||||
return;
|
||||
}
|
||||
if (r < 0)
|
||||
return (void) log_tests_skipped_errno(r, "can't issue transient unit call");
|
||||
|
||||
assert_se(sd_bus_message_read(reply, "o", &object) >= 0);
|
||||
|
||||
@@ -250,10 +246,8 @@ TEST(real_pressure) {
|
||||
};
|
||||
|
||||
r = sd_event_add_memory_pressure(e, &es, real_pressure_callback, &context);
|
||||
if (r < 0) {
|
||||
log_notice_errno(r, "Can't allocate memory pressure fd, skipping test: %m");
|
||||
return;
|
||||
}
|
||||
if (r < 0)
|
||||
return (void) log_tests_skipped_errno(r, "can't allocate memory pressure fd");
|
||||
|
||||
assert_se(sd_event_source_set_description(es, "real pressure event source") >= 0);
|
||||
assert_se(sd_event_source_set_memory_pressure_type(es, "some") == 0);
|
||||
@@ -272,10 +266,8 @@ TEST(real_pressure) {
|
||||
assert_se(sd_bus_get_property_trivial(bus, "org.freedesktop.systemd1", uo, "org.freedesktop.systemd1.Scope", "MemoryCurrent", &error, 't', &mcurrent) >= 0);
|
||||
|
||||
printf("current: %" PRIu64 "\n", mcurrent);
|
||||
if (mcurrent == UINT64_MAX) {
|
||||
log_notice_errno(r, "Memory accounting not available, skipping test: %m");
|
||||
return;
|
||||
}
|
||||
if (mcurrent == UINT64_MAX)
|
||||
return (void) log_tests_skipped_errno(r, "memory accounting not available");
|
||||
|
||||
m = sd_bus_message_unref(m);
|
||||
|
||||
|
||||
@@ -29,14 +29,14 @@ static void test_rlimit_parse_format_one(int resource, const char *string, rlim_
|
||||
if (ret < 0)
|
||||
return;
|
||||
|
||||
assert_se(rl.rlim_cur == soft);
|
||||
assert_se(rl.rlim_max == hard);
|
||||
ASSERT_EQ(rl.rlim_cur, soft);
|
||||
ASSERT_EQ(rl.rlim_max, hard);
|
||||
|
||||
assert_se(rlimit_format(&rl, &f) >= 0);
|
||||
ASSERT_OK(rlimit_format(&rl, &f));
|
||||
ASSERT_STREQ(formatted, f);
|
||||
|
||||
assert_se(rlimit_parse(resource, formatted, &rl2) >= 0);
|
||||
assert_se(memcmp(&rl, &rl2, sizeof(struct rlimit)) == 0);
|
||||
ASSERT_OK(rlimit_parse(resource, formatted, &rl2));
|
||||
ASSERT_EQ(memcmp(&rl, &rl2, sizeof(struct rlimit)), 0);
|
||||
}
|
||||
|
||||
TEST(rlimit_parse_format) {
|
||||
@@ -61,6 +61,9 @@ TEST(rlimit_parse_format) {
|
||||
test_rlimit_parse_format_one(RLIMIT_NICE, "+19", 1, 1, 0, "1");
|
||||
test_rlimit_parse_format_one(RLIMIT_NICE, "+20", 0, 0, -ERANGE, "0");
|
||||
test_rlimit_parse_format_one(RLIMIT_NICE, "+0", 20, 20, 0, "20");
|
||||
test_rlimit_parse_format_one(RLIMIT_NICE, "+0", 20, 20, 0, "20");
|
||||
test_rlimit_parse_format_one(RLIMIT_RTTIME, "25min:13h", 25*USEC_PER_MINUTE, 13*USEC_PER_HOUR, 0, "1500000000:46800000000");
|
||||
test_rlimit_parse_format_one(RLIMIT_RTTIME, "infinity", RLIM_INFINITY, RLIM_INFINITY, 0, "infinity");
|
||||
}
|
||||
|
||||
TEST(rlimit_from_string) {
|
||||
|
||||
@@ -239,9 +239,4 @@ TEST(utf8_last_length) {
|
||||
ASSERT_EQ(utf8_last_length("koff👊", SIZE_MAX), strlen("👊"));
|
||||
}
|
||||
|
||||
static int intro(void) {
|
||||
log_show_color(true);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);
|
||||
DEFINE_TEST_MAIN(LOG_INFO);
|
||||
|
||||
Reference in New Issue
Block a user