match glibc in ConditionVersion
Extend ConditionVersion= to allow matching against glibc version, as proposed in https://github.com/systemd/systemd/pull/36468#issuecomment-2674600909
This commit is contained in:
committed by
Yu Watanabe
parent
966f872880
commit
dcde1e903a
@@ -1,5 +1,6 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include <gnu/libc-version.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/utsname.h>
|
||||
@@ -676,6 +677,35 @@ TEST(condition_test_version) {
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, v, false, false)));
|
||||
ASSERT_OK_ZERO(condition_test(condition, environ));
|
||||
condition_free(condition);
|
||||
|
||||
/* Test glibc version */
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, "glibc > 1", false, false)));
|
||||
ASSERT_OK_POSITIVE(condition_test(condition, environ));
|
||||
condition_free(condition);
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, "glibc < 2", false, false)));
|
||||
ASSERT_OK_ZERO(condition_test(condition, environ));
|
||||
condition_free(condition);
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, "glibc < 9999", false, false)));
|
||||
ASSERT_OK_POSITIVE(condition_test(condition, environ));
|
||||
condition_free(condition);
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, "glibc > 9999", false, false)));
|
||||
ASSERT_OK_ZERO(condition_test(condition, environ));
|
||||
condition_free(condition);
|
||||
|
||||
v = strjoina("glibc = ", gnu_get_libc_version());
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, v, false, false)));
|
||||
ASSERT_OK_POSITIVE(condition_test(condition, environ));
|
||||
condition_free(condition);
|
||||
|
||||
v = strjoina("glibc != ", gnu_get_libc_version());
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, v, false, false)));
|
||||
ASSERT_OK_ZERO(condition_test(condition, environ));
|
||||
condition_free(condition);
|
||||
}
|
||||
|
||||
TEST(condition_test_credential) {
|
||||
|
||||
Reference in New Issue
Block a user