Commit f778cd2d authored by Richard Levitte's avatar Richard Levitte
Browse files

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: default avatarAndy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5620)
parent c8ee3679
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -196,7 +196,21 @@ int main(int argc, char **argv)
        return 1;
    }

    if (OpenSSL_version_num() != OPENSSL_VERSION_NUMBER) {
    /*
     * 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
    if ((OpenSSL_version_num() & COMPATIBILITY_MASK)
        != (OPENSSL_VERSION_NUMBER & COMPATIBILITY_MASK)) {
        printf("Unexpected library version loaded\n");
        return 1;
    }

    if ((OpenSSL_version_num() & ~COMPATIBILITY_MASK)
        < (OPENSSL_VERSION_NUMBER & ~COMPATIBILITY_MASK)) {
        printf("Unexpected library version loaded\n");
        return 1;
    }