提交 00c8f1b0 编写于 作者: R Richard Levitte

Stop test/shlibloadtest.c from failing in a regression test

When doing a regression test, it's obvious that the version
test/shlibloadtest is built for will not be the same as the library
version.  So we change the test to check for assumed compatibility.
Reviewed-by: NAndy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5619)
上级 b4d46ad2
...@@ -141,8 +141,20 @@ static int test_lib(void) ...@@ -141,8 +141,20 @@ static int test_lib(void)
myERR_get_error = (ERR_get_error_t)symbols[0].func; myERR_get_error = (ERR_get_error_t)symbols[0].func;
if (!TEST_int_eq(myERR_get_error(), 0)) if (!TEST_int_eq(myERR_get_error(), 0))
goto end; goto end;
/*
* The bits that COMPATIBILITY_MASK lets through MUST be the same in
* the library and in the application.
* The bits that are masked away MUST be a larger or equal number in
* the library compared to the application.
*/
# define COMPATIBILITY_MASK 0xfff00000L
myOpenSSL_version_num = (OpenSSL_version_num_t)symbols[1].func; myOpenSSL_version_num = (OpenSSL_version_num_t)symbols[1].func;
if (!TEST_int_eq(myOpenSSL_version_num(), OPENSSL_VERSION_NUMBER)) if (!TEST_int_eq(myOpenSSL_version_num() & COMPATIBILITY_MASK,
OPENSSL_VERSION_NUMBER & COMPATIBILITY_MASK)
goto end;
if (!TEST_int_ge(myOpenSSL_version_num() & ~COMPATIBILITY_MASK,
OPENSSL_VERSION_NUMBER & ~COMPATIBILITY_MASK)
goto end; goto end;
switch (test_type) { switch (test_type) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册