[crypt32/tests] Some tests for CryptSIPLoad
Paul Vriens
Paul.Vriens at xs4all.nl
Wed Sep 13 12:17:36 CDT 2006
Hi,
now that the wintrust registration part is done (although not entirely) I'm going to
create some crypt32 and wintrust tests to get some grips on what's going on.
Changelog
Some tests for CryptSIPLoad
Cheers,
Paul.
---
dlls/crypt32/tests/main.c | 76 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 76 insertions(+), 0 deletions(-)
diff --git a/dlls/crypt32/tests/main.c b/dlls/crypt32/tests/main.c
index 76ffab7..1c89f72 100644
--- a/dlls/crypt32/tests/main.c
+++ b/dlls/crypt32/tests/main.c
@@ -420,6 +420,81 @@ static void test_AddRemoveProvider(void)
GetLastError());
}
+static void test_SIPLoad(void)
+{
+ BOOL ret;
+ GUID subject;
+ static GUID dummySubject = { 0xdeadbeef, 0xdead, 0xbeef, { 0xde,0xad,0xbe,0xef,0xde,0xad,0xbe,0xef }};
+ static GUID unknown = { 0xC689AABA, 0x8E78, 0x11D0, { 0x8C,0x47,0x00,0xC0,0x4F,0xC2,0x95,0xEE }};
+ SIP_DISPATCH_INFO sdi;
+
+ /* All NULL */
+ SetLastError(0xdeadbeef);
+ ret = CryptSIPLoad(NULL, 0, NULL);
+ ok ( !ret, "Expected CryptSIPLoad to fail\n");
+ todo_wine
+ ok ( GetLastError() == ERROR_INVALID_PARAMETER,
+ "Expected ERROR_INVALID_PARAMETER, got 0x%08lx\n", GetLastError());
+
+ /* Only pSipDispatch NULL */
+ SetLastError(0xdeadbeef);
+ ret = CryptSIPLoad(&subject, 0, NULL);
+ ok ( !ret, "Expected CryptSIPLoad to fail\n");
+ todo_wine
+ ok ( GetLastError() == ERROR_INVALID_PARAMETER,
+ "Expected ERROR_INVALID_PARAMETER, got 0x%08lx\n", GetLastError());
+
+ /* No NULLs, but nonexistent pgSubject */
+ SetLastError(0xdeadbeef);
+ memset(&sdi, 0, sizeof(SIP_DISPATCH_INFO));
+ sdi.cbSize = sizeof(SIP_DISPATCH_INFO);
+ ret = CryptSIPLoad(&dummySubject, 0, &sdi);
+ ok ( !ret, "Expected CryptSIPLoad to fail\n");
+ todo_wine
+ ok ( GetLastError() == TRUST_E_SUBJECT_FORM_UNKNOWN,
+ "Expected TRUST_E_SUBJECT_FORM_UNKNOWN, got 0x%08lx\n", GetLastError());
+
+ /* cbSize not initialized */
+ SetLastError(0xdeadbeef);
+ memset(&sdi, 0, sizeof(SIP_DISPATCH_INFO));
+ ret = CryptSIPLoad(&dummySubject, 0, &sdi);
+ ok ( !ret, "Expected CryptSIPLoad to fail\n");
+ todo_wine
+ ok ( GetLastError() == TRUST_E_SUBJECT_FORM_UNKNOWN,
+ "Expected TRUST_E_SUBJECT_FORM_UNKNOWN, got 0x%08lx\n", GetLastError());
+
+ /* cbSize not initialized, but valid subject (named unknown but registered by wintrust) */
+ SetLastError(0xdeadbeef);
+ memset(&sdi, 0, sizeof(SIP_DISPATCH_INFO));
+ ret = CryptSIPLoad(&unknown, 0, &sdi);
+ todo_wine
+ {
+ ok ( ret, "Expected CryptSIPLoad to succeed\n");
+ ok ( GetLastError() == ERROR_PROC_NOT_FOUND,
+ "Expected ERROR_PROC_NOT_FOUND, got 0x%08lx\n", GetLastError());
+ }
+
+ /* All OK */
+ SetLastError(0xdeadbeef);
+ memset(&sdi, 0, sizeof(SIP_DISPATCH_INFO));
+ sdi.cbSize = sizeof(SIP_DISPATCH_INFO);
+ ret = CryptSIPLoad(&unknown, 0, &sdi);
+ todo_wine
+ ok ( ret, "Expected CryptSIPLoad to succeed\n");
+ ok ( GetLastError() == 0xdeadbeef,
+ "Expected 0xdeadbeef, got 0x%08lx\n", GetLastError());
+
+ /* Reserved parameter not 0 */
+ SetLastError(0xdeadbeef);
+ memset(&sdi, 0, sizeof(SIP_DISPATCH_INFO));
+ sdi.cbSize = sizeof(SIP_DISPATCH_INFO);
+ ret = CryptSIPLoad(&unknown, 1, &sdi);
+ ok ( !ret, "Expected CryptSIPLoad to fail\n");
+ todo_wine
+ ok ( GetLastError() == ERROR_INVALID_PARAMETER,
+ "Expected ERROR_INVALID_PARAMETER, got 0x%08lx\n", GetLastError());
+}
+
START_TEST(main)
{
hCrypt = LoadLibraryA("crypt32.dll");
@@ -432,4 +507,5 @@ START_TEST(main)
test_readTrustedPublisherDWORD();
test_getDefaultCryptProv();
test_AddRemoveProvider();
+ test_SIPLoad();
}
--
1.4.2
More information about the wine-patches
mailing list