Have all tests use EXIT() to exit rather than exit(), since the latter doesn't
authorRichard Levitte <levitte@openssl.org>
Thu, 28 Nov 2002 18:54:30 +0000 (18:54 +0000)
committerRichard Levitte <levitte@openssl.org>
Thu, 28 Nov 2002 18:54:30 +0000 (18:54 +0000)
always give the expected result on some platforms.

24 files changed:
crypto/bf/bftest.c
crypto/bn/bntest.c
crypto/bn/exptest.c
crypto/cast/casttest.c
crypto/dh/dhtest.c
crypto/dsa/dsatest.c
crypto/ec/ectest.c
crypto/ecdh/ecdhtest.c
crypto/evp/evp_test.c
crypto/hmac/hmactest.c
crypto/idea/ideatest.c
crypto/md2/md2test.c
crypto/md4/md4test.c
crypto/md5/md5test.c
crypto/mdc2/mdc2test.c
crypto/rand/randtest.c
crypto/rc2/rc2test.c
crypto/rc4/rc4test.c
crypto/rc5/rc5test.c
crypto/ripemd/rmdtest.c
crypto/sha/sha1test.c
crypto/sha/shatest.c
ssl/ssltest.c
test/methtest.c

index c85bc32..24d526b 100644 (file)
@@ -63,6 +63,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_BF
 int main(int argc, char *argv[])
 {
@@ -275,7 +277,7 @@ int main(int argc, char *argv[])
        else
                ret=test();
 
-       exit(ret);
+       EXIT(ret);
        return(0);
        }
 
index 689683a..d87ccf9 100644 (file)
@@ -163,10 +163,10 @@ int main(int argc, char *argv[])
 
 
        ctx=BN_CTX_new();
-       if (ctx == NULL) exit(1);
+       if (ctx == NULL) EXIT(1);
 
        out=BIO_new(BIO_s_file());
-       if (out == NULL) exit(1);
+       if (out == NULL) EXIT(1);
        if (outfile == NULL)
                {
                BIO_set_fp(out,stdout,BIO_NOCLOSE);
@@ -176,7 +176,7 @@ int main(int argc, char *argv[])
                if (!BIO_write_filename(out,outfile))
                        {
                        perror(outfile);
-                       exit(1);
+                       EXIT(1);
                        }
                }
 
@@ -296,14 +296,14 @@ int main(int argc, char *argv[])
        BIO_free(out);
 
 /**/
-       exit(0);
+       EXIT(0);
 err:
        BIO_puts(out,"1\n"); /* make sure the Perl script fed by bc notices
                              * the failure, see test_bn in test/Makefile.ssl*/
        BIO_flush(out);
        ERR_load_crypto_strings();
        ERR_print_errors_fp(stderr);
-       exit(1);
+       EXIT(1);
        return(1);
        }
 
@@ -546,7 +546,7 @@ int test_mul(BIO *bp)
        BN_CTX *ctx;
 
        ctx = BN_CTX_new();
-       if (ctx == NULL) exit(1);
+       if (ctx == NULL) EXIT(1);
        
        BN_init(&a);
        BN_init(&b);
@@ -784,7 +784,7 @@ int test_mod_mul(BIO *bp, BN_CTX *ctx)
                        while ((l=ERR_get_error()))
                                fprintf(stderr,"ERROR:%s\n",
                                        ERR_error_string(l,NULL));
