Paul Vriens : wintrust/tests: Make the catalog properties test a bit more flexible.
Alexandre Julliard
julliard at winehq.org
Mon Jan 19 08:59:00 CST 2009
Module: wine
Branch: master
Commit: db8cce3fcb6b6ecca54cb6e7d9c8c964a3a88b26
URL: http://source.winehq.org/git/wine.git/?a=commit;h=db8cce3fcb6b6ecca54cb6e7d9c8c964a3a88b26
Author: Paul Vriens <Paul.Vriens.Wine at gmail.com>
Date: Mon Jan 19 09:53:28 2009 +0100
wintrust/tests: Make the catalog properties test a bit more flexible.
---
dlls/wintrust/tests/crypt.c | 41 +++++++++++++++++++++--------------------
1 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/dlls/wintrust/tests/crypt.c b/dlls/wintrust/tests/crypt.c
index 1f7656a..687f0bd 100644
--- a/dlls/wintrust/tests/crypt.c
+++ b/dlls/wintrust/tests/crypt.c
@@ -551,7 +551,7 @@ static void test_CryptCATAdminAddRemoveCatalog(void)
DeleteFileA(tmpfile);
}
-static void test_catalog_properties(void)
+static void test_catalog_properties(int members, int attributes)
{
static const WCHAR hashmeW[] = {'h','a','s','h','m','e',0};
static const WCHAR attr1W[] = {'a','t','t','r','1',0};
@@ -566,7 +566,7 @@ static void test_catalog_properties(void)
DWORD written;
HANDLE file;
BOOL ret;
- int attrcount = 0;
+ int attrcount = 0, membercount = 0;
if (!GetTempFileNameA(CURR_DIR, "cat", 0, catalog)) return;
file = CreateFileA(catalog, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
@@ -585,16 +585,23 @@ static void test_catalog_properties(void)
m = pCryptCATEnumerateMember(NULL, NULL);
ok(m == NULL, "CryptCATEnumerateMember succeeded\n");
- m = pCryptCATEnumerateMember(hcat, NULL);
- ok(m != NULL, "CryptCATEnumerateMember failed %u\n", GetLastError());
-
- ok(m->cbStruct == sizeof(CRYPTCATMEMBER), "unexpected size %u\n", m->cbStruct);
- todo_wine ok(!lstrcmpW(m->pwszReferenceTag, hashmeW), "unexpected tag\n");
- ok(!memcmp(&m->gSubjectType, &subject, sizeof(subject)), "guid differs\n");
- ok(!m->fdwMemberFlags, "got %x expected 0\n", m->fdwMemberFlags);
- ok(m->dwCertVersion == 0x200, "got %x expected 0x200\n", m->dwCertVersion);
- ok(!m->dwReserved, "got %x expected 0\n", m->dwReserved);
- ok(m->hReserved == NULL, "got %p expected NULL\n", m->hReserved);
+ m = NULL;
+ while ((m = pCryptCATEnumerateMember(hcat, m)))
+ {
+ ok(m->cbStruct == sizeof(CRYPTCATMEMBER), "unexpected size %u\n", m->cbStruct);
+ todo_wine ok(!lstrcmpW(m->pwszReferenceTag, hashmeW), "unexpected tag\n");
+ ok(!memcmp(&m->gSubjectType, &subject, sizeof(subject)), "guid differs\n");
+ ok(!m->fdwMemberFlags, "got %x expected 0\n", m->fdwMemberFlags);
+ ok(m->dwCertVersion == 0x200, "got %x expected 0x200\n", m->dwCertVersion);
+ ok(!m->dwReserved, "got %x expected 0\n", m->dwReserved);
+ ok(m->hReserved == NULL, "got %p expected NULL\n", m->hReserved);
+
+ attr = pCryptCATEnumerateAttr(hcat, m, NULL);
+ ok(attr == NULL, "CryptCATEnumerateAttr succeeded\n");
+
+ membercount++;
+ }
+ ok(membercount == members, "Expected %d member, got %d\n", members, membercount);
attr = pCryptCATEnumerateAttr(NULL, NULL, NULL);
ok(attr == NULL, "CryptCATEnumerateAttr succeeded\n");
@@ -602,12 +609,6 @@ static void test_catalog_properties(void)
attr = pCryptCATEnumerateAttr(hcat, NULL, NULL);
ok(attr == NULL, "CryptCATEnumerateAttr succeeded\n");
- attr = pCryptCATEnumerateAttr(hcat, m, NULL);
- ok(attr == NULL, "CryptCATEnumerateAttr succeeded\n");
-
- m = pCryptCATEnumerateMember(hcat, m);
- ok(m == NULL, "CryptCATEnumerateMember succeeded\n");
-
attr = NULL;
while ((attr = pCryptCATEnumerateCatAttr(hcat, attr)))
{
@@ -618,7 +619,7 @@ static void test_catalog_properties(void)
attrcount++;
}
todo_wine
- ok(attrcount == 2, "Expected 2 catalog attributes, got %d\n", attrcount);
+ ok(attrcount == attributes, "Expected %d catalog attributes, got %d\n", attributes, attrcount);
ret = pCryptCATClose(hcat);
ok(ret, "CryptCATClose failed\n");
@@ -656,5 +657,5 @@ START_TEST(crypt)
/* Parameter checking only */
test_CryptCATCDF_params();
test_CryptCATAdminAddRemoveCatalog();
- test_catalog_properties();
+ test_catalog_properties(1, 2);
}
More information about the wine-cvs
mailing list