VirtualBox

Changeset 90919 in vbox


Ignore:
Timestamp:
Aug 26, 2021 3:38:34 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
146556
Message:

Audio/Validation Kit: Simplified ATS init / destruction handling [build fix]. ​bugref:10008

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Audio/testcase/tstAudioTestService.cpp

    r90918 r90919  
    7676
    7777    ATSSERVER Srv;
    78     rc = AudioTestSvcCreate(&Srv);
     78
     79    RTGETOPTUNION Val;
     80    RT_ZERO(Val);
     81
     82    Val.psz = "server";
     83    rc = AudioTestSvcHandleOption(&Srv, ATSTCPOPT_CONN_MODE, &Val);
     84    RTTEST_CHECK_RC_OK(hTest, rc);
     85
     86    rc = AudioTestSvcInit(&Srv, &Callbacks);
    7987    RTTEST_CHECK_RC_OK(hTest, rc);
    8088    if (RT_SUCCESS(rc))
    8189    {
    82         RTGETOPTUNION Val;
    83         RT_ZERO(Val);
     90        uint16_t uPort = ATS_TCP_DEF_BIND_PORT_HOST;
    8491
    85         Val.psz = "server";
    86         rc = AudioTestSvcHandleOption(&Srv, ATSTCPOPT_CONN_MODE, &Val);
    87         RTTEST_CHECK_RC_OK(hTest, rc);
     92        for (unsigned i = 0; i < 64; i++)
     93        {
     94            Val.u16 = uPort;
     95            rc = AudioTestSvcHandleOption(&Srv, ATSTCPOPT_BIND_PORT, &Val);
     96            RTTEST_CHECK_RC_OK(hTest, rc);
    8897
    89         rc = AudioTestSvcInit(&Srv, &Callbacks);
    90         RTTEST_CHECK_RC_OK(hTest, rc);
     98            rc = AudioTestSvcStart(&Srv);
     99            if (RT_SUCCESS(rc))
     100                break;
     101
     102            RTTestPrintf(hTest, RTTESTLVL_ALWAYS, "Port %RU32 already used\n", uPort);
     103
     104            /* Use a different port base in case VBox already is running
     105             * with the same service using ATS_TCP_DEF_BIND_PORT_HOST. */
     106            uPort = ATS_TCP_DEF_BIND_PORT_HOST + RTRandU32Ex(0, 4242);
     107        }
     108
    91109        if (RT_SUCCESS(rc))
    92110        {
    93             uint16_t uPort = ATS_TCP_DEF_BIND_PORT_HOST;
     111            RTTestPrintf(hTest, RTTESTLVL_ALWAYS, "Using port %RU32\n", uPort);
    94112
    95             for (unsigned i = 0; i < 64; i++)
    96             {
    97                 Val.u16 = uPort;
    98                 rc = AudioTestSvcHandleOption(&Srv, ATSTCPOPT_BIND_PORT, &Val);
    99                 RTTEST_CHECK_RC_OK(hTest, rc);
     113            rc = AudioTestSvcClientCreate(&Client);
     114            RTTEST_CHECK_RC_OK(hTest, rc);
    100115
    101                 rc = AudioTestSvcStart(&Srv);
    102                 if (RT_SUCCESS(rc))
    103                     break;
     116            Val.psz = "client";
     117            rc = AudioTestSvcClientHandleOption(&Client, ATSTCPOPT_CONN_MODE, &Val);
     118            RTTEST_CHECK_RC_OK(hTest, rc);
    104119
    105                 RTTestPrintf(hTest, RTTESTLVL_ALWAYS, "Port %RU32 already used\n", uPort);
     120            Val.psz = ATS_TCP_DEF_CONNECT_HOST_ADDR_STR;
     121            rc = AudioTestSvcClientHandleOption(&Client, ATSTCPOPT_CONNECT_ADDRESS, &Val);
     122            RTTEST_CHECK_RC_OK(hTest, rc);
    106123
    107                 /* Use a different port base in case VBox already is running
    108                  * with the same service using ATS_TCP_DEF_BIND_PORT_HOST. */
    109                 uPort = ATS_TCP_DEF_BIND_PORT_HOST + RTRandU32Ex(0, 4242);
    110             }
     124            Val.u16 = uPort;
     125            rc = AudioTestSvcClientHandleOption(&Client, ATSTCPOPT_CONNECT_PORT, &Val);
     126            RTTEST_CHECK_RC_OK(hTest, rc);
    111127
    112             if (RT_SUCCESS(rc))
    113             {
    114                 RTTestPrintf(hTest, RTTESTLVL_ALWAYS, "Using port %RU32\n", uPort);
    115 
    116                 rc = AudioTestSvcClientCreate(&Client);
    117                 RTTEST_CHECK_RC_OK(hTest, rc);
    118 
    119                 Val.psz = "client";
    120                 rc = AudioTestSvcClientHandleOption(&Client, ATSTCPOPT_CONN_MODE, &Val);
    121                 RTTEST_CHECK_RC_OK(hTest, rc);
    122 
    123                 Val.psz = ATS_TCP_DEF_CONNECT_HOST_ADDR_STR;
    124                 rc = AudioTestSvcClientHandleOption(&Client, ATSTCPOPT_CONNECT_ADDRESS, &Val);
    125                 RTTEST_CHECK_RC_OK(hTest, rc);
    126 
    127                 Val.u16 = uPort;
    128                 rc = AudioTestSvcClientHandleOption(&Client, ATSTCPOPT_CONNECT_PORT, &Val);
    129                 RTTEST_CHECK_RC_OK(hTest, rc);
    130 
    131                 rc = AudioTestSvcClientConnect(&Client);
    132                 RTTEST_CHECK_RC_OK(hTest, rc);
    133             }
     128            rc = AudioTestSvcClientConnect(&Client);
     129            RTTEST_CHECK_RC_OK(hTest, rc);
    134130        }
    135131    }
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