If memory debugging enabled return error on leaks.
[openssl.git] / test / clienthellotest.c
index 289ca1e..d9ae758 100644 (file)
@@ -55,6 +55,7 @@
 
 #include <string.h>
 
+#include <openssl/opensslconf.h>
 #include <openssl/bio.h>
 #include <openssl/crypto.h>
 #include <openssl/evp.h>
@@ -117,7 +118,11 @@ int main(int argc, char *argv[])
     for (; currtest < TOTAL_NUM_TESTS; currtest++) {
         testresult = 0;
         if (currtest == TEST_SET_SESSION_TICK_DATA_TLS_1_2) {
+#ifndef OPENSSL_NO_TLS1_2
             ctx = SSL_CTX_new(TLSv1_2_method());
+#else
+            continue;
+#endif
         } else {
             ctx = SSL_CTX_new(TLS_method());
         }
@@ -211,8 +216,9 @@ int main(int argc, char *argv[])
     ERR_remove_thread_state(NULL);
     EVP_cleanup();
     CRYPTO_cleanup_all_ex_data();
-#ifdef CRYPTO_MDEBUG
-    CRYPTO_mem_leaks(err);
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG
+    if (CRYPTO_mem_leaks(err) <= 0)
+        testresult = 0;
 #endif
     BIO_free(err);