Audio Testing via Validation Kit

Overview / Goal

The goal was to create a testing framework which utilizes the VirtualBox Validation Kit to test the VirtualBox audio stack.

That framework must be runnable on all host/guest combinations together with all audio drivers ("backends") and device emulations being offered. This makes it a rather big testing matrix which therefore has to be processed in an automated fashion.

Additionally it should be flexible enough to add more (custom) tests lateron.

Current status / limitations

Operation

The framework consists of several components which try to make use as much of the existing audio stack code as possible. This allows the following operation modes:

[1] src/VBox/ValidationKit/tests/audio/tdAudioTest.py

Components and Terminology

The following components are in charge for performing the audio tests (depends on the operation mode, see above):

The above components are also included in VirtualBox release builds and can be optionally enabled (disabled by default).

Workflow for a single test

When a single test is being executed on a running VM, the following (simplified) workflow applies:

Setup instructions

Performing a manual test

Performing manual verification

VKAT can manually be used with the "verify" sub command in order to (re-)verify previously generated test sets. It then will return different exit codes based on the verification result.

Performing an automated test

Troubleshooting

Status:$Id: VBoxAudioValidationKitReadMe.html 92474 2021-11-17 10:44:11Z vboxsync $
Copyright:Copyright (C) 2021 Oracle Corporation.