-                       exit(1);
+                       EXIT(1);
                        }
                if (bp != NULL)
                        {
index 5ca570d..621e6a9 100644 (file)
@@ -59,6 +59,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+
+#include "../e_os.h"
+
 #include <openssl/bio.h>
 #include <openssl/bn.h>
 #include <openssl/rand.h>
@@ -86,7 +89,7 @@ int main(int argc, char *argv[])
        ERR_load_BN_strings();
 
        ctx=BN_CTX_new();
-       if (ctx == NULL) exit(1);
+       if (ctx == NULL) EXIT(1);
        r_mont=BN_new();
        r_recp=BN_new();
        r_simple=BN_new();
@@ -99,7 +102,7 @@ int main(int argc, char *argv[])
 
        out=BIO_new(BIO_s_file());
 
-       if (out == NULL) exit(1);
+       if (out == NULL) EXIT(1);
        BIO_set_fp(out,stdout,BIO_NOCLOSE);
 
        for (i=0; i<200; i++)
@@ -124,7 +127,7 @@ int main(int argc, char *argv[])
                        {
                        printf("BN_mod_exp_mont() problems\n");
                        ERR_print_errors(out);
-                       exit(1);
+                       EXIT(1);
                        }
 
                ret=BN_mod_exp_recp(r_recp,a,b,m,ctx);
@@ -132,7 +135,7 @@ int main(int argc, char *argv[])
                        {
                        printf("BN_mod_exp_recp() problems\n");
                        ERR_print_errors(out);
-                       exit(1);
+                       EXIT(1);
                        }
 
                ret=BN_mod_exp_simple(r_simple,a,b,m,ctx);
@@ -140,7 +143,7 @@ int main(int argc, char *argv[])
                        {
                        printf("BN_mod_exp_simple() problems\n");
                        ERR_print_errors(out);
-                       exit(1);
+                       EXIT(1);
                        }
 
                if (BN_cmp(r_simple, r_mont) == 0
@@ -163,7 +166,7 @@ int main(int argc, char *argv[])
                        printf("\nrecp     ="); BN_print(out,r_recp);
                        printf("\nmont     ="); BN_print(out,r_mont);
                        printf("\n");
-                       exit(1);
+                       EXIT(1);
                        }
                }
        BN_free(r_mont);
@@ -177,11 +180,11 @@ int main(int argc, char *argv[])
        CRYPTO_mem_leaks(out);
        BIO_free(out);
        printf(" done\n");
-       exit(0);
+       EXIT(0);
 err:
        ERR_load_crypto_strings();
        ERR_print_errors(out);
-       exit(1);
+       EXIT(1);
        return(1);
        }
 
index 099e790..83e5a16 100644 (file)
@@ -60,6 +60,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_CAST
 int main(int argc, char *argv[])
 {
@@ -224,7 +226,7 @@ int main(int argc, char *argv[])
       }
 #endif
 
-    exit(err);
+    EXIT(err);
     return(err);
     }
 #endif
index 34894ce..2723774 100644 (file)
@@ -59,6 +59,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+
+#include "../e_os.h"
+
 #ifdef OPENSSL_SYS_WINDOWS
 #include "../bio/bss_file.c" 
 #endif
@@ -111,7 +114,7 @@ int main(int argc, char *argv[])
        RAND_seed(rnd_seed, sizeof rnd_seed);
 
        out=BIO_new(BIO_s_file());
-       if (out == NULL) exit(1);
+       if (out == NULL) EXIT(1);
        BIO_set_fp(out,stdout,BIO_NOCLOSE);
 
        a=DH_generate_parameters(64,DH_GENERATOR_5,cb,out);
@@ -195,7 +198,7 @@ err:
        CRYPTO_cleanup_all_ex_data();
        ERR_remove_state(0);
        CRYPTO_mem_leaks_fp(stderr);
-       exit(ret);
+       EXIT(ret);
        return(ret);
        }
 
index 12da64f..4c411f2 100644 (file)
@@ -61,6 +61,9 @@
 #include <string.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+
+#include "../e_os.h"
+
 #include <openssl/crypto.h>
 #include <openssl/rand.h>
 #include <openssl/bio.h>
@@ -212,7 +215,7 @@ end:
                BIO_free(bio_err);
                bio_err = NULL;
                }
-       exit(!ret);
+       EXIT(!ret);
        return(0);
        }
 
@@ -231,7 +234,7 @@ static void MS_CALLBACK dsa_cb(int p, int n, void *arg)
        if (!ok && (p == 0) && (num > 1))
                {
                BIO_printf((BIO *)arg,"error in dsatest\n");
-               exit(1);
+               EXIT(1);
                }
        }
 #endif
