James Hawkins : crypt32: Fix several failing tests in win9x.
Alexandre Julliard
julliard at winehq.org
Wed Sep 3 07:43:52 CDT 2008
Module: wine
Branch: master
Commit: 05499a41b8af064c42161fe352b1805667f80a93
URL: http://source.winehq.org/git/wine.git/?a=commit;h=05499a41b8af064c42161fe352b1805667f80a93
Author: James Hawkins <jhawkins at codeweavers.com>
Date: Tue Sep 2 22:47:53 2008 -0500
crypt32: Fix several failing tests in win9x.
---
dlls/crypt32/tests/message.c | 40 +++++++++++++++++++++++++++++-----------
1 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/dlls/crypt32/tests/message.c b/dlls/crypt32/tests/message.c
index 1072185..d515d9b 100644
--- a/dlls/crypt32/tests/message.c
+++ b/dlls/crypt32/tests/message.c
@@ -59,13 +59,15 @@ static void test_msg_get_signer_count(void)
SetLastError(0xdeadbeef);
count = CryptGetMessageSignerCount(PKCS_7_ASN_ENCODING, NULL, 0);
ok(count == -1, "Expected -1, got %d\n", count);
- ok(GetLastError() == CRYPT_E_ASN1_EOD,
+ ok(GetLastError() == CRYPT_E_ASN1_EOD ||
+ GetLastError() == OSS_BAD_ARG, /* win9x */
"Expected CRYPT_E_ASN1_EOD, got %08x\n", GetLastError());
SetLastError(0xdeadbeef);
count = CryptGetMessageSignerCount(PKCS_7_ASN_ENCODING,
dataEmptyBareContent, sizeof(dataEmptyBareContent));
ok(count == -1, "Expected -1, got %d\n", count);
- ok(GetLastError() == CRYPT_E_ASN1_BADTAG,
+ ok(GetLastError() == CRYPT_E_ASN1_BADTAG ||
+ GetLastError() == OSS_PDU_MISMATCH, /* win9x */
"Expected CRYPT_E_ASN1_BADTAG, got %08x\n", GetLastError());
SetLastError(0xdeadbeef);
count = CryptGetMessageSignerCount(PKCS_7_ASN_ENCODING,
@@ -77,11 +79,14 @@ static void test_msg_get_signer_count(void)
count = CryptGetMessageSignerCount(PKCS_7_ASN_ENCODING,
signedEmptyBareContent, sizeof(signedEmptyBareContent));
ok(count == -1, "Expected -1, got %d\n", count);
- ok(GetLastError() == CRYPT_E_ASN1_BADTAG,
+ ok(GetLastError() == CRYPT_E_ASN1_BADTAG ||
+ GetLastError() == OSS_DATA_ERROR, /* win9x */
"Expected CRYPT_E_ASN1_BADTAG, got %08x\n", GetLastError());
count = CryptGetMessageSignerCount(PKCS_7_ASN_ENCODING,
signedEmptyContent, sizeof(signedEmptyContent));
- ok(count == 1, "Expected 1, got %d\n", count);
+ ok(count == 1 ||
+ broken(count == -1), /* win9x */
+ "Expected 1, got %d\n", count);
}
static BYTE detachedHashContent[] = {
@@ -121,7 +126,9 @@ static void test_verify_detached_message_hash(void)
SetLastError(0xdeadbeef);
ret = CryptVerifyDetachedMessageHash(¶, NULL, 0, 0, NULL, NULL, NULL,
NULL);
- ok(!ret && GetLastError() == CRYPT_E_ASN1_EOD,
+ ok(!ret &&
+ (GetLastError() == CRYPT_E_ASN1_EOD ||
+ GetLastError() == OSS_BAD_ARG), /* win9x */
"expected CRYPT_E_ASN1_EOD, got %08x\n", GetLastError());
para.dwMsgEncodingType = X509_ASN_ENCODING;
SetLastError(0xdeadbeef);
@@ -133,7 +140,9 @@ static void test_verify_detached_message_hash(void)
SetLastError(0xdeadbeef);
ret = CryptVerifyDetachedMessageHash(¶, NULL, 0, 0, NULL, NULL, NULL,
NULL);
- ok(!ret && GetLastError() == CRYPT_E_ASN1_EOD,
+ ok(!ret &&
+ (GetLastError() == CRYPT_E_ASN1_EOD ||
+ GetLastError() == OSS_BAD_ARG), /* win9x */
"expected CRYPT_E_ASN1_EOD, got %08x\n", GetLastError());
/* Curiously, passing no data to hash succeeds.. */
ret = CryptVerifyDetachedMessageHash(¶, detachedHashContent,
@@ -282,7 +291,9 @@ static void test_verify_message_signature(void)
para.cbSize = sizeof(para);
SetLastError(0xdeadbeef);
ret = CryptVerifyMessageSignature(¶, 0, NULL, 0, NULL, 0, NULL);
- ok(!ret && GetLastError() == CRYPT_E_ASN1_EOD,
+ ok(!ret &&
+ (GetLastError() == CRYPT_E_ASN1_EOD ||
+ GetLastError() == OSS_BAD_ARG), /* win9x */
"Expected CRYPT_E_ASN1_EOD, got %08x\n", GetLastError());
/* Check whether cert is set on error */
cert = (PCCERT_CONTEXT)0xdeadbeef;
@@ -296,7 +307,8 @@ static void test_verify_message_signature(void)
SetLastError(0xdeadbeef);
ret = CryptVerifyMessageSignature(¶, 0, dataEmptyBareContent,
sizeof(dataEmptyBareContent), NULL, 0, NULL);
- ok(!ret && GetLastError() == CRYPT_E_ASN1_BADTAG,
+ ok(GetLastError() == CRYPT_E_ASN1_BADTAG ||
+ GetLastError() == OSS_PDU_MISMATCH, /* win9x */
"Expected CRYPT_E_ASN1_BADTAG, got %08x\n", GetLastError());
SetLastError(0xdeadbeef);
ret = CryptVerifyMessageSignature(¶, 0, dataEmptyContent,
@@ -306,17 +318,23 @@ static void test_verify_message_signature(void)
SetLastError(0xdeadbeef);
ret = CryptVerifyMessageSignature(¶, 0, signedEmptyBareContent,
sizeof(signedEmptyBareContent), NULL, 0, NULL);
- ok(!ret && GetLastError() == CRYPT_E_ASN1_BADTAG,
+ ok(!ret &&
+ (GetLastError() == CRYPT_E_ASN1_BADTAG ||
+ GetLastError() == OSS_DATA_ERROR), /* win9x */
"Expected CRYPT_E_ASN1_BADTAG, got %08x\n", GetLastError());
SetLastError(0xdeadbeef);
ret = CryptVerifyMessageSignature(¶, 0, signedEmptyContent,
sizeof(signedEmptyContent), NULL, 0, NULL);
- ok(!ret && GetLastError() == CRYPT_E_NOT_FOUND,
+ ok(!ret &&
+ (GetLastError() == CRYPT_E_NOT_FOUND ||
+ GetLastError() == OSS_DATA_ERROR), /* win9x */
"Expected CRYPT_E_NOT_FOUND, got %08x\n", GetLastError());
SetLastError(0xdeadbeef);
ret = CryptVerifyMessageSignature(¶, 0, signedContent,
sizeof(signedContent), NULL, 0, NULL);
- ok(!ret && GetLastError() == CRYPT_E_NOT_FOUND,
+ ok(!ret &&
+ (GetLastError() == CRYPT_E_NOT_FOUND ||
+ GetLastError() == OSS_DATA_ERROR), /* win9x */
"Expected CRYPT_E_NOT_FOUND, got %08x\n", GetLastError());
/* FIXME: Windows fails with CRYPT_E_NOT_FOUND for these messages, but
* their signer certs have invalid public keys that fail to decode. In
More information about the wine-cvs
mailing list