提交 55f78baf 编写于 作者: R Richard Levitte

Have all tests use EXIT() to exit rather than exit(), since the latter doesn't

always give the expected result on some platforms.
上级 6c359479
......@@ -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);
}
......
......@@ -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)
{
......
......@@ -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);
}
......@@ -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
......@@ -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);
}
......
......@@ -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
......@@ -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);
......
......@@ -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);
}
......
......@@ -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);
}
}
......
......@@ -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);
}
......
......@@ -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);
}
......
......@@ -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);
}
......
......@@ -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);
}
......
......@@ -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);
}
......
......@@ -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
......@@ -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);
}
......@@ -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);
}
......
......@@ -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
......@@ -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);
}
......
......@@ -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);
}
......
......@@ -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);
}
......
......@@ -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);
}
......
......@@ -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)
......
......@@ -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);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册