index a396dd8..d7e606d 100644 (file)
@@ -95,7 +95,7 @@ int main(int argc, char * argv[]) { puts("Elliptic curves are disabled."); retur
        fflush(stdout); \
        fprintf(stderr, "%s:%d: ABORT\n", __FILE__, __LINE__); \
        ERR_print_errors_fp(stderr); \
-       exit(1); \
+       EXIT(1); \
 } while (0)
 
 void prime_field_tests(void);
index 32b6a9a..8af3532 100644 (file)
@@ -70,6 +70,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+
+#include "../e_os.h"
+
 #ifdef OPENSSL_SYS_WINDOWS
 #include "../bio/bss_file.c" 
 #endif
@@ -298,7 +301,7 @@ int main(int argc, char *argv[])
        RAND_seed(rnd_seed, sizeof rnd_seed);
 
        out=BIO_new(BIO_s_file());
-       if (out == NULL) exit(1);
+       if (out == NULL) EXIT(1);
        BIO_set_fp(out,stdout,BIO_NOCLOSE);
 
        if ((ctx=BN_CTX_new()) == NULL) goto err;
@@ -330,7 +333,7 @@ err:
        CRYPTO_cleanup_all_ex_data();
        ERR_remove_state(0);
        CRYPTO_mem_leaks_fp(stderr);
-       exit(ret);
+       EXIT(ret);
        return(ret);
        }
 
index 90294ef..447a431 100644 (file)
@@ -49,6 +49,9 @@
 
 #include <stdio.h>
 #include <string.h>
+
+#include "../e_os.h"
+
 #include <openssl/evp.h>
 #include <openssl/engine.h>
 #include <openssl/conf.h>
@@ -78,7 +81,7 @@ static int convert(unsigned char *s)
        if(!s[1])
            {
            fprintf(stderr,"Odd number of hex digits!");
-           exit(4);
+           EXIT(4);
            }
        sscanf((char *)s,"%2x",&n);
        *d=(unsigned char)n;
@@ -142,7 +145,7 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn,
        {
        fprintf(stderr,"Key length doesn't match, got %d expected %d\n",kn,
                c->key_len);
-       exit(5);
+       EXIT(5);
        }
     EVP_CIPHER_CTX_init(&ctx);
     if (encdec != 0)
@@ -150,26 +153,26 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn,
        if(!EVP_EncryptInit_ex(&ctx,c,NULL,key,iv))
            {
            fprintf(stderr,"EncryptInit failed\n");
-           exit(10);
+           EXIT(10);
            }
        EVP_CIPHER_CTX_set_padding(&ctx,0);
 
        if(!EVP_EncryptUpdate(&ctx,out,&outl,plaintext,pn))
            {
            fprintf(stderr,"Encrypt failed\n");
-           exit(6);
+           EXIT(6);
            }
        if(!EVP_EncryptFinal_ex(&ctx,out+outl,&outl2))
            {
            fprintf(stderr,"EncryptFinal failed\n");
-           exit(7);
+           EXIT(7);
            }
 
        if(outl+outl2 != cn)
            {
            fprintf(stderr,"Ciphertext length mismatch got %d expected %d\n",
                    outl+outl2,cn);
-           exit(8);
+           EXIT(8);
            }
 
        if(memcmp(out,ciphertext,cn))
@@ -177,7 +180,7 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn,
            fprintf(stderr,"Ciphertext mismatch\n");
            hexdump(stderr,"Got",out,cn);
            hexdump(stderr,"Expected",ciphertext,cn);
-           exit(9);
+           EXIT(9);
            }
        }
 
@@ -186,26 +189,26 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn,
        if(!EVP_DecryptInit_ex(&ctx,c,NULL,key,iv))
            {
            fprintf(stderr,"DecryptInit failed\n");
-           exit(11);
+           EXIT(11);
            }
        EVP_CIPHER_CTX_set_padding(&ctx,0);
 
        if(!EVP_DecryptUpdate(&ctx,out,&outl,ciphertext,cn))
            {
            fprintf(stderr,"Decrypt failed\n");
-           exit(6);
+           EXIT(6);
            }
        if(!EVP_DecryptFinal_ex(&ctx,out+outl,&outl2))
            {
            fprintf(stderr,"DecryptFinal failed\n");
-           exit(7);
+           EXIT(7);
            }
 
        if(outl+outl2 != cn)
            {
            fprintf(stderr,"Plaintext length mismatch got %d expected %d\n",
                    outl+outl2,cn);
-           exit(8);
+           EXIT(8);
            }
 
        if(memcmp(out,plaintext,cn))
