summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2016-04-29 10:56:20 +0100
committerMatt Caswell <matt@openssl.org>2016-04-29 15:04:15 +0100
commit97a982e2eee2e04e8e41ae12665af417315a0f23 (patch)
treeb51cc91f14d545cdc80ab64ad202457a5f181e44 /test
parent4cd5c3f4eef81c791a5041dc17ec27aa08540e42 (diff)
downloadopenssl-new-97a982e2eee2e04e8e41ae12665af417315a0f23.tar.gz
Fix the tests to work with EBCDIC
Most of the tests already pass with EBCIDC but a few were trying to write into read only memory. Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'test')
-rw-r--r--test/bftest.c2
-rw-r--r--test/mdc2test.c2
-rw-r--r--test/rmdtest.c38
-rw-r--r--test/sha1test.c32
4 files changed, 34 insertions, 40 deletions
diff --git a/test/bftest.c b/test/bftest.c
index b5e6c5144d..eb6ab3b158 100644
--- a/test/bftest.c
+++ b/test/bftest.c
@@ -80,7 +80,7 @@ int main(int argc, char *argv[])
# include <openssl/ebcdic.h>
# endif
-static char *bf_key[2] = {
+static char bf_key[2][30] = {
"abcdefghijklmnopqrstuvwxyz",
"Who is John Galt?"
};
diff --git a/test/mdc2test.c b/test/mdc2test.c
index 2177a0ef6d..06456a87a1 100644
--- a/test/mdc2test.c
+++ b/test/mdc2test.c
@@ -95,7 +95,7 @@ int main(int argc, char *argv[])
unsigned char md[MDC2_DIGEST_LENGTH];
int i;
EVP_MD_CTX *c;
- static char *text = "Now is the time for all ";
+ static char text[30] = "Now is the time for all ";
# ifdef CHARSET_EBCDIC
ebcdic2ascii(text, text, strlen(text));
diff --git a/test/rmdtest.c b/test/rmdtest.c
index 867a20eaae..c7db9e7294 100644
--- a/test/rmdtest.c
+++ b/test/rmdtest.c
@@ -75,16 +75,15 @@ int main(int argc, char *argv[])
# include <openssl/ebcdic.h>
# endif
-static char *test[] = {
- "",
- "a",
- "abc",
- "message digest",
- "abcdefghijklmnopqrstuvwxyz",
- "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
- "12345678901234567890123456789012345678901234567890123456789012345678901234567890",
- NULL,
+static char test[][100] = {
+ { "" },
+ { "a" },
+ { "abc" },
+ { "message digest" },
+ { "abcdefghijklmnopqrstuvwxyz" },
+ { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" },
+ { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" },
+ { "12345678901234567890123456789012345678901234567890123456789012345678901234567890" }
};
static char *ret[] = {
@@ -101,30 +100,29 @@ static char *ret[] = {
static char *pt(unsigned char *md);
int main(int argc, char *argv[])
{
- int i, err = 0;
- char **P, **R;
+ unsigned int i;
+ int err = 0;
+ char **R;
char *p;
unsigned char md[RIPEMD160_DIGEST_LENGTH];
- P = test;
R = ret;
- i = 1;
- while (*P != NULL) {
+ i = 0;
+ while (i < OSSL_NELEM(test)) {
# ifdef CHARSET_EBCDIC
- ebcdic2ascii((char *)*P, (char *)*P, strlen((char *)*P));
+ ebcdic2ascii(test[i], test[i], strlen(test[i]));
# endif
- EVP_Digest(&(P[0][0]), strlen((char *)*P), md, NULL, EVP_ripemd160(),
+ EVP_Digest(test[i], strlen(test[i]), md, NULL, EVP_ripemd160(),
NULL);
p = pt(md);
if (strcmp(p, (char *)*R) != 0) {
- printf("error calculating RIPEMD160 on '%s'\n", *P);
+ printf("error calculating RIPEMD160 on '%s'\n", test[i]);
printf("got %s instead of %s\n", p, *R);
err++;
} else
- printf("test %d ok\n", i);
+ printf("test %d ok\n", i + 1);
i++;
R++;
- P++;
}
EXIT(err);
}
diff --git a/test/sha1test.c b/test/sha1test.c
index ada37d11d6..d2e248c9b7 100644
--- a/test/sha1test.c
+++ b/test/sha1test.c
@@ -67,10 +67,9 @@
# include <openssl/ebcdic.h>
#endif
-static char *test[] = {
- "abc",
- "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
- NULL,
+static char test[][80] = {
+ { "abc" },
+ { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" }
};
static char *ret[] = {
@@ -83,34 +82,31 @@ static char *bigret = "34aa973cd4c4daa4f61eeb2bdbad27316534016f";
static char *pt(unsigned char *md);
int main(int argc, char *argv[])
{
- int i, err = 0;
- char **P, **R;
+ unsigned int i;
+ int err = 0;
+ char **R;
static unsigned char buf[1000];
char *p, *r;
EVP_MD_CTX *c;
unsigned char md[SHA_DIGEST_LENGTH];
-#ifdef CHARSET_EBCDIC
- ebcdic2ascii(test[0], test[0], strlen(test[0]));
- ebcdic2ascii(test[1], test[1], strlen(test[1]));
-#endif
-
c = EVP_MD_CTX_new();
- P = test;
R = ret;
- i = 1;
- while (*P != NULL) {
- EVP_Digest(*P, strlen((char *)*P), md, NULL, EVP_sha1(), NULL);
+ i = 0;
+ while (i < OSSL_NELEM(test)) {
+# ifdef CHARSET_EBCDIC
+ ebcdic2ascii(test[i], test[i], strlen(test[i]));
+# endif
+ EVP_Digest(test[i], strlen(test[i]), md, NULL, EVP_sha1(), NULL);
p = pt(md);
if (strcmp(p, (char *)*R) != 0) {
- printf("error calculating SHA1 on '%s'\n", *P);
+ printf("error calculating SHA1 on '%s'\n", test[i]);
printf("got %s instead of %s\n", p, *R);
err++;
} else
- printf("test %d ok\n", i);
+ printf("test %d ok\n", i + 1);
i++;
R++;
- P++;
}
memset(buf, 'a', 1000);