History

python/tests/test_sink.py: switch to nose2

Paul Brossier committed 10 years ago

Commit 2fe24df1 parent 797435f1 file · +47 −36Browse files

Showing the changes to python/tests (1 of 1 file). Show all

Unified · Split

python/tests/test_sink.py+47−36
@@ -1,17 +1,31 @@
11 #! /usr/bin/env python
22
33 from numpy.testing import TestCase, assert_equal, assert_almost_equal
4+from nose2.tools import params
45 from aubio import fvec, source, sink
56 from numpy import array
67 from utils import list_all_sounds, get_tmp_sink_path, del_tmp_sink_path
78
89 list_of_sounds = list_all_sounds('sounds')
10+samplerates = [0, 44100, 8000, 32000]
11+hop_sizes = [512, 1024, 64]
12+
913 path = None
1014
1115 many_files = 300 # 256 opened files is too much
1216
17+all_params = []
18+for soundfile in list_of_sounds:
19+ for hop_size in hop_sizes:
20+ for samplerate in samplerates:
21+ all_params.append((hop_size, samplerate, soundfile))
22+
1323 class aubio_sink_test_case(TestCase):
1424
25+ def setUp(self):
26+ if not len(list_of_sounds):
27+ self.skipTest('add some sound files in \'python/tests/sounds\'')
28+
1529 def test_many_sinks(self):
1630 from tempfile import mkdtemp
1731 import os.path
@@ -29,43 +43,40 @@ class aubio_sink_test_case(TestCase): · 11 unmodified lines
2943 g.close()
3044 shutil.rmtree(tmpdir)
3145
32− def test_read_and_write(self):
33−
34− if not len(list_of_sounds):
35− self.skipTest('add some sound files in \'python/tests/sounds\'')
36−
37− for path in list_of_sounds:
38− for samplerate, hop_size in zip([0, 44100, 8000, 32000], [512, 1024, 64, 256]):
39− f = source(path, samplerate, hop_size)
40− if samplerate == 0: samplerate = f.samplerate
41− sink_path = get_tmp_sink_path()
42− g = sink(sink_path, samplerate)
43− total_frames = 0
44− while True:
45− vec, read = f()
46− g(vec, read)
47− total_frames += read
48− if read < f.hop_size: break
49− del_tmp_sink_path(sink_path)
46+ @params(*all_params)
47+ def test_read_and_write(self, hop_size, samplerate, path):
5048
51− def test_read_and_write_multi(self):
52−
53− if not len(list_of_sounds):
54− self.skipTest('add some sound files in \'python/tests/sounds\'')
49+ try:
50+ f = source(path, samplerate, hop_size)
51+ except RuntimeError as e:
52+ self.skipTest('failed opening with hop_s = {:d}, samplerate = {:d} ({:s})'.format(hop_size, samplerate, e))
53+ if samplerate == 0: samplerate = f.samplerate
54+ sink_path = get_tmp_sink_path()
55+ g = sink(sink_path, samplerate)
56+ total_frames = 0
57+ while True:
58+ vec, read = f()
59+ g(vec, read)
60+ total_frames += read
61+ if read < f.hop_size: break
62+ del_tmp_sink_path(sink_path)
5563
56− for path in list_of_sounds:
57− for samplerate, hop_size in zip([0, 44100, 8000, 32000], [512, 1024, 64, 256]):
58− f = source(path, samplerate, hop_size)
59− if samplerate == 0: samplerate = f.samplerate
60− sink_path = get_tmp_sink_path()
61− g = sink(sink_path, samplerate, channels = f.channels)
62− total_frames = 0
63− while True:
64− vec, read = f.do_multi()
65− g.do_multi(vec, read)
66− total_frames += read
67− if read < f.hop_size: break
68− del_tmp_sink_path(sink_path)
64+ @params(*all_params)
65+ def test_read_and_write_multi(self, hop_size, samplerate, path):
66+ try:
67+ f = source(path, samplerate, hop_size)
68+ except RuntimeError as e:
69+ self.skipTest('failed opening with hop_s = {:d}, samplerate = {:d} ({:s})'.format(hop_size, samplerate, e))
70+ if samplerate == 0: samplerate = f.samplerate
71+ sink_path = get_tmp_sink_path()
72+ g = sink(sink_path, samplerate, channels = f.channels)
73+ total_frames = 0
74+ while True:
75+ vec, read = f.do_multi()
76+ g.do_multi(vec, read)
77+ total_frames += read
78+ if read < f.hop_size: break
79+ del_tmp_sink_path(sink_path)
6980
7081 def test_close_file(self):
7182 samplerate = 44100
@@ -83,5 +94,5 @@ class aubio_sink_test_case(TestCase): · 11 unmodified lines
8394 del_tmp_sink_path(sink_path)
8495
8596 if __name__ == '__main__':
86− from unittest import main
97+ from nose2 import main
8798 main()

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t