Changeset 92584 in vbox for trunk/src/VBox/ValidationKit/docs
- Timestamp:
- Nov 24, 2021 9:29:59 AM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 148466
- Location:
- trunk/src/VBox/ValidationKit/docs
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/docs/VBoxAudioValidationKitReadMe.html
r92474 r92584 5 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 6 <meta name="generator" content="Docutils 0.18: http://docutils.sourceforge.net/" /> 7 <title>Audio Testing via Validation Kit</title>7 <title>Audio Testing of VirtualBox</title> 8 8 <style type="text/css"> 9 9 … … 361 361 </head> 362 362 <body> 363 <div class="document" id="audio-testing- via-validation-kit">364 <h1 class="title">Audio Testing via Validation Kit</h1>363 <div class="document" id="audio-testing-of-virtualbox"> 364 <h1 class="title">Audio Testing of VirtualBox</h1> 365 365 366 366 <div class="section" id="overview-goal"> 367 367 <h1>Overview / Goal</h1> 368 <p>The goal was to create a testing framework which utilizes the 369 VirtualBox Validation Kit to test the VirtualBox audio stack.</p> 368 <p>The goal is to create a flexible testing framework to test the 369 VirtualBox audio stack.</p> 370 <p>It should be runnable with an easy-to-use setup so that also regular users 371 can perform tests on request, without having to install or set up additional 372 dependencies.</p> 370 373 <p>That framework must be runnable on all host/guest combinations together with all 371 374 audio drivers ("backends") and device emulations being offered. This makes it a 372 375 rather big testing matrix which therefore has to be processed in an automated 373 376 fashion.</p> 374 <p>Additionally it should be flexible enough to add more (custom) tests lateron.</p> 375 </div> 376 <div class="section" id="current-status-limitations"> 377 <h1>Current status / limitations</h1> 378 <ul class="simple"> 379 <li><dl class="first docutils"> 380 <dt>The following test types are currently implemented:</dt> 381 <dd><ul class="first last"> 382 <li>Test tone (sine wave) playback from the guest</li> 383 <li>Test tone (sine wave) recording by the guest (injected from the host)</li> 384 </ul> 385 </dd> 386 </dl> 387 </li> 388 <li>Only the HDA device emulation has been verified so far.</li> 389 <li>Only the ALSA audio stack on Debian 10 has been verified so far. 390 Note: This is different from PulseAudio using the ALSA plugin!</li> 391 </ul> 377 <p>Additionally it should be flexible enough to add more (custom) tests later on.</p> 392 378 </div> 393 379 <div class="section" id="operation"> … … 396 382 the existing audio stack code as possible. This allows the following 397 383 operation modes:</p> 398 <ul class="simple"> 399 <li>Standalone: Playing back / recording audio data (test tones / .WAV files) in a 384 <dl class="docutils"> 385 <dt>Standalone</dt> 386 <dd>Playing back / recording audio data (test tones / .WAV files) in a 400 387 standalone scenario, i.e. no VirtualBox / VMs required). This mode is using 401 the audio (mixing) stack and available backend drivers without the need of 402 VirtualBox being installed.</li>403 < li>Manual: Performing single / multiple tests manually on a local machine.404 Requires a running and set up test VM.</li> 405 <li>Automated: Performs single / multiple tests via the Validation Kit audio test 406 driver and can be triggered via the Validation Kit Test Manager. The test 407 driver can be found at [1].</li> 408 <li>(Re-)validation of previously ran tests: This takes two test sets and runs 409 the validation / analysis on them. See VKAT's "verify" sub command for more.</li>410 < li>Self testing mode: Performs standalone self tests to verify / debug the411 involved components. See VKAT's "selftest" sub command for more.</li>412 < /ul>413 < p>[1] src/VBox/ValidationKit/tests/audio/tdAudioTest.py</p>388 VirtualBox' audio (mixing) stack and available backend drivers without the 389 need of VirtualBox being installed.</dd> 390 <dt>Manual</dt> 391 <dd>Performing single / multiple tests manually on a local machine. 392 Requires a running and set up test VM.</dd> 393 <dt>Automated</dt> 394 <dd>Performs single / multiple tests via the Validation Kit audio test 395 driver and can be triggered via the Validation Kit Test Manager.</dd> 396 <dt>(Re-)validation of previously ran tests</dt> 397 <dd>This takes two test sets and runs the validation / analysis on them.</dd> 398 <dt>Self testing mode</dt> 399 <dd>Performs standalone self tests to verify / debug the involved components.</dd> 400 </dl> 414 401 </div> 415 402 <div class="section" id="components-and-terminology"> … … 418 405 (depends on the operation mode, see above):</p> 419 406 <ul> 420 <li><p class="first">V KAT ("Validation Kit Audio Test", also known as VBoxAudioTest):407 <li><p class="first">VBoxAudioTest (also known as VKAT, "Validation Kit Audio Test"): 421 408 A binary which can perform the standalone audio tests mentioned above, as well 422 409 as acting as the guest and host service(s) when performing manual or automated … … 440 427 <p>See the syntax help ("--help") for more.</p> 441 428 </li> 442 <li><p class="first">ATS ("Audio Testing Service"): Component which is being used by VKATand the429 <li><p class="first">ATS ("Audio Testing Service"): Component which is being used by 1 and the 443 430 Validation Kit audio driver (backend) to communicate across guest and host 444 431 boundaries. Currently using a TCP/IP transport layer. Also works with VMs … … 447 434 <li><p class="first">Validation Kit audio test driver (tdAudioTest.py): Used for integrating and 448 435 invoking VKAT for manual and automated tests via the Validation Kit framework 449 (Test Manager). Optional. </p>436 (Test Manager). Optional. The test driver can be found at <a class="footnote-reference" href="#footnote-1" id="footnote-reference-1">[1]</a>.</p> 450 437 </li> 451 438 <li><p class="first">Validation Kit audio driver (backend): A dedicated audio backend which … … 474 461 <p>The above components are also included in VirtualBox release builds and can be 475 462 optionally enabled (disabled by default).</p> 476 </div> 477 <div class="section" id="workflow-for-a-single-test"> 478 <h1>Workflow for a single test</h1> 463 <table class="docutils footnote" frame="void" id="footnote-1" rules="none"> 464 <colgroup><col class="label" /><col /></colgroup> 465 <tbody valign="top"> 466 <tr><td class="label"><a class="fn-backref" href="#footnote-reference-1">[1]</a></td><td>src/VBox/ValidationKit/tests/audio/tdAudioTest.py</td></tr> 467 </tbody> 468 </table> 469 </div> 470 <div class="section" id="setup-instructions"> 471 <h1>Setup instructions</h1> 472 <ul> 473 <li><p class="first">VM needs to be configured to have audio emulation and audio testing enabled 474 (via extra-data, set "VBoxInternal2/Audio/Debug/Enabled" to "true").</p> 475 </li> 476 <li><p class="first">Audio input / output for the VM needs to be enabled (depending on the test).</p> 477 </li> 478 <li><p class="first">Start VBoxAudioTest on the guest, for example:</p> 479 <p>VBoxAudioTest test --mode guest --tcp-connect-address 10.0.2.2</p> 480 <dl class="docutils"> 481 <dt>Note: VBoxAudioTest is included with the Guest Additions starting at</dt> 482 <dd><p class="first last">VirtualBox 7.0.</p> 483 </dd> 484 <dt>Note: Depending on the VM's networking configuration there might be further</dt> 485 <dd><p class="first last">steps necessary in order to be able to reach the host from the guest. 486 See the VirtualBox manual for more information.</p> 487 </dd> 488 </dl> 489 </li> 490 </ul> 491 </div> 492 <div class="section" id="performing-a-manual-test"> 493 <h1>Performing a manual test</h1> 494 <ul> 495 <li><p class="first">Follow "Setup instructions".</p> 496 </li> 497 <li><p class="first">Start VBoxAudioTest on the host with selected test(s), for example:</p> 498 <p>VBoxAudioTest test --mode host</p> 499 <blockquote> 500 <dl class="docutils"> 501 <dt>Note: VBoxAudioTest is included with the VirtualBox 7.0 host installers and</dt> 502 <dd><p class="first last">will be installed by default.</p> 503 </dd> 504 </dl> 505 </blockquote> 506 </li> 507 <li><p class="first">By default the test verification will be done automatically after running the 508 tests.</p> 509 </li> 510 </ul> 511 </div> 512 <div class="section" id="advanced-performing-manual-verification"> 513 <h1>Advanced: Performing manual verification</h1> 514 <p>VBoxAudioTest can manually be used with the "verify" sub command in order to 515 (re-)verify previously generated test sets. It then will return different exit 516 codes based on the verification result.</p> 517 </div> 518 <div class="section" id="advanced-performing-an-automated-test"> 519 <h1>Advanced: Performing an automated test</h1> 520 <ul class="simple"> 521 <li>TxS (Test E[x]ecution Service) has to be up and running (part of the 522 Validation Kit) on the guest.</li> 523 <li>Invoke the tdAudioTest.py test driver, either manually or fully automated 524 via Test Manager.</li> 525 </ul> 526 </div> 527 <div class="section" id="internals-workflow-for-a-single-test"> 528 <h1>Internals: Workflow for a single test</h1> 479 529 <p>When a single test is being executed on a running VM, the following (simplified) 480 530 workflow applies:</p> … … 505 555 </ul> 506 556 </div> 507 <div class="section" id="setup-instructions"> 508 <h1>Setup instructions</h1> 509 <ul> 510 <li><p class="first">VM needs to be configured to have audio emulation and audio testing enabled 511 (via extra-data, set "VBoxInternal2/Audio/Debug/Enabled" to "true").</p> 512 </li> 513 <li><p class="first">Audio input / output for the VM needs to be enabled (depending on the test).</p> 514 </li> 515 <li><p class="first">VKAT needs to be running on the guest and be able to connect to the host via 516 TCP/IP.</p> 517 <dl class="docutils"> 518 <dt>Note: Depending on the VM's networking configuration there might be further</dt> 519 <dd><p class="first last">steps necessary in order to be able to reach the host from the guest. 520 See the VirtualBox manual for more information.</p> 557 <div class="section" id="current-status-limitations"> 558 <h1>Current status / limitations</h1> 559 <ul class="simple"> 560 <li><dl class="first docutils"> 561 <dt>The following test types are currently implemented:</dt> 562 <dd><ul class="first last"> 563 <li>Test tone (sine wave) playback from the guest</li> 564 <li>Test tone (sine wave) recording by the guest (injected from the host)</li> 565 </ul> 521 566 </dd> 522 567 </dl> 523 568 </li> 524 </ul> 525 </div> 526 <div class="section" id="performing-a-manual-test"> 527 <h1>Performing a manual test</h1> 528 <ul class="simple"> 529 <li>Follow "Setup instructions".</li> 530 <li>Start VKAT on the guest (in "guest mode", e.g. "test --mode guest").</li> 531 <li>Start VKAT on the host (in "host mode", e.g. "test --mode host") with 532 selected test(s).</li> 533 <li>By default the test verification will be done automatically after running the 534 tests.</li> 535 </ul> 536 </div> 537 <div class="section" id="performing-manual-verification"> 538 <h1>Performing manual verification</h1> 539 <p>VKAT can manually be used with the "verify" sub command in order to (re-)verify 540 previously generated test sets. It then will return different exit codes based 541 on the verification result.</p> 542 </div> 543 <div class="section" id="performing-an-automated-test"> 544 <h1>Performing an automated test</h1> 545 <ul class="simple"> 546 <li>TxS (Test E[x]ecution Service) has to be up and running (part of the 547 Validation Kit) on the guest.</li> 548 <li>Invoke the tdAudioTest.py test driver, either manually or fully automated 549 via Test Manager.</li> 569 <li>Only the HDA device emulation has been verified so far.</li> 570 <li>Only the ALSA audio stack on Debian 10 has been verified so far. 571 Note: This is different from PulseAudio using the ALSA plugin!</li> 550 572 </ul> 551 573 </div> … … 555 577 <li>Make sure that audio device emulation is enabled and can be used within the 556 578 guest. Also, audio input / output has to be enabled, depending on the tests.</li> 557 <li>Make sure that the guest's V KAT instance can reach the host via the selected558 t ransport lay(TCP/IP by default).</li>579 <li>Make sure that the guest's VBoxAudioTest's instance can reach the host via 580 the selected transport layer (TCP/IP by default).</li> 559 581 <li>Increase the hosts audio logging level 560 582 (via extra-data, set "VBoxInternal2/Audio/Debug/Level" to "5").</li> 561 <li>Increase VKAT's verbosity level (add "-v", can be specified multiple times).</li> 562 <li>Check if the the VBox release log contains any warnings / errors with the 583 <li>Increase VBoxAudioTest's verbosity level (add "-v", can be specified 584 multiple times).</li> 585 <li>Check if the VBox release log contains any warnings / errors with the 563 586 "ValKit:" prefix.</li> 564 587 </ul> -
trunk/src/VBox/ValidationKit/docs/VBoxAudioValidationKitReadMe.txt
r92474 r92584 1 Audio Testing via Validation Kit2 =========================== =====1 Audio Testing of VirtualBox 2 =========================== 3 3 4 4 … … 6 6 --------------- 7 7 8 The goal was to create a testing framework which utilizes the 9 VirtualBox Validation Kit to test the VirtualBox audio stack. 8 The goal is to create a flexible testing framework to test the 9 VirtualBox audio stack. 10 11 It should be runnable with an easy-to-use setup so that also regular users 12 can perform tests on request, without having to install or set up additional 13 dependencies. 10 14 11 15 That framework must be runnable on all host/guest combinations together with all … … 14 18 fashion. 15 19 16 Additionally it should be flexible enough to add more (custom) tests lateron. 17 18 19 Current status / limitations 20 ---------------------------- 21 22 - The following test types are currently implemented: 23 * Test tone (sine wave) playback from the guest 24 * Test tone (sine wave) recording by the guest (injected from the host) 25 - Only the HDA device emulation has been verified so far. 26 - Only the ALSA audio stack on Debian 10 has been verified so far. 27 Note: This is different from PulseAudio using the ALSA plugin! 20 Additionally it should be flexible enough to add more (custom) tests later on. 28 21 29 22 … … 35 28 operation modes: 36 29 37 - Standalone: Playing back / recording audio data (test tones / .WAV files) in a 30 Standalone 31 Playing back / recording audio data (test tones / .WAV files) in a 38 32 standalone scenario, i.e. no VirtualBox / VMs required). This mode is using 39 the audio (mixing) stack and available backend drivers without the need of 40 VirtualBox being installed. 41 42 - Manual: Performing single / multiple tests manually on a local machine. 33 VirtualBox' audio (mixing) stack and available backend drivers without the 34 need of VirtualBox being installed. 35 36 Manual 37 Performing single / multiple tests manually on a local machine. 43 38 Requires a running and set up test VM. 44 39 45 - Automated: Performs single / multiple tests via the Validation Kit audio test 46 driver and can be triggered via the Validation Kit Test Manager. The test 47 driver can be found at [1]. 48 49 - (Re-)validation of previously ran tests: This takes two test sets and runs 50 the validation / analysis on them. See VKAT's "verify" sub command for more. 51 52 - Self testing mode: Performs standalone self tests to verify / debug the 53 involved components. See VKAT's "selftest" sub command for more. 54 55 56 [1] src/VBox/ValidationKit/tests/audio/tdAudioTest.py 40 Automated 41 Performs single / multiple tests via the Validation Kit audio test 42 driver and can be triggered via the Validation Kit Test Manager. 43 44 (Re-)validation of previously ran tests 45 This takes two test sets and runs the validation / analysis on them. 46 47 Self testing mode 48 Performs standalone self tests to verify / debug the involved components. 57 49 58 50 … … 63 55 (depends on the operation mode, see above): 64 56 65 - V KAT ("Validation Kit Audio Test", also known as VBoxAudioTest):57 - VBoxAudioTest (also known as VKAT, "Validation Kit Audio Test"): 66 58 A binary which can perform the standalone audio tests mentioned above, as well 67 59 as acting as the guest and host service(s) when performing manual or automated … … 82 74 See the syntax help ("--help") for more. 83 75 84 - ATS ("Audio Testing Service"): Component which is being used by VKATand the76 - ATS ("Audio Testing Service"): Component which is being used by 1 and the 85 77 Validation Kit audio driver (backend) to communicate across guest and host 86 78 boundaries. Currently using a TCP/IP transport layer. Also works with VMs … … 89 81 - Validation Kit audio test driver (tdAudioTest.py): Used for integrating and 90 82 invoking VKAT for manual and automated tests via the Validation Kit framework 91 (Test Manager). Optional. 83 (Test Manager). Optional. The test driver can be found at [1]_. 92 84 93 85 - Validation Kit audio driver (backend): A dedicated audio backend which … … 115 107 optionally enabled (disabled by default). 116 108 117 118 Workflow for a single test 119 -------------------------- 109 .. [1] src/VBox/ValidationKit/tests/audio/tdAudioTest.py 110 111 112 Setup instructions 113 ------------------ 114 115 - VM needs to be configured to have audio emulation and audio testing enabled 116 (via extra-data, set "VBoxInternal2/Audio/Debug/Enabled" to "true"). 117 - Audio input / output for the VM needs to be enabled (depending on the test). 118 - Start VBoxAudioTest on the guest, for example: 119 120 VBoxAudioTest test --mode guest --tcp-connect-address 10.0.2.2 121 122 Note: VBoxAudioTest is included with the Guest Additions starting at 123 VirtualBox 7.0. 124 Note: Depending on the VM's networking configuration there might be further 125 steps necessary in order to be able to reach the host from the guest. 126 See the VirtualBox manual for more information. 127 128 129 Performing a manual test 130 ------------------------ 131 132 - Follow "Setup instructions". 133 - Start VBoxAudioTest on the host with selected test(s), for example: 134 135 VBoxAudioTest test --mode host 136 137 Note: VBoxAudioTest is included with the VirtualBox 7.0 host installers and 138 will be installed by default. 139 140 - By default the test verification will be done automatically after running the 141 tests. 142 143 144 Advanced: Performing manual verification 145 ---------------------------------------- 146 147 VBoxAudioTest can manually be used with the "verify" sub command in order to 148 (re-)verify previously generated test sets. It then will return different exit 149 codes based on the verification result. 150 151 152 Advanced: Performing an automated test 153 -------------------------------------- 154 155 - TxS (Test E[x]ecution Service) has to be up and running (part of the 156 Validation Kit) on the guest. 157 - Invoke the tdAudioTest.py test driver, either manually or fully automated 158 via Test Manager. 159 160 161 Internals: Workflow for a single test 162 ------------------------------------- 120 163 121 164 When a single test is being executed on a running VM, the following (simplified) … … 135 178 136 179 137 Setup instructions 138 ------------------ 139 140 - VM needs to be configured to have audio emulation and audio testing enabled 141 (via extra-data, set "VBoxInternal2/Audio/Debug/Enabled" to "true"). 142 - Audio input / output for the VM needs to be enabled (depending on the test). 143 - VKAT needs to be running on the guest and be able to connect to the host via 144 TCP/IP. 145 146 Note: Depending on the VM's networking configuration there might be further 147 steps necessary in order to be able to reach the host from the guest. 148 See the VirtualBox manual for more information. 149 150 151 Performing a manual test 152 ------------------------ 153 154 - Follow "Setup instructions". 155 - Start VKAT on the guest (in "guest mode", e.g. "test --mode guest"). 156 - Start VKAT on the host (in "host mode", e.g. "test --mode host") with 157 selected test(s). 158 - By default the test verification will be done automatically after running the 159 tests. 160 161 162 Performing manual verification 163 ------------------------------ 164 165 VKAT can manually be used with the "verify" sub command in order to (re-)verify 166 previously generated test sets. It then will return different exit codes based 167 on the verification result. 168 169 170 Performing an automated test 180 Current status / limitations 171 181 ---------------------------- 172 182 173 - TxS (Test E[x]ecution Service) has to be up and running (part of the 174 Validation Kit) on the guest. 175 - Invoke the tdAudioTest.py test driver, either manually or fully automated 176 via Test Manager. 183 - The following test types are currently implemented: 184 * Test tone (sine wave) playback from the guest 185 * Test tone (sine wave) recording by the guest (injected from the host) 186 - Only the HDA device emulation has been verified so far. 187 - Only the ALSA audio stack on Debian 10 has been verified so far. 188 Note: This is different from PulseAudio using the ALSA plugin! 177 189 178 190 … … 182 194 - Make sure that audio device emulation is enabled and can be used within the 183 195 guest. Also, audio input / output has to be enabled, depending on the tests. 184 - Make sure that the guest's V KAT instance can reach the host via the selected185 t ransport lay(TCP/IP by default).196 - Make sure that the guest's VBoxAudioTest's instance can reach the host via 197 the selected transport layer (TCP/IP by default). 186 198 - Increase the hosts audio logging level 187 199 (via extra-data, set "VBoxInternal2/Audio/Debug/Level" to "5"). 188 - Increase VKAT's verbosity level (add "-v", can be specified multiple times). 189 - Check if the the VBox release log contains any warnings / errors with the 200 - Increase VBoxAudioTest's verbosity level (add "-v", can be specified 201 multiple times). 202 - Check if the VBox release log contains any warnings / errors with the 190 203 "ValKit:" prefix. 191 204
Note:
See TracChangeset
for help on using the changeset viewer.