Commit 1137d630 authored by Juan Lang's avatar Juan Lang Committed by Alexandre Julliard

crypt32: Fix test failures on some Windows 98 systems.

parent 44ab73e2
...@@ -135,21 +135,21 @@ static void testCreateCTL(void) ...@@ -135,21 +135,21 @@ static void testCreateCTL(void)
*/ */
SetLastError(0xdeadbeef); SetLastError(0xdeadbeef);
ctl = CertCreateCTLContext(X509_ASN_ENCODING, signedCTL, sizeof(signedCTL)); ctl = CertCreateCTLContext(X509_ASN_ENCODING, signedCTL, sizeof(signedCTL));
ok((!ctl && ok(!ctl &&
(GetLastError() == ERROR_INVALID_DATA || (GetLastError() == ERROR_INVALID_DATA ||
GetLastError() == CRYPT_E_UNEXPECTED_MSG_TYPE /* win9x */)) || GetLastError() == CRYPT_E_UNEXPECTED_MSG_TYPE /* win9x */ ||
broken(ctl != NULL /* some win98 */), GetLastError() == ERROR_SUCCESS /* some win98 */),
"expected ERROR_INVALID_DATA, got %d (0x%08x)\n", GetLastError(), "expected ERROR_INVALID_DATA, CRYPT_E_UNEXPECTED_MSG_TYPE, or ERROR_SUCCESS, got %d (0x%08x)\n", GetLastError(),
GetLastError()); GetLastError());
SetLastError(0xdeadbeef); SetLastError(0xdeadbeef);
ctl = CertCreateCTLContext(X509_ASN_ENCODING, ctlWithOneEntry, ctl = CertCreateCTLContext(X509_ASN_ENCODING, ctlWithOneEntry,
sizeof(ctlWithOneEntry)); sizeof(ctlWithOneEntry));
ok((!ctl && ok(!ctl &&
(GetLastError() == ERROR_INVALID_DATA || (GetLastError() == ERROR_INVALID_DATA ||
GetLastError() == CRYPT_E_UNEXPECTED_MSG_TYPE /* win9x */ || GetLastError() == CRYPT_E_UNEXPECTED_MSG_TYPE /* win9x */ ||
GetLastError() == OSS_DATA_ERROR /* some win98 */)) || GetLastError() == OSS_DATA_ERROR /* some win98 */ ||
broken(ctl != NULL /* some win98 */), GetLastError() == ERROR_SUCCESS /* some win98 */),
"expected ERROR_INVALID_DATA, got %d (0x%08x)\n", GetLastError(), "expected ERROR_INVALID_DATA, CRYPT_E_UNEXPECTED_MSG_TYPE, OSS_DATA_ERROR, or ERROR_SUCCESS, got %d (0x%08x)\n", GetLastError(),
GetLastError()); GetLastError());
SetLastError(0xdeadbeef); SetLastError(0xdeadbeef);
ctl = CertCreateCTLContext(X509_ASN_ENCODING, ctl = CertCreateCTLContext(X509_ASN_ENCODING,
...@@ -373,8 +373,10 @@ static void testAddCTLToStore(void) ...@@ -373,8 +373,10 @@ static void testAddCTLToStore(void)
} }
else else
{ {
ok(!ret && GetLastError() == CRYPT_E_EXISTS, ok(!ret && (GetLastError() == CRYPT_E_EXISTS ||
"expected CRYPT_E_EXISTS, got %d %08x\n", ret, GetLastError()); GetLastError() == OSS_DATA_ERROR),
"expected CRYPT_E_EXISTS or OSS_DATA_ERROR, got %d %08x\n", ret,
GetLastError());
} }
CertCloseStore(store, 0); CertCloseStore(store, 0);
...@@ -399,7 +401,8 @@ static void testAddCTLToStore(void) ...@@ -399,7 +401,8 @@ static void testAddCTLToStore(void)
if (ctl) if (ctl)
numCTLs++; numCTLs++;
} while (ctl); } while (ctl);
ok(numCTLs == 2, "expected 2 CTLs, got %d\n", numCTLs); ok(numCTLs == 2 || broken(numCTLs == 1 /* some Win98 */),
"expected 2 CTLs, got %d\n", numCTLs);
CertCloseStore(store, 0); CertCloseStore(store, 0);
store = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0, store = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
...@@ -410,6 +413,11 @@ static void testAddCTLToStore(void) ...@@ -410,6 +413,11 @@ static void testAddCTLToStore(void)
ret = CertAddEncodedCTLToStore(store, X509_ASN_ENCODING, ret = CertAddEncodedCTLToStore(store, X509_ASN_ENCODING,
signedCTLWithListID1, sizeof(signedCTLWithListID1), CERT_STORE_ADD_NEW, signedCTLWithListID1, sizeof(signedCTLWithListID1), CERT_STORE_ADD_NEW,
NULL); NULL);
if (!ret)
{
skip("adding a CTL with an empty usage not supported\n");
return;
}
ok(ret, "CertAddEncodedCTLToStore failed: %08x\n", GetLastError()); ok(ret, "CertAddEncodedCTLToStore failed: %08x\n", GetLastError());
ret = CertAddEncodedCTLToStore(store, X509_ASN_ENCODING, ret = CertAddEncodedCTLToStore(store, X509_ASN_ENCODING,
signedCTLWithListID2, sizeof(signedCTLWithListID2), CERT_STORE_ADD_NEW, signedCTLWithListID2, sizeof(signedCTLWithListID2), CERT_STORE_ADD_NEW,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment