[Erp5-report] r43534 priscila.manhaes - in /erp5/trunk/utils/cloudooo: ./ cloudooo/handler/...
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Feb 21 21:24:47 CET 2011
Author: priscila.manhaes
Date: Mon Feb 21 21:24:47 2011
New Revision: 43534
URL: http://svn.erp5.org?rev=43534&view=rev
Log:
adding main unittest for ffmpeg handler, but it still early draft
Added:
erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/runFFMPEGHandlerUnitTest.py
Modified:
erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py
erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py
erp5/trunk/utils/cloudooo/setup.py
Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py?rev=43534&r1=43533&r2=43534&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/handler.py [utf8] Mon Feb 21 21:24:47 2011
@@ -27,8 +27,6 @@
##############################################################################
-from zope.interface import implements
-from cloudooo.interfaces.handler import IHandler
from cloudooo.file import File
from subprocess import Popen, PIPE
@@ -36,9 +34,7 @@ from subprocess import Popen, PIPE
class FFMPEGHandler(object):
"""FFMPEGHandler is used to handler inputed video files"""
- implements(IHandler)
-
- def __init__(self, base_folder_url, data, source_format, **kw):
+ def __init__(self, base_folder_url, data, source_format):
"""
base_folder_url(string)
The requested url for data base folder
@@ -50,7 +46,7 @@ class FFMPEGHandler(object):
self.input = File(base_folder_url, data, source_format)
self.ffmpeg_bin = "/usr/bin/ffmpeg"
- def convert(self, destination_format, **kw):
+ def convert(self, destination_format):
""" Convert the inputed video to output as format that were informed """
# XXX This implementation could use ffmpeg -i pipe:0, but
# XXX seems super unreliable currently and it generates currupted files in
Added: erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/runFFMPEGHandlerUnitTest.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/runFFMPEGHandlerUnitTest.py?rev=43534&view=auto
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/runFFMPEGHandlerUnitTest.py (added)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/runFFMPEGHandlerUnitTest.py [utf8] Mon Feb 21 21:24:47 2011
@@ -0,0 +1,54 @@
+#!/usr/bin/env python
+
+import sys
+import unittest
+from argparse import ArgumentParser
+from os import path, curdir, environ, chdir
+
+ENVIRONMENT_PATH = path.abspath(path.dirname(__file__))
+
+
+def exit(msg):
+ sys.stderr.write(msg)
+ sys.exit(0)
+
+
+# XXX - Duplicated function. This function must be generic to be used by all handlers
+def run():
+ parser = ArgumentParser(description="Unit Test Runner for Cloudooo")
+ parser.add_argument('server_cloudooo_conf')
+ parser.add_argument('test_name')
+ parser.add_argument('--paster_path', dest='paster_path',
+ default='paster',
+ help="Path to Paster script")
+ namespace = parser.parse_args()
+
+ server_cloudooo_conf = namespace.server_cloudooo_conf
+ test_name = namespace.test_name
+ if server_cloudooo_conf.startswith(curdir):
+ server_cloudooo_conf = path.join(path.abspath(curdir),
+ server_cloudooo_conf)
+ environ['server_cloudooo_conf'] = server_cloudooo_conf
+
+ python_extension = '.py'
+ if test_name[-3:] == python_extension:
+ test_name = test_name[:-3]
+ if not path.exists(path.join(ENVIRONMENT_PATH,
+ '%s%s' % (test_name, python_extension))):
+ exit("%s not exists\n" % test_name)
+
+ sys.path.append(ENVIRONMENT_PATH)
+
+ module = __import__(test_name)
+ if not hasattr(module, "test_suite"):
+ exit("No test suite to run, exiting immediately")
+
+ TestRunner = unittest.TextTestRunner
+ suite = unittest.TestSuite()
+ suite.addTest(module.test_suite())
+ chdir(ENVIRONMENT_PATH)
+ TestRunner(verbosity=2).run(suite)
+
+
+if __name__ == "__main__":
+ run()
Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py?rev=43534&r1=43533&r2=43534&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ffmpeg/tests/testFFMPEGHandler.py [utf8] Mon Feb 21 21:24:47 2011
@@ -1,7 +1,7 @@
##############################################################################
#
# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
-# Priscila Manhães <psilva at iff.edu.br>
+# Priscila Manhaes <psilva at iff.edu.br>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
@@ -27,20 +27,28 @@
##############################################################################
import unittest
-import md5
+import sha
from cloudooo.handler.ffmpeg.handler import FFMPEGHandler
+from cloudooo.handler.tests.handlerTestCase import HandlerTestCase
-class TestFFMPEGHandler(unittest.TestCase):
+class TestFFMPEGHandler(HandlerTestCase):
+
+ def setUp(self):
+ self.data = open("./data/test.3gp").read()
+ self.input = FFMPEGHandler("./data", self.data
+ ,"3gp")
+
def testConvertVideo(self):
- """Test coversion of diferents formats of video"""
- input_data = FFMPEGHandler("tests/data",
- open("tests/data/test.3gp").read())
+ """Test coversion of video to another format"""
+ # XXX - Hash might use md5, but it does not work for string
+ input_data = sha.new(self.data)
hash_input = input_data.digest()
- output_data = handler.convert("ogv")
- hash_output = output_data.digest()
- self.assertTrue(hash_input == hash_output)
+ output_data = self.input.convert("ogv")
+ output = sha.new(output_data)
+ hash_output = output.digest()
+ self.assertTrue(hash_input != hash_output)
def test_suite():
Modified: erp5/trunk/utils/cloudooo/setup.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/setup.py?rev=43534&r1=43533&r2=43534&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/setup.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/setup.py [utf8] Mon Feb 21 21:24:47 2011
@@ -53,5 +53,6 @@ setup(name='cloudooo',
echo_cloudooo_conf = cloudooo.bin.echo_cloudooo_conf:main
runCloudOOoUnitTest = cloudooo.handler.ooo.tests.runCloudOOoUnitTest:run
runPDFHandlerUnitTest = cloudooo.handler.pdf.tests.runPDFHandlerUnitTest:run
+ runFFMPEGHandlerUnitTest = cloudooo.handler.ffmpeg.tests.runFFMPEGHandlerUnitTest:run
""",
)
More information about the Erp5-report
mailing list