From Fedora Project Wiki

< QA‎ | TestPlans

So, you've decided to test the XO Audio subsystem, eh? Your mission, if you choose to accept it, involves: testing test cases, filling some stubs, and triaging bugs.

First off, if you see something notable, you should mark it on our scratch page, located here: XO Audio.

How the heck do I do this?

To add a new test case, add in a line like this:

* <test case description> | <testing status, can be NOT TESTED, PASS, FAIL> (<F10 build>) | <tester username>

If you wish to claim a test case, try following the description, and if it passes, mark your test case as such. If it fails, you're going to need to file a bug; thankfully, this process is relatively swift and simple. Follow this link and fill in the appropriate fields:

  • Component (make your best guess here, as it's required to file the bug)
  • Summary (a short sentence describing the problem)
  • Description (fill out the fields as clearly as possible here; it's paramount that the bug you file be understandable and reproducible by someone who knows little about the process)
  • Attachment (if you have any relevant logfiles/output, use this tool to attach them to your bug)
  • Blocks (make sure that it blocks FedoraOnXo (very important!))

For an example, check out the bug I filed for the volume accelerator key issue, BZ# 467796. After you've filled in that information, go ahead and submit the bug and report it on your test case thusly:

* Can you feel it coming in the air tonight? | FAIL (<F10 build>) [<bug URL> <bugzilla number>] | <your username>

Finally, check out the dependency tree for the FedoraOnXO bug and look around for audio-related bugs. If you find one, run through the triage procedure described on the test plan wiki and see if you can move it over to ASSIGNED.

Regression testing upon new snapshots

When a new snapshot comes down the pipe, it is your responsibility to retest all of the test cases you've claimed to see if anything has changed between the last release and the current one. When you've retested, update the F10 build for each test case you've retested, along with changing the status if need be.

Basic Functionality


The definition of basic functionality is that the sound hardware is detected/installed appropriately and at least a modicum of the basic GNOME applications that interact with PulseAudio and ALSA do so as you'd expect. The scope of this project is on the XO hardware alone, so we're not going to be testing external sound hardware with the XO (though it's OK if you want to give it a go).


  • Does ALSA detect the soundcard? | PASS (Snap2, detects PulseAudio) | ssalevan
  • Does amixer accurately detect the capabilities of the soundcard? | PASS (Snap2) | ssalevan


Basic PA stuff

  • Default settings are not muted | PASS (Snap2) | ssalevan
  • Killing PulseAudio and restarting it, does it still work? | NOT TESTED | <claim this>
  • Playing an audio file via paplay | PASS (Snap2) | ssalevan
  • Playing an audio file via PA client application (mplayer, totem, etc.) | PASS (Snap2, using totem) | ssalevan
  • Recording an audio file into a PA client application; does it work? Are there issues with the recorded file? | NOT TESTED | <claim this>


The XO has stereo audio output and mono audio input capabilities (through the on-board mic or the input jack).

  • Manipulating audio streams via pavucontrol:

Playback streams:

  • Change volume of playback stream | NOT TESTED | <claim this>
  • Mute playback stream | NOT TESTED | <claim this>

Output devices:

  • Change volume of output device | NOT TESTED | <claim this>
  • Mute output device | NOT TESTED | <claim this>
  • Lock/unlock L/R channels, do volumes change appropriately? | NOT TESTED | <claim this>
  • Change volume of input device | NOT TESTED | <claim this>
  • Mute input device | NOT TESTED | <claim this>

GNOME stuff

  • Various mixer settings are visible and editable (ala gnome-volume-control) | PASS (Snap2) | ssalevan
  • Gnome system sounds enabled | NOT TESTED | <claim this>
  • Gnome system sounds work | NOT TESTED | <claim this>
  • Recording is functional (ala gnome-sound-recorder) | NOT TESTED | <claim this>

XO Hardware

  • Headphone jack works appropriately (sound is output via jack when plugged in, not passed through internal speaker) | PASS (Snap2) | ssalevan
  • Internal speakers work appropriately | FAIL (Snap2) 466038 | ssalevan
  • Volume up/down accelerator key work? | FAIL (Snap2) 467796 | ssalevan



How do the various sound-producing applications play with PulseAudio on the XO and the built-in sound hardware?

Movie Player

  • Can the XO play back sound from Ogg-encoded video? | NOT TESTED | ssalevan

Music Players (rhythmbox, etc.)

  • Can the XO play back Ogg-encoded audio? | PASS (Snap3) | amandy
  • Can the XO play back Ogg-encoded internet radio streams? | PASS (Snap2) | ssalevan

NOTE: The XO doesn't have enough horsepower to play a high-quality stream very well, but it does indeed play it

Music programs (Csound, puredata, etc.)

  • Timidity++ - does the XO have enough horsepower to play back a MIDI file with a software GM set? | NOT TESTED | ssalevan
  • Does any of the Csound stuff work? | NOT TESTED | <claim this, especially if you know anything about Csound...>

Audio Performance


How well does the sound card perform under certain situations? Do multiple sources of audio cause stuttering/clicking/cutout?

  • Can the XO play back multiple Ogg-encoded files? | NOT TESTED | ssalevan
  • Can the XO play back sounds from different types of programs (for instance, a MIDI + an Ogg)? | NOT TESTED | ssalevan

Helpful resources

Getting around some XO limitations

  • The live image does not have wget, but it does have the version of busybox that comes with anaconda. To wget a file using busybox, try this invocation:
# busybox.anaconda wget <URL>
  • Typing with the rubber keyboard can get extremely tiresome, I've found, and Firefox is all but dysfunctional at the moment due to aforementioned performance issues. To get around these limitations (and recover your lost WPM in the process), I suggest enabling sshd:
# su -
# service sshd start
# chkconfig sshd on

Sound Sources

Further test inspiration