]> git.parisson.com Git - timeside.git/commitdiff
Tests : enable to set test prefix in unit-timeside runTestModule + Encoder : minor...
authorThomas Fillon <thomas@parisson.com>
Fri, 29 Nov 2013 10:33:53 +0000 (11:33 +0100)
committerThomas Fillon <thomas@parisson.com>
Fri, 29 Nov 2013 10:33:53 +0000 (11:33 +0100)
tests/test_encoding.py
tests/test_transcoding.py
tests/unit_timeside.py
timeside/decoder/core.py
timeside/decoder/utils.py
timeside/encoder/core.py
timeside/encoder/webm.py

index 693f0c37ccbd9204974360862e759fb47c34de6a..5fe617f7b53a116b3ef8db2db17de14dd2a59053 100755 (executable)
@@ -10,6 +10,7 @@ from timeside.decoder import ArrayDecoder
 import os
 from tools import tmp_file_sink
 
+
 class TestEncoding(unittest.TestCase):
     "Test encoding features"
 
@@ -66,14 +67,14 @@ class TestEncoding(unittest.TestCase):
         self.encoder_function = FlacEncoder
         self.delta = 0
 
-    def testWebm(self):
+    def testWebM(self):
         "Test webm encoding, audio only"
         from timeside.encoder.webm import WebMEncoder
         self.encoder_function = WebMEncoder
         self.test_duration = False  # webmmux encoder with streamable=true
                                     # does not return a valid duration
 
-    def testWebmVideo(self):
+    def testWebMVideo(self):
         "Test webm encoding, video"
         from timeside.encoder.webm import WebMEncoder
         self.encoder_function = WebMEncoder
index cc11432572c8256df9d7553057114a837011f0ff..d345ead9c883bb3e8ef4f5379ac98e8299753ca7 100755 (executable)
@@ -22,25 +22,25 @@ class TestTranscodingFromWav(unittest.TestCase):
         self.test_duration = True
         self.test_channels = True
 
-    def testToWav(self):
+    def testWav(self):
         "Test conversion to wav"
         self.encoder_function = WavEncoder
 
-    def testToMp3(self):
+    def testMp3(self):
         "Test conversion to mp3"
         self.encoder_function = Mp3Encoder
 
-    def testToOgg(self):
+    def testOgg(self):
         "Test conversion to ogg"
         self.encoder_function = VorbisEncoder
 
-    def testToWebM(self):
+    def testWebM(self):
         "Test conversion to webm"
         self.encoder_function = WebMEncoder
         self.test_duration = False  # webmmux encoder with streamable=true
                                     # does not return a valid duration
 
-    def testToM4a(self):
+    def testM4a(self):
         "Test conversion to m4a"
         self.encoder_function = AacEncoder
 
@@ -89,9 +89,9 @@ class TestTranscodingFromMonoWav(TestTranscodingFromWav):
         self.source = os.path.join(os.path.dirname(__file__),
                                    "samples/sweep_mono.wav")
 
-    def testToM4a(self):
+    def testM4a(self):
         "Test conversion to m4a"
-        super(TestTranscodingFromMonoWav, self).testToM4a()
+        super(TestTranscodingFromMonoWav, self).testM4a()
         self.test_channels = False  # voaacenc bug ? : always encode stereo
 
 
index 2ec084c26ba14cd4701384de40839fc5c99b6c3e..f38f6fd888357e28d3254465576d1e0a4d3cf65e 100644 (file)
@@ -142,14 +142,19 @@ class TestRunner:
         return result
 
 
-def runTestModule(*modules):
-
+def runTestModule(test_modules_list=None, test_prefix=None):
     suite = unittest.TestSuite()
     finder = doctest.DocTestFinder(exclude_empty=False)  # finder for doctest
-
-    for module in modules:
+    if test_prefix:
+        unittest.TestLoader.testMethodPrefix = test_prefix
+    if not test_modules_list:
+        test_modules_list = []
+    elif not isinstance(test_modules_list, list):
+        test_modules_list = [test_modules_list]
+    test_modules_list.append('__main__')
+    for test in test_modules_list:
         # Doctest
-        suite.addTest(doctest.DocTestSuite(module, test_finder=finder))
+        suite.addTest(doctest.DocTestSuite(test, test_finder=finder))
         # unittest
-        suite.addTest(unittest.loader.TestLoader().loadTestsFromModule(module))
+        suite.addTest(unittest.loader.TestLoader().loadTestsFromModule(test))
     TestRunner().run(suite)