@@ -213,7 +216,7 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn,
            fprintf(stderr,"Plaintext mismatch\n");
            hexdump(stderr,"Got",out,cn);
            hexdump(stderr,"Expected",plaintext,cn);
-           exit(9);
+           EXIT(9);
            }
        }
 
@@ -260,24 +263,24 @@ static int test_digest(const char *digest,
     if(!EVP_DigestInit_ex(&ctx,d, NULL))
        {
        fprintf(stderr,"DigestInit failed\n");
-       exit(100);
+       EXIT(100);
        }
     if(!EVP_DigestUpdate(&ctx,plaintext,pn))
        {
        fprintf(stderr,"DigestUpdate failed\n");
-       exit(101);
+       EXIT(101);
        }
     if(!EVP_DigestFinal_ex(&ctx,md,&mdn))
        {
        fprintf(stderr,"DigestFinal failed\n");
-       exit(101);
+       EXIT(101);
        }
     EVP_MD_CTX_cleanup(&ctx);
 
     if(mdn != cn)
        {
        fprintf(stderr,"Digest length mismatch, got %d expected %d\n",mdn,cn);
-       exit(102);
+       EXIT(102);
        }
 
     if(memcmp(md,ciphertext,cn))
@@ -285,7 +288,7 @@ static int test_digest(const char *digest,
        fprintf(stderr,"Digest mismatch\n");
        hexdump(stderr,"Got",md,cn);
        hexdump(stderr,"Expected",ciphertext,cn);
-       exit(103);
+       EXIT(103);
        }
 
     printf("\n");
@@ -303,7 +306,7 @@ int main(int argc,char **argv)
     if(argc != 2)
        {
        fprintf(stderr,"%s <test file>\n",argv[0]);
-       exit(1);
+       EXIT(1);
        }
     CRYPTO_malloc_debug_init();
     CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL);
@@ -315,7 +318,7 @@ int main(int argc,char **argv)
     if(!f)
        {
        perror(szTestFile);
-       exit(2);
+       EXIT(2);
        }
 
     /* Load up the software EVP_CIPHER and EVP_MD definitions */
@@ -371,7 +374,7 @@ int main(int argc,char **argv)
           && !test_digest(cipher,plaintext,pn,ciphertext,cn))
            {
            fprintf(stderr,"Can't find %s\n",cipher);
-           exit(3);
+           EXIT(3);
            }
        }
 
index 96d3beb..8111901 100644 (file)
@@ -60,6 +60,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_HMAC
 int main(int argc, char *argv[])
 {
@@ -144,7 +146,7 @@ int main(int argc, char *argv[])
                else
                        printf("test %d ok\n",i);
                }
-       exit(err);
+       EXIT(err);
        return(0);
        }
 
index 2c16f95..98f805d 100644 (file)
@@ -60,6 +60,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_IDEA
 int main(int argc, char *argv[])
 {
@@ -167,7 +169,7 @@ int main(int argc, char *argv[])
        else
                printf("ok\n");
 
-       exit(err);
+       EXIT(err);
        return(err);
        }
 
index 7d3664f..d2f6dce 100644 (file)
@@ -61,6 +61,8 @@
 #include <string.h>
 #include <openssl/md2.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_MD2
 int main(int argc, char *argv[])
 {
@@ -122,7 +124,7 @@ int main(int argc, char *argv[])
                R++;
                P++;
                }
-       exit(err);
+       EXIT(err);
        return(0);
        }
 
index e0fdc42..21a77d9 100644 (file)
@@ -60,6 +60,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_MD4
 int main(int argc, char *argv[])
 {
@@ -118,7 +120,7 @@ int main(int argc, char *argv[])
                R++;
                P++;
                }
-       exit(err);
+       EXIT(err);
        return(0);
        }
 
index 862b896..bfd6262 100644 (file)
@@ -60,6 +60,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_MD5
 int main(int argc, char *argv[])
 {
@@ -118,7 +120,7 @@ int main(int argc, char *argv[])
                R++;
                P++;
                }
-       exit(err);
+       EXIT(err);
        return(0);
        }
 
index 6db5460..c9abe99 100644 (file)
@@ -60,6 +60,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "../e_os.h"
+
 #if defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_MDC2)
 #define OPENSSL_NO_MDC2
 #endif
@@ -138,7 +140,7 @@ int main(int argc, char *argv[])
                printf("pad2 - ok\n");
 
        EVP_MD_CTX_cleanup(&c);
-       exit(ret);
+       EXIT(ret);
        return(ret);
        }
 #endif
index b64de61..701932e 100644 (file)
@@ -60,6 +60,8 @@
 #include <stdlib.h>
 #include <openssl/rand.h>
 
+#include "../e_os.h"
+
 /* some FIPS 140-1 random number test */
 /* some simple tests */
 
@@ -209,6 +211,6 @@ int main()
        printf("test 4 done\n");
  err:
        err=((err)?1:0);
-       exit(err);
+       EXIT(err);
        return(err);
        }
index d9a2a0a..b67bafb 100644 (file)
@@ -63,6 +63,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_RC2
 int main(int argc, char *argv[])
 {
@@ -203,7 +205,7 @@ int main(int argc, char *argv[])
                printf("ok\n");
 #endif
 
-       exit(err);
+       EXIT(err);
        return(err);
        }
 
index a28d457..b9d8f20 100644 (file)
@@ -60,6 +60,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_RC4
 int main(int argc, char *argv[])
 {
@@ -195,7 +197,7 @@ int main(int argc, char *argv[])
                        }
                }
        printf("done\n");
-       exit(err);
+       EXIT(err);
        return(0);
        }
 #endif
index f1d4c22..ce3d0cc 100644 (file)
@@ -63,6 +63,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_RC5
 int main(int argc, char *argv[])
 {
@@ -318,7 +320,7 @@ int main(int argc, char *argv[])
                }
        if (err == 0) printf("cbc RC5 ok\n");
 
-       exit(err);
+       EXIT(err);
        return(err);
        }
 
index be1fb8b..d4c709e 100644 (file)
@@ -60,6 +60,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_RIPEMD
 int main(int argc, char *argv[])
 {
@@ -127,7 +129,7 @@ int main(int argc, char *argv[])
                R++;
                P++;
                }
-       exit(err);
+       EXIT(err);
        return(0);
        }
 
index 499a1cf..4f2e4ad 100644 (file)
@@ -60,6 +60,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_SHA
 int main(int argc, char *argv[])
 {
@@ -155,7 +157,7 @@ int main(int argc, char *argv[])
                }
        else
                printf("test 3 ok\n");
-       exit(err);
+       EXIT(err);
        EVP_MD_CTX_cleanup(&c);
        return(0);
        }
index 331294a..5d2b1d3 100644 (file)
@@ -60,6 +60,8 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "../e_os.h"
+
 #ifdef OPENSSL_NO_SHA
 int main(int argc, char *argv[])
 {
@@ -156,7 +158,7 @@ int main(int argc, char *argv[])
        else
                printf("test 3 ok\n");
        EVP_MD_CTX_cleanup(&c);
-       exit(err);
+       EXIT(err);
        return(0);
        }
 
index fbdd2a9..533c098 100644 (file)
@@ -564,7 +564,7 @@ bad:
                        "the test anyway (and\n-d to see what happens), "
                        "or add one of -ssl2, -ssl3, -tls1, -reuse\n"
                        "to avoid protocol mismatch.\n");
-               exit(1);
+               EXIT(1);
                }
 
        if (print_time)
index 06ccb3b..005c2f4 100644 (file)
@@ -96,10 +96,10 @@ char *argv[];
        METH_init(top);
        METH_control(tmp1,METH_CONTROL_DUMP,stdout);
        METH_control(tmp2,METH_CONTROL_DUMP,stdout);
-       exit(0);
+       EXIT(0);
 err:
        ERR_load_crypto_strings();
        ERR_print_errors_fp(stderr);
-       exit(1);
+       EXIT(1);
        return(0);
        }