musl: introduce dummy function for gnu_get_libc_version()
As the header gnu/libc-version.h and gnu_get_libc_version() function are glibc specific, and musl does not provide them.
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
#pragma once
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
static inline const char* gnu_get_libc_version(void) {
|
||||
return "";
|
||||
}
|
||||
@@ -669,12 +669,14 @@ TEST(condition_test_version) {
|
||||
condition_free(condition);
|
||||
|
||||
/* Test glibc version */
|
||||
bool has = !isempty(gnu_get_libc_version());
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, "glibc > 1", false, false)));
|
||||
ASSERT_OK_POSITIVE(condition_test(condition, environ));
|
||||
ASSERT_OK_EQ(condition_test(condition, environ), has);
|
||||
condition_free(condition);
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, "glibc < 2", false, false)));
|
||||
ASSERT_OK_ZERO(condition_test(condition, environ));
|
||||
ASSERT_OK_EQ(condition_test(condition, environ), !has);
|
||||
condition_free(condition);
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, "glibc < 9999", false, false)));
|
||||
@@ -686,15 +688,27 @@ TEST(condition_test_version) {
|
||||
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));
|
||||
if (has)
|
||||
ASSERT_OK_POSITIVE(condition_test(condition, environ));
|
||||
else
|
||||
ASSERT_ERROR(condition_test(condition, environ), EINVAL);
|
||||
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));
|
||||
if (has)
|
||||
ASSERT_OK_ZERO(condition_test(condition, environ));
|
||||
else
|
||||
ASSERT_ERROR(condition_test(condition, environ), EINVAL);
|
||||
condition_free(condition);
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, "glibc $= ?*", false, false)));
|
||||
ASSERT_OK_EQ(condition_test(condition, environ), has);
|
||||
condition_free(condition);
|
||||
|
||||
ASSERT_NOT_NULL((condition = condition_new(CONDITION_VERSION, "glibc !$= ?*", false, false)));
|
||||
ASSERT_OK_EQ(condition_test(condition, environ), !has);
|
||||
condition_free(condition);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user