index 82c9284449dc90b37612bd7a796347448bd69000..1d8d74260d5766352ad0c91551ce9d91c7f2620f 100644 (file)
@@ -519,5 +519,5 @@ if __name__ == "__main__":
     # load corresponding tests
     from tests import test_decoding, test_array_decoding
 
-    runTestModule('__main__', test_decoding, test_array_decoding)
+    runTestModule([test_decoding, test_array_decoding])
 
index 328883b0a948c30872e1567e4fce75efb1c89e4c..5297b5b5a0b25ed0e69c368e4f6e5d1298c4b40b 100644 (file)
@@ -144,5 +144,5 @@ if __name__ == "__main__":
     # load corresponding tests
     from tests import test_decoder_utils
 
-    runTestModule('__main__', test_decoder_utils)
+    runTestModule(test_decoder_utils)
 
index 09ce3e3777df4bb79113378c1bfe1c3c0b8f8c4e..6ad0eaaeec26d73d254a4e21563c5a9bd6236675 100644 (file)
@@ -146,4 +146,4 @@ if __name__ == "__main__":
     # Run doctest from __main__ and unittest from test_analyzer_preprocessors
     from tests import test_encoding, test_transcoding
     from tests.unit_timeside import runTestModule
-    runTestModule('__main__', test_encoding, test_transcoding)
\ No newline at end of file
+    runTestModule([test_encoding, test_transcoding])
\ No newline at end of file
index ba6c9eef68e0eca8ee2ea73cfa5898695a17bafc..238343e31ef76ffa962ab2d9352c6ea62d818f6f 100644 (file)
@@ -34,21 +34,21 @@ class WebMEncoder(GstEncoder):
         self.video = video
 
     @interfacedoc
-    def setup(self, channels=None, samplerate=None, blocksize=None, totalframes=None):
-        super(WebMEncoder, self).setup(channels, samplerate, blocksize, totalframes)
+    def setup(self, channels=None, samplerate=None, blocksize=None,
+              totalframes=None):
+        super(WebMEncoder, self).setup(channels, samplerate, blocksize,
+                                       totalframes)
         from numpy import ceil
         framerate = 30
-        num_buffers =  ceil(self.mediainfo()['duration'] *
-                            framerate).astype(int)
+        num_buffers = ceil(self.mediainfo()['duration'] *
+                           framerate).astype(int)
+        self.pipe = ''
         if self.video:
-            self.pipe = '''appsrc name=src ! queue ! audioconvert ! vorbisenc quality=0.9 ! queue ! mux.
-                        videotestsrc pattern=black num_buffers=%d ! ffmpegcolorspace ! queue ! vp8enc speed=2 threads=4 quality=9.0 ! queue ! mux.
-                        webmmux streamable=true name=mux
-                        ''' % num_buffers
-        else:
-            self.pipe = '''
-                  appsrc name=src ! queue ! audioconvert ! vorbisenc quality=0.9 ! queue !
-                  webmmux streamable=true name=mux
+            self.pipe += '''videotestsrc pattern=black num_buffers=%d ! ffmpegcolorspace ! queue ! vp8enc speed=2 threads=4 quality=9.0 ! queue ! mux.
+                         ''' % num_buffers
+        self.pipe += '''
+              appsrc name=src ! queue ! audioconvert ! vorbisenc quality=0.9 ! queue ! mux.
+              webmmux streamable=true name=mux
                   '''
         if self.filename and self.streaming:
             self.pipe += ''' ! tee name=t
@@ -56,14 +56,13 @@ class WebMEncoder(GstEncoder):
             t. ! queue ! appsink name=app sync=False
             ''' % self.filename
 
-        elif self.filename :
+        elif self.filename:
             self.pipe += '! filesink location=%s async=False sync=False ' % self.filename
         else:
             self.pipe += '! queue ! appsink name=app sync=False '
 
         self.start_pipeline(channels, samplerate)
 
-
     @staticmethod
     @interfacedoc
     def id():
@@ -92,3 +91,9 @@ class WebMEncoder(GstEncoder):
     @interfacedoc
     def set_metadata(self, metadata):
         self.metadata = metadata
+
+if __name__ == "__main__":
+    # Run doctest from __main__ and unittest from test_analyzer_preprocessors
+    from tests import test_encoding, test_transcoding
+    from tests.unit_timeside import runTestModule
+    runTestModule([test_encoding, test_transcoding], test_prefix='testWebM')
\ No newline at end of file