From 9fa15b6ff88dc33a705fed7fc044639143dd394e Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Thu, 28 Nov 2002 18:57:30 +0000 Subject: [PATCH] Have all tests use EXIT() to exit rather than exit(), since the latter doesn't always give the expected result on some platforms. --- crypto/bf/bftest.c | 4 +++- crypto/bn/bntest.c | 14 +++++++------- crypto/bn/exptest.c | 19 ++++++++++-------- crypto/cast/casttest.c | 4 +++- crypto/dh/dhtest.c | 7 +++++-- crypto/dsa/dsatest.c | 7 +++++-- crypto/ec/ectest.c | 2 +- crypto/evp/evp_test.c | 43 ++++++++++++++++++++++------------------- crypto/hmac/hmactest.c | 4 +++- crypto/idea/ideatest.c | 4 +++- crypto/md2/md2test.c | 4 +++- crypto/md4/md4test.c | 4 +++- crypto/md5/md5test.c | 4 +++- crypto/mdc2/mdc2test.c | 4 +++- crypto/rand/randtest.c | 4 +++- crypto/rc2/rc2test.c | 4 +++- crypto/rc4/rc4test.c | 4 +++- crypto/rc5/rc5test.c | 4 +++- crypto/ripemd/rmdtest.c | 4 +++- crypto/sha/sha1test.c | 4 +++- crypto/sha/shatest.c | 4 +++- ssl/ssltest.c | 2 +- test/methtest.c | 4 ++-- 23 files changed, 100 insertions(+), 58 deletions(-) diff --git a/crypto/bf/bftest.c b/crypto/bf/bftest.c index c85bc32533..24d526b14b 100644 --- a/crypto/bf/bftest.c +++ b/crypto/bf/bftest.c @@ -63,6 +63,8 @@ #include #include +#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); } diff --git a/crypto/bn/bntest.c b/crypto/bn/bntest.c index 8158a67374..3aae9451de 100644 --- a/crypto/bn/bntest.c +++ b/crypto/bn/bntest.c @@ -141,10 +141,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); @@ -154,7 +154,7 @@ int main(int argc, char *argv[]) if (!BIO_write_filename(out,outfile)) { perror(outfile); - exit(1); + EXIT(1); } } @@ -238,14 +238,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); } @@ -488,7 +488,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); @@ -726,7 +726,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) { diff --git a/crypto/bn/exptest.c b/crypto/bn/exptest.c index 5ca570d1a8..621e6a9eee 100644 --- a/crypto/bn/exptest.c +++ b/crypto/bn/exptest.c @@ -59,6 +59,9 @@ #include #include #include + +#include "../e_os.h" + #include #include #include @@ -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); } diff --git a/crypto/cast/casttest.c b/crypto/cast/casttest.c index 099e790886..83e5a16c73 100644 --- a/crypto/cast/casttest.c +++ b/crypto/cast/casttest.c @@ -60,6 +60,8 @@ #include #include +#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 diff --git a/crypto/dh/dhtest.c b/crypto/dh/dhtest.c index 34894ced73..27237741da 100644 --- a/crypto/dh/dhtest.c +++ b/crypto/dh/dhtest.c @@ -59,6 +59,9 @@ #include #include #include + +#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); } diff --git a/crypto/dsa/dsatest.c b/crypto/dsa/dsatest.c index 12da64f9f4..4c411f2c8c 100644 --- a/crypto/dsa/dsatest.c +++ b/crypto/dsa/dsatest.c @@ -61,6 +61,9 @@ #include #include #include + +#include "../e_os.h" + #include #include #include @@ -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 diff --git a/crypto/ec/ectest.c b/crypto/ec/ectest.c index 7df28ee7ed..5d7b6b26aa 100644 --- a/crypto/ec/ectest.c +++ b/crypto/ec/ectest.c @@ -77,7 +77,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) #if 0 diff --git a/crypto/evp/evp_test.c b/crypto/evp/evp_test.c index 90294ef686..447a431a04 100644 --- a/crypto/evp/evp_test.c +++ b/crypto/evp/evp_test.c @@ -49,6 +49,9 @@ #include #include + +#include "../e_os.h" + #include #include #include @@ -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 \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); } } diff --git a/crypto/hmac/hmactest.c b/crypto/hmac/hmactest.c index 96d3beb8e6..8111901f01 100644 --- a/crypto/hmac/hmactest.c +++ b/crypto/hmac/hmactest.c @@ -60,6 +60,8 @@ #include #include +#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); } diff --git a/crypto/idea/ideatest.c b/crypto/idea/ideatest.c index 2c16f95b8a..98f805d72a 100644 --- a/crypto/idea/ideatest.c +++ b/crypto/idea/ideatest.c @@ -60,6 +60,8 @@ #include #include +#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); } diff --git a/crypto/md2/md2test.c b/crypto/md2/md2test.c index 7d3664faf5..d2f6dce97f 100644 --- a/crypto/md2/md2test.c +++ b/crypto/md2/md2test.c @@ -61,6 +61,8 @@ #include #include +#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); } diff --git a/crypto/md4/md4test.c b/crypto/md4/md4test.c index e0fdc42282..21a77d96f7 100644 --- a/crypto/md4/md4test.c +++ b/crypto/md4/md4test.c @@ -60,6 +60,8 @@ #include #include +#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); } diff --git a/crypto/md5/md5test.c b/crypto/md5/md5test.c index 862b89658a..bfd62629ed 100644 --- a/crypto/md5/md5test.c +++ b/crypto/md5/md5test.c @@ -60,6 +60,8 @@ #include #include +#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); } diff --git a/crypto/mdc2/mdc2test.c b/crypto/mdc2/mdc2test.c index 6db546025d..c9abe99d92 100644 --- a/crypto/mdc2/mdc2test.c +++ b/crypto/mdc2/mdc2test.c @@ -60,6 +60,8 @@ #include #include +#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 diff --git a/crypto/rand/randtest.c b/crypto/rand/randtest.c index b64de616db..701932e6ee 100644 --- a/crypto/rand/randtest.c +++ b/crypto/rand/randtest.c @@ -60,6 +60,8 @@ #include #include +#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); } diff --git a/crypto/rc2/rc2test.c b/crypto/rc2/rc2test.c index d9a2a0a1cb..b67bafb49f 100644 --- a/crypto/rc2/rc2test.c +++ b/crypto/rc2/rc2test.c @@ -63,6 +63,8 @@ #include #include +#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); } diff --git a/crypto/rc4/rc4test.c b/crypto/rc4/rc4test.c index a28d457c8d..b9d8f20975 100644 --- a/crypto/rc4/rc4test.c +++ b/crypto/rc4/rc4test.c @@ -60,6 +60,8 @@ #include #include +#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 diff --git a/crypto/rc5/rc5test.c b/crypto/rc5/rc5test.c index f1d4c22bbe..ce3d0cc16f 100644 --- a/crypto/rc5/rc5test.c +++ b/crypto/rc5/rc5test.c @@ -63,6 +63,8 @@ #include #include +#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); } diff --git a/crypto/ripemd/rmdtest.c b/crypto/ripemd/rmdtest.c index be1fb8b1f6..d4c709e646 100644 --- a/crypto/ripemd/rmdtest.c +++ b/crypto/ripemd/rmdtest.c @@ -60,6 +60,8 @@ #include #include +#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); } diff --git a/crypto/sha/sha1test.c b/crypto/sha/sha1test.c index 499a1cf5af..4f2e4ada2d 100644 --- a/crypto/sha/sha1test.c +++ b/crypto/sha/sha1test.c @@ -60,6 +60,8 @@ #include #include +#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); } diff --git a/crypto/sha/shatest.c b/crypto/sha/shatest.c index 331294a74f..5d2b1d3b1a 100644 --- a/crypto/sha/shatest.c +++ b/crypto/sha/shatest.c @@ -60,6 +60,8 @@ #include #include +#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); } diff --git a/ssl/ssltest.c b/ssl/ssltest.c index b18c5e2fc8..1c05638ea6 100644 --- a/ssl/ssltest.c +++ b/ssl/ssltest.c @@ -534,7 +534,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) diff --git a/test/methtest.c b/test/methtest.c index 06ccb3b310..005c2f4822 100644 --- a/test/methtest.c +++ b/test/methtest.c @@ -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); } -- 2.25.1