Juan Lang : rsaenh: Fix some test failures on Win9x/NT4.

Alexandre Julliard julliard at winehq.org
Mon Mar 15 12:19:38 CDT 2010


Module: wine
Branch: master
Commit: 5ebe73ef61b337ad20f16a3823eaa4001fac29d2
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5ebe73ef61b337ad20f16a3823eaa4001fac29d2

Author: Juan Lang <juan.lang at gmail.com>
Date:   Mon Mar  8 11:21:51 2010 -0800

rsaenh: Fix some test failures on Win9x/NT4.

---

 dlls/rsaenh/tests/rsaenh.c |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/dlls/rsaenh/tests/rsaenh.c b/dlls/rsaenh/tests/rsaenh.c
index 94da116..743a300 100644
--- a/dlls/rsaenh/tests/rsaenh.c
+++ b/dlls/rsaenh/tests/rsaenh.c
@@ -128,16 +128,28 @@ static int init_base_environment(DWORD dwKeyFlags)
     hProv = (HCRYPTPROV)INVALID_HANDLE_VALUE;
 
     result = CryptAcquireContext(&hProv, szContainer, szProvider, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT);
-    ok(!result && GetLastError()==NTE_BAD_FLAGS, "%d, %08x\n", result, GetLastError());
+    ok(!result && (GetLastError()==NTE_BAD_FLAGS ||
+       broken(GetLastError() == NTE_KEYSET_NOT_DEF /* Win9x/NT4 */)),
+       "%d, %08x\n", result, GetLastError());
     
     if (!CryptAcquireContext(&hProv, szContainer, szProvider, PROV_RSA_FULL, 0))
     {
-        ok(GetLastError()==NTE_BAD_KEYSET, "%08x\n", GetLastError());
-        if (GetLastError()!=NTE_BAD_KEYSET) return 0;
+        ok(GetLastError()==NTE_BAD_KEYSET ||
+           broken(GetLastError() == NTE_KEYSET_NOT_DEF /* Win9x/NT4 */),
+           "%08x\n", GetLastError());
+        if (GetLastError()!=NTE_BAD_KEYSET)
+        {
+            win_skip("RSA full provider not available\n");
+            return 0;
+        }
         result = CryptAcquireContext(&hProv, szContainer, szProvider, PROV_RSA_FULL, 
                                      CRYPT_NEWKEYSET);
         ok(result, "%08x\n", GetLastError());
-        if (!result) return 0;
+        if (!result)
+        {
+            win_skip("Couldn't create crypto provider\n");
+            return 0;
+        }
         result = CryptGenKey(hProv, AT_KEYEXCHANGE, dwKeyFlags, &hKey);
         ok(result, "%08x\n", GetLastError());
         if (result) CryptDestroyKey(hKey);




More information about the wine-cvs mailing list