tests/ and feature tests reorganized

Hey Stefan,

I've just moved tests/ to use a single non-recursive makefile.
In the process, all audio feature tests got moved into af-tests/
also using a non-recursive makefile.

This means all test from tests/ and af-tests/ are now executed
in parallel, plus the resampler tests also became more
parallelized by splitting up the test rules.

Since the tests run a lot quicker on multi-core computers now
(I could save more than 5/10 seconds for test runs here), I've
added the af-tests back into 'make check' with a few exceptions:

1) Partymonster is not enabled by default. Though it passes,
  it blocks the CPU for a solid 7 seconds on my laptop, while
  all other tests complete in half the time. I'd love to add
  it in though, but it needs to be faster, what about cutting
  its rendering to a few seconds? Maybe 60 seconds or so
  into the song?

2) A bunch of tests are never completing now, they keep rendering
   into the WAV file forever, filling up the disc. The culprits
   are commented out for now:
# FIXME: check-af-tests: af-tests/artscompressor
# FIXME: check-af-tests: af-tests/minisong
# FIXME: check-af-tests: af-tests/organsong
# FIXME: check-af-tests: af-tests/simple-loop

Not sure I'll get around to fixing this soon,
but it definitley must be addressed.

Also, it could really help to fix up resamplertest and bsefcompare
to *only* put out '  PASS       blah short text blah' unless -v is
given or a test is failing. That way the mixed-line output of
parallel test runs becomes parsable again.

I.e. test should in general not produce more than a single
line under normal conditions to play nicely with other
tests running parallel.

Btw, the slow suites of resampler tests are still available to
be run manually with:

        make tests-testresampler-check-perf # passes fine

        make tests-testresampler-check-all

The later fails here, with:

tests/testresampler accuracy --up --precision=24 --freq-scan=50,18000,50 --max-threshold=126.5  # ideally: 
# accuracy test for factor 2 upsampling using SSE instructions
#   input frequency range used [ 50.00 Hz, 18000.00 Hz ] (SR = 44100.0 Hz, freq increment = 50.00)
#   max difference between correct and computed output: 0.000000 = -126.489977 dB
#                             (threshold given by user: -126.500000 dB)
tests/testresampler.cc:523: assertion failed: max_diff_db < options.max_threshold_db

Not sure how bad this is, input is appreciated.

Yours sincerely,
Tim Janik

Free software author.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]