VirtualBox

Changeset 78833 in vbox for trunk/src/VBox/Runtime/testcase


Ignore:
Timestamp:
May 28, 2019 10:43:30 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
130933
Message:

tstRTPoll: Check read results after the socket and pipe we waited on were closed (hopefully this is uniform accross all platforms). bugref:9464

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/testcase/tstRTPoll.cpp

    r76553 r78833  
    140140     * This will check that we can wait and wake up.
    141141     */
     142    char    achBuf[128];
     143    size_t  cbRead;
    142144    for (uint32_t i = 0; i < 2; i++)
    143145    {
     
    158160
    159161        /* Drain the socket. */
    160         char    achBuf[128];
    161         size_t  cbRead = 0;
     162        cbRead = 0;
    162163        RTTESTI_CHECK_RC(RTTcpReadNB(hSocketR, achBuf, sizeof(achBuf), &cbRead), VINF_SUCCESS);
    163164        RTTESTI_CHECK(cbRead == sizeof(g_szHello) - 1 && memcmp(achBuf, g_szHello, sizeof(g_szHello) - 1) == 0);
     
    189190
    190191        /* Drain the socket. */
    191         char    achBuf[128];
    192         size_t  cbRead = 0;
     192        cbRead = 0;
    193193        RTTESTI_CHECK_RC(RTPipeRead(hPipeR, achBuf, sizeof(achBuf), &cbRead), VINF_SUCCESS);
    194194        RTTESTI_CHECK(cbRead == sizeof(g_szHello) - 1 && memcmp(achBuf, g_szHello, sizeof(g_szHello) - 1) == 0);
     
    214214    RTTESTI_CHECK_RC(RTPollSetRemove(hSet, 12), VINF_SUCCESS);
    215215
     216    RTTESTI_CHECK_RC(RTTcpReadNB(hSocketR, achBuf, sizeof(achBuf), &cbRead), VINF_SUCCESS);
     217    RTTESTI_CHECK(cbRead == 0);
     218
     219    RTTESTI_CHECK_RC(RTTcpRead(hSocketR, achBuf, 1, &cbRead), VINF_SUCCESS);
     220    RTTESTI_CHECK(cbRead == 0);
     221
    216222    RTSocketClose(hSocketR);
    217223
     
    225231    RTTESTI_CHECK_MSG(idReady == 1 || idReady == 11, ("idReady=%u\n", idReady));
    226232    RTTESTI_CHECK_MSG(fEvents & RTPOLL_EVT_ERROR, ("fEvents=%#x\n", fEvents));
     233
     234    cbRead = 0;
     235    RTTESTI_CHECK_RC(RTPipeRead(hPipeR, achBuf, sizeof(achBuf), &cbRead), VERR_BROKEN_PIPE);
     236    RTTESTI_CHECK(cbRead == 0);
    227237
    228238    RTPipeClose(hPipeR);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette