You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
6.3 KiB
173 lines
6.3 KiB
From 409218bc3d5b62e4f3e37aa57126cd628a34bd21 Mon Sep 17 00:00:00 2001
|
|
From: Nicolas Wack <wackou@gmail.com>
|
|
Date: Fri, 19 Apr 2013 22:08:38 +0200
|
|
Subject: [PATCH] Allow to run tests using "python setup.py test"; fixed
|
|
autodetect_all test target
|
|
|
|
---
|
|
fabfile.py | 1 +
|
|
setup.py | 3 ++-
|
|
tests/__init__.py | 0
|
|
tests/guessittest.py | 19 ++++++++++++-------
|
|
tests/test_autodetect.py | 2 +-
|
|
tests/test_autodetect_all.py | 12 ++++++++----
|
|
6 files changed, 24 insertions(+), 13 deletions(-)
|
|
create mode 100644 tests/__init__.py
|
|
|
|
diff --git a/fabfile.py b/fabfile.py
|
|
index 5b2c9fe..d8c4112 100644
|
|
--- a/fabfile.py
|
|
+++ b/fabfile.py
|
|
@@ -25,6 +25,7 @@ def run(self):
|
|
test_ep = TestTask('episode', 'episodes')
|
|
test_movie = TestTask('movie', 'movies')
|
|
test_auto = TestTask('autodetect', 'autodetected files')
|
|
+test_auto_all = TestTask('autodetect_all', 'all files using autodetected type')
|
|
test_lang = TestTask('language', 'languages')
|
|
test_utils = TestTask('utils', 'utility functions')
|
|
test_matchtree = TestTask('matchtree', 'MatchTree')
|
|
diff --git a/setup.py b/setup.py
|
|
index deee110..81f907d 100644
|
|
--- a/setup.py
|
|
+++ b/setup.py
|
|
@@ -65,7 +65,8 @@
|
|
include_package_data=True,
|
|
install_requires = requires,
|
|
entry_points=entry_points,
|
|
- extras_require = { 'language_detection': ['guess-language>=0.2'] }
|
|
+ extras_require = { 'language_detection': ['guess-language>=0.2'] },
|
|
+ test_suite = 'tests'
|
|
)
|
|
|
|
|
|
diff --git a/tests/__init__.py b/tests/__init__.py
|
|
new file mode 100644
|
|
index 0000000..e69de29
|
|
diff --git a/tests/guessittest.py b/tests/guessittest.py
|
|
index c56b6ca..cfeaef0 100644
|
|
--- a/tests/guessittest.py
|
|
+++ b/tests/guessittest.py
|
|
@@ -21,7 +21,7 @@
|
|
from __future__ import unicode_literals
|
|
from guessit import base_text_type, u
|
|
from guessit.slogging import setupLogging
|
|
-from unittest import *
|
|
+from unittest import TestCase, TestLoader, TextTestRunner
|
|
|
|
import yaml, logging, sys, os
|
|
from os.path import *
|
|
@@ -58,20 +58,25 @@ def allTests(testClass):
|
|
|
|
class TestGuessit(TestCase):
|
|
|
|
-
|
|
-
|
|
- def checkMinimumFieldsCorrect(self, filetype, filename, removeType=True):
|
|
+ def checkMinimumFieldsCorrect(self, filetype, filename, remove_type=True,
|
|
+ exclude_files=None):
|
|
groundTruth = yaml.load(load_file_in_same_dir(__file__, filename))
|
|
def guess_func(string):
|
|
return guess_file_info(string, filetype=filetype)
|
|
|
|
- return self.checkFields(groundTruth, guess_func, removeType)
|
|
+ return self.checkFields(groundTruth, guess_func, remove_type, exclude_files)
|
|
|
|
- def checkFields(self, groundTruth, guess_func, removeType=True):
|
|
+
|
|
+ def checkFields(self, groundTruth, guess_func, remove_type=True,
|
|
+ exclude_files=None):
|
|
correct, total = 0, 0
|
|
+ exclude_files = exclude_files or []
|
|
|
|
for filename, required_fields in groundTruth.items():
|
|
filename = u(filename)
|
|
+ if filename in exclude_files:
|
|
+ continue
|
|
+
|
|
log.debug('\n' + '-' * 120)
|
|
log.info('Guessing information for file: %s' % filename)
|
|
|
|
@@ -85,7 +90,7 @@ def error(*args):
|
|
is_incomplete[0] = True
|
|
|
|
# no need for these in the unittests
|
|
- if removeType:
|
|
+ if remove_type:
|
|
try:
|
|
del found['type']
|
|
except:
|
|
diff --git a/tests/test_autodetect.py b/tests/test_autodetect.py
|
|
index 1e0fd9d..e654afb 100644
|
|
--- a/tests/test_autodetect.py
|
|
+++ b/tests/test_autodetect.py
|
|
@@ -25,7 +25,7 @@ class TestAutoDetect(TestGuessit):
|
|
def testAutoDetect(self):
|
|
self.checkMinimumFieldsCorrect(filetype='autodetect',
|
|
filename='autodetect.yaml',
|
|
- removeType=False)
|
|
+ remove_type=False)
|
|
|
|
|
|
suite = allTests(TestAutoDetect)
|
|
diff --git a/tests/test_autodetect_all.py b/tests/test_autodetect_all.py
|
|
index 6aa1704..cfd3463 100644
|
|
--- a/tests/test_autodetect_all.py
|
|
+++ b/tests/test_autodetect_all.py
|
|
@@ -18,23 +18,27 @@
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
-
|
|
+from __future__ import unicode_literals
|
|
from guessittest import *
|
|
|
|
+IGNORE_EPISODES = [ 'finale ' ]
|
|
+IGNORE_MOVIES = []
|
|
|
|
class TestAutoDetectAll(TestGuessit):
|
|
def testAutoMatcher(self):
|
|
self.checkMinimumFieldsCorrect(filetype='autodetect',
|
|
filename='autodetect.yaml',
|
|
- removeType=False)
|
|
+ remove_type=False)
|
|
|
|
def testAutoMatcherMovies(self):
|
|
self.checkMinimumFieldsCorrect(filetype='autodetect',
|
|
- filename='movies.yaml')
|
|
+ filename='movies.yaml',
|
|
+ exclude_files=IGNORE_MOVIES)
|
|
|
|
def testAutoMatcherEpisodes(self):
|
|
self.checkMinimumFieldsCorrect(filetype='autodetect',
|
|
- filename='episodes.yaml')
|
|
+ filename='episodes.yaml',
|
|
+ exclude_files=IGNORE_EPISODES)
|
|
|
|
|
|
suite = allTests(TestAutoDetectAll)
|
|
--
|
|
1.8.1.6
|
|
|
|
Added by maksbotan@gentoo.org, to be upstreamed
|
|
|
|
diff -ur /var/tmp/portage/dev-python/guessit-0.5.4/work/guessit-0.5.4/tests/test_language.py guessit-0.5.4/tests/test_language.py
|
|
--- /var/tmp/portage/dev-python/guessit-0.5.4/work/guessit-0.5.4/tests/test_language.py 2013-02-11 03:49:53.000000000 +0400
|
|
+++ guessit-0.5.4/tests/test_language.py 2013-04-25 18:41:22.000000000 +0400
|
|
@@ -20,6 +20,7 @@
|
|
|
|
from __future__ import unicode_literals
|
|
from guessittest import *
|
|
+import io
|
|
|
|
class TestLanguage(TestGuessit):
|
|
|
|
@@ -81,7 +82,7 @@
|
|
|
|
def test_opensubtitles(self):
|
|
opensubtitles_langfile = file_in_same_dir(__file__, 'opensubtitles_languages_2012_05_09.txt')
|
|
- langs = [ u(l).strip().split('\t') for l in open(opensubtitles_langfile) ][1:]
|
|
+ langs = [ u(l).strip().split('\t') for l in io.open(opensubtitles_langfile, encoding="utf8") ][1:]
|
|
for lang in langs:
|
|
# check that we recognize the opensubtitles language code correctly
|
|
# and that we are able to output this code from a language
|