mirror of https://github.com/python/cpython
Be a lot smarter about whether this test passes: instead of assuming
that a 2.93 sec audio file will always take 3.1 sec (as it did on the hardware I had when I first wrote the test), expect that it will take 2.93 sec +/- 10%, and only fail if it's outside of that range. Compute the expected
This commit is contained in:
parent
cde0fa9c61
commit
7802af426e
|
@ -1,3 +1,2 @@
|
||||||
test_ossaudiodev
|
test_ossaudiodev
|
||||||
playing test sound file...
|
playing test sound file (expected running time: 2.93 sec)
|
||||||
elapsed time: 3.1 sec
|
|
||||||
|
|
|
@ -69,14 +69,25 @@ def play_sound_file(data, rate, ssize, nchannels):
|
||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
# Compute expected running time of sound sample (in seconds).
|
||||||
|
expected_time = float(len(data)) / (ssize/8) / nchannels / rate
|
||||||
|
|
||||||
# set parameters based on .au file headers
|
# set parameters based on .au file headers
|
||||||
dsp.setparameters(AFMT_S16_NE, nchannels, rate)
|
dsp.setparameters(AFMT_S16_NE, nchannels, rate)
|
||||||
|
print ("playing test sound file (expected running time: %.2f sec)"
|
||||||
|
% expected_time)
|
||||||
t1 = time.time()
|
t1 = time.time()
|
||||||
print "playing test sound file..."
|
|
||||||
dsp.write(data)
|
dsp.write(data)
|
||||||
dsp.close()
|
dsp.close()
|
||||||
t2 = time.time()
|
t2 = time.time()
|
||||||
print "elapsed time: %.1f sec" % (t2-t1)
|
elapsed_time = t2 - t1
|
||||||
|
|
||||||
|
percent_diff = (abs(elapsed_time - expected_time) / expected_time) * 100
|
||||||
|
#print ("actual running time was %.2f sec (%.1f%% difference)"
|
||||||
|
# % (elapsed_time, percent_diff))
|
||||||
|
assert percent_diff <= 10.0, \
|
||||||
|
("elapsed time (%.2f sec) > 10%% off of expected time (%.2f sec)"
|
||||||
|
% (elapsed_time, expected_time))
|
||||||
|
|
||||||
def test_setparameters(dsp):
|
def test_setparameters(dsp):
|
||||||
# Two configurations for testing:
|
# Two configurations for testing:
|
||||||
|
|
Loading…
Reference in New Issue