Skip to content

TestStatus

Phil Burk edited this page Nov 18, 2024 · 6 revisions

Current Status of PortAudio Tests

Here are the results of the PortAudio Test Suite on various platforms. Please see the Test Plan.

The core Test Suite consists of the following tests. They are placed in the "bin" directory when built using 'make':

  • paloopback
  • paqa_errs
  • paqa_devs
  • patest_multi_sine
  • patest_leftright
  • paex_record
  • patest_stop_playout
  • patest_wire
  • paex_write_sine

Latest Results

For status, please use:

  • "PASS" if all tests pass.
  • "FAIL" if any tests fail. List failing tests. Assume any test not listed has passed.
Test Name Host API Date Tester Status
paqa_errs MacOS 20241117 philburk PASS
paqa_latency MacOS 20221017 philburk FAIL on ZoomAudioDevice, Issue #742
patest_leftright MacOS 20241117 philburk PASS
paex_record MacOS 20241117 philburk PASS
patest_stop_playout MacOS 20241117 philburk PASS
paex_write_sine MacOS 20241117 philburk PASS
paloopback MacOS 20241117 philburk PASS using ZoomAudioDevice!
paqa_devs MacOS 20241117 philburk FAIL on blocking non-interleaved

Software Status

Most of those additional tests are useful and are expected to build and run. But the following tests have problems.

Broken Build Tests

These tests do not build. They should be reviewed and probably deleted.

  • patest_converters.c - Link error with PaUtil_SelectConverter.

Failing Tests

  • patest_in_overflow.c - Good test. But on a fast computer it takes too long to load up the CPU.
  • patest_out_underflow.c - Good test. But on a fast computer it has trouble causing underflows.
  • patest_clip.c - Test expects over-range sound to wrap and sound nasty. But Mac uses floats at device level so it does its own clipping. It does not sound nasty. It just works.
  • patest_latency.c - Does not respond to key presses on Mac.
  • patest_prime.c - Latency is never high enough on Mac to hear the difference between primed and non-primed.
  • patest_read_write_wire.c - Use blocking read/write in full duplex mode. Fails quickly on Mac with input overflow so I had to disable the error checks. Needs redesign with priming of out output buffers.
  • patest_sine_channelmaps.c - No sound heard on Mac.
  • patest_stop.c - Sounds does not get cut short on Mac. Test relies on 3 second latency. Not possible on Mac.
  • patest_write_sine_nonint.c - Test of blocking write with non-interleaved buffers. Broken on Mac.

Pointless Tests

These programs are either redundant or unnecessary as tests. We should delete them instead of maintaining them. This is only a partial list.

  • patest_pink.c - Nice demonstration of algorithm but not relevant as a PA test.
  • patest_ringmix.c - Cute audio hack but pointless.
  • patest_toomanysines.c - Redundant because of patest_out_overflow.c

Platform Specific Tests

Windows

  • patest_dsound_surround.c
  • patest_jack_wasapi.c
  • patest_mono_asio_channel_select.c
  • patest_wmme_ac3.c
  • patest_wmme_low_level_latency_params.c
  • patest_wmme_surround.c

Linux

Macintosh

  • patest_sine_channelmaps.c
Clone this wiki locally