VirtualBox

Changeset 90555 in vbox for trunk/src/VBox/Devices/Audio


Ignore:
Timestamp:
Aug 6, 2021 3:42:16 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
146161
Message:

Audio/ValKit: Try harder finding a free service port in tstAudioTestService(). ​bugref:10008

File:
1 edited

Legend:

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

    r90544 r90555  
    8787        RTTEST_CHECK_RC_OK(hTest, rc);
    8888
    89         Val.u16 = ATS_TCP_DEF_BIND_PORT_HOST;
    90         rc = AudioTestSvcHandleOption(&Srv, ATSTCPOPT_BIND_PORT, &Val);
    91         RTTEST_CHECK_RC_OK(hTest, rc);
    92 
    9389        rc = AudioTestSvcInit(&Srv, &Callbacks);
    9490        RTTEST_CHECK_RC_OK(hTest, rc);
    9591        if (RT_SUCCESS(rc))
    9692        {
    97             rc = AudioTestSvcStart(&Srv);
    98             RTTEST_CHECK_RC_OK(hTest, rc);
     93            uint16_t uPort = ATS_TCP_DEF_BIND_PORT_HOST;
     94
     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);
     100
     101                rc = AudioTestSvcStart(&Srv);
     102                if (RT_SUCCESS(rc))
     103                    break;
     104
     105                RTTestPrintf(hTest, RTTESTLVL_ALWAYS, "Port %RU32 already used\n", uPort);
     106
     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            }
     111
    99112            if (RT_SUCCESS(rc))
    100113            {
     114                RTTestPrintf(hTest, RTTESTLVL_ALWAYS, "Using port %RU32\n", uPort);
     115
    101116                rc = AudioTestSvcClientCreate(&Client);
    102117                RTTEST_CHECK_RC_OK(hTest, rc);
     
    110125                RTTEST_CHECK_RC_OK(hTest, rc);
    111126
    112                 Val.u16 = ATS_TCP_DEF_CONNECT_PORT_GUEST;
     127                Val.u16 = uPort;
    113128                rc = AudioTestSvcClientHandleOption(&Client, ATSTCPOPT_CONNECT_PORT, &Val);
    114129                RTTEST_CHECK_RC_OK(hTest, rc);
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