Owen Rudge : wsdapi/tests: Add tests for Get/SetRetransmitParams.

Alexandre Julliard julliard at winehq.org
Mon Jun 26 15:17:52 CDT 2017


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

Author: Owen Rudge <orudge at codeweavers.com>
Date:   Tue Jun 20 22:26:18 2017 +0100

wsdapi/tests: Add tests for Get/SetRetransmitParams.

Signed-off-by: Owen Rudge <orudge at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wsdapi/tests/msgparams.c | 74 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/dlls/wsdapi/tests/msgparams.c b/dlls/wsdapi/tests/msgparams.c
index ba0590f..246cfd6 100644
--- a/dlls/wsdapi/tests/msgparams.c
+++ b/dlls/wsdapi/tests/msgparams.c
@@ -182,6 +182,79 @@ static void RemoteAddress_tests(void)
     ok(ret == 0, "WSACleanup failed: %d\n", ret);
 }
 
+static void RetransmitParams_tests(void)
+{
+    WSDUdpRetransmitParams origParams, returnedParams;
+    IWSDUdpMessageParameters *udpMessageParams = NULL;
+    HRESULT rc;
+    int ret;
+
+    ZeroMemory(&origParams, sizeof(WSDUdpRetransmitParams));
+    ZeroMemory(&returnedParams, sizeof(WSDUdpRetransmitParams));
+
+    rc = WSDCreateUdpMessageParameters(&udpMessageParams);
+    ok(rc == S_OK, "WSDCreateUdpMessageParameters(NULL, &udpMessageParams) failed: %08x\n", rc);
+    ok(udpMessageParams != NULL, "WSDCreateUdpMessageParameters(NULL, &udpMessageParams) failed: udpMessageParams == NULL\n");
+
+    rc = IWSDUdpMessageParameters_GetRetransmitParams(udpMessageParams, NULL);
+    todo_wine ok(rc == E_POINTER, "GetRetransmitParams returned unexpected result: %08x\n", rc);
+
+    /* Check if the default values are returned */
+    rc = IWSDUdpMessageParameters_GetRetransmitParams(udpMessageParams, &returnedParams);
+    todo_wine ok(rc == S_OK, "GetRetransmitParams failed: %08x\n", rc);
+
+    ok(returnedParams.ulSendDelay == 0, "ulSendDelay = %d\n", returnedParams.ulSendDelay);
+    todo_wine ok(returnedParams.ulRepeat == 1, "ulRepeat = %d\n", returnedParams.ulRepeat);
+    todo_wine ok(returnedParams.ulRepeatMinDelay == 50, "ulRepeatMinDelay = %d\n", returnedParams.ulRepeatMinDelay);
+    todo_wine ok(returnedParams.ulRepeatMaxDelay == 250, "ulRepeatMaxDelay = %d\n", returnedParams.ulRepeatMaxDelay);
+    todo_wine ok(returnedParams.ulRepeatUpperDelay == 450, "ulRepeatUpperDelay = %d\n", returnedParams.ulRepeatUpperDelay);
+
+    /* Now try setting some custom parameters */
+    origParams.ulSendDelay = 100;
+    origParams.ulRepeat = 7;
+    origParams.ulRepeatMinDelay = 125;
+    origParams.ulRepeatMaxDelay = 175;
+    origParams.ulRepeatUpperDelay = 500;
+
+    rc = IWSDUdpMessageParameters_SetRetransmitParams(udpMessageParams, &origParams);
+    todo_wine ok(rc == S_OK, "SetRetransmitParams failed: %08x\n", rc);
+
+    ZeroMemory(&returnedParams, sizeof(WSDUdpRetransmitParams));
+
+    rc = IWSDUdpMessageParameters_GetRetransmitParams(udpMessageParams, &returnedParams);
+    todo_wine ok(rc == S_OK, "GetRetransmitParams failed: %08x\n", rc);
+
+    todo_wine ok(origParams.ulSendDelay == returnedParams.ulSendDelay, "ulSendDelay = %d\n", returnedParams.ulSendDelay);
+    todo_wine ok(origParams.ulRepeat == returnedParams.ulRepeat, "ulRepeat = %d\n", returnedParams.ulRepeat);
+    todo_wine ok(origParams.ulRepeatMinDelay == returnedParams.ulRepeatMinDelay, "ulRepeatMinDelay = %d\n", returnedParams.ulRepeatMinDelay);
+    todo_wine ok(origParams.ulRepeatMaxDelay == returnedParams.ulRepeatMaxDelay, "ulRepeatMaxDelay = %d\n", returnedParams.ulRepeatMaxDelay);
+    todo_wine ok(origParams.ulRepeatUpperDelay == returnedParams.ulRepeatUpperDelay, "ulRepeatUpperDelay = %d\n", returnedParams.ulRepeatUpperDelay);
+
+    /* Now attempt to set some invalid parameters - these appear to be accepted */
+    origParams.ulSendDelay = INFINITE;
+    origParams.ulRepeat = 500;
+    origParams.ulRepeatMinDelay = 250;
+    origParams.ulRepeatMaxDelay = 125;
+    origParams.ulRepeatUpperDelay = 100;
+
+    rc = IWSDUdpMessageParameters_SetRetransmitParams(udpMessageParams, &origParams);
+    todo_wine ok(rc == S_OK, "SetRetransmitParams failed: %08x\n", rc);
+
+    ZeroMemory(&returnedParams, sizeof(WSDUdpRetransmitParams));
+
+    rc = IWSDUdpMessageParameters_GetRetransmitParams(udpMessageParams, &returnedParams);
+    todo_wine ok(rc == S_OK, "GetRetransmitParams failed: %08x\n", rc);
+
+    todo_wine ok(origParams.ulSendDelay == returnedParams.ulSendDelay, "ulSendDelay = %d\n", returnedParams.ulSendDelay);
+    todo_wine ok(origParams.ulRepeat == returnedParams.ulRepeat, "ulRepeat = %d\n", returnedParams.ulRepeat);
+    todo_wine ok(origParams.ulRepeatMinDelay == returnedParams.ulRepeatMinDelay, "ulRepeatMinDelay = %d\n", returnedParams.ulRepeatMinDelay);
+    todo_wine ok(origParams.ulRepeatMaxDelay == returnedParams.ulRepeatMaxDelay, "ulRepeatMaxDelay = %d\n", returnedParams.ulRepeatMaxDelay);
+    todo_wine ok(origParams.ulRepeatUpperDelay == returnedParams.ulRepeatUpperDelay, "ulRepeatUpperDelay = %d\n", returnedParams.ulRepeatUpperDelay);
+
+    ret = IWSDUdpMessageParameters_Release(udpMessageParams);
+    ok(ret == 0, "IWSDUdpMessageParameters_Release() has %d references, should have 0\n", ret);
+}
+
 START_TEST(msgparams)
 {
     CoInitialize(NULL);
@@ -189,6 +262,7 @@ START_TEST(msgparams)
     CreateUdpMessageParameters_tests();
     LocalAddress_tests();
     RemoteAddress_tests();
+    RetransmitParams_tests();
 
     CoUninitialize();
 }




More information about the wine-cvs mailing list