projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5367fe7
)
[test_all_urls] Add support for distributed URL matching test definition
author
Philipp Hagemeister
<phihag@phihag.de>
Sat, 19 Apr 2014 17:41:06 +0000
(19:41 +0200)
committer
Philipp Hagemeister
<phihag@phihag.de>
Sat, 19 Apr 2014 17:41:06 +0000
(19:41 +0200)
test/helper.py
patch
|
blob
|
history
test/test_all_urls.py
patch
|
blob
|
history
youtube_dl/extractor/extremetube.py
patch
|
blob
|
history
youtube_dl/extractor/ign.py
patch
|
blob
|
history
youtube_dl/extractor/yahoo.py
patch
|
blob
|
history
diff --git
a/test/helper.py
b/test/helper.py
index 8739f816c148729158bf9859a8569e9167846d7f..09873aea33c3815dcd56e8acf992156dbbb5974e 100644
(file)
--- a/
test/helper.py
+++ b/
test/helper.py
@@
-74,13
+74,19
@@
class FakeYDL(YoutubeDL):
old_report_warning(message)
self.report_warning = types.MethodType(report_warning, self)
old_report_warning(message)
self.report_warning = types.MethodType(report_warning, self)
-def gettestcases():
+
+def gettestcases(include_onlymatching=False):
for ie in youtube_dl.extractor.gen_extractors():
t = getattr(ie, '_TEST', None)
if t:
for ie in youtube_dl.extractor.gen_extractors():
t = getattr(ie, '_TEST', None)
if t:
- t['name'] = type(ie).__name__[:-len('IE')]
- yield t
- for t in getattr(ie, '_TESTS', []):
+ assert not hasattr(ie, '_TESTS'), \
+ '%s has _TEST and _TESTS' % type(ie).__name__
+ tests = [t]
+ else:
+ tests = getattr(ie, '_TESTS', [])
+ for t in tests:
+ if not include_onlymatching and getattr(t, 'only_matching', False):
+ continue
t['name'] = type(ie).__name__[:-len('IE')]
yield t
t['name'] = type(ie).__name__[:-len('IE')]
yield t
diff --git
a/test/test_all_urls.py
b/test/test_all_urls.py
index a9c4ed9e3d4f8a2386038ab5ab87d46b805dbb9e..4b56137cebb63287e4410959c091b09b6ffd785b 100644
(file)
--- a/
test/test_all_urls.py
+++ b/
test/test_all_urls.py
@@
-106,7
+106,7
@@
class TestAllURLsMatching(unittest.TestCase):
def test_no_duplicates(self):
ies = gen_extractors()
def test_no_duplicates(self):
ies = gen_extractors()
- for tc in gettestcases():
+ for tc in gettestcases(
include_onlymatching=True
):
url = tc['url']
for ie in ies:
if type(ie).__name__ in ('GenericIE', tc['name'] + 'IE'):
url = tc['url']
for ie in ies:
if type(ie).__name__ in ('GenericIE', tc['name'] + 'IE'):
@@
-176,5
+176,6
@@
class TestAllURLsMatching(unittest.TestCase):
'https://screen.yahoo.com/smartwatches-latest-wearable-gadgets-163745379-cbs.html',
['Yahoo'])
'https://screen.yahoo.com/smartwatches-latest-wearable-gadgets-163745379-cbs.html',
['Yahoo'])
+
if __name__ == '__main__':
unittest.main()
if __name__ == '__main__':
unittest.main()
diff --git
a/youtube_dl/extractor/extremetube.py
b/youtube_dl/extractor/extremetube.py
index d7fc432877842c27b2d44e0c3150b8edcd9dd394..7612a03645065d227b61569ab50c210dbbe04dfd 100644
(file)
--- a/
youtube_dl/extractor/extremetube.py
+++ b/
youtube_dl/extractor/extremetube.py
@@
-10,7
+10,7
@@
from ..utils import (
class ExtremeTubeIE(InfoExtractor):
_VALID_URL = r'^(?:https?://)?(?:www\.)?(?P<url>extremetube\.com/.*?video/.+?(?P<videoid>[0-9]+))(?:[/?&]|$)'
class ExtremeTubeIE(InfoExtractor):
_VALID_URL = r'^(?:https?://)?(?:www\.)?(?P<url>extremetube\.com/.*?video/.+?(?P<videoid>[0-9]+))(?:[/?&]|$)'
- _TEST
=
{
+ _TEST
S = [
{
u'url': u'http://www.extremetube.com/video/music-video-14-british-euro-brit-european-cumshots-swallow-652431',
u'file': u'652431.mp4',
u'md5': u'1fb9228f5e3332ec8c057d6ac36f33e0',
u'url': u'http://www.extremetube.com/video/music-video-14-british-euro-brit-european-cumshots-swallow-652431',
u'file': u'652431.mp4',
u'md5': u'1fb9228f5e3332ec8c057d6ac36f33e0',
@@
-19,7
+19,10
@@
class ExtremeTubeIE(InfoExtractor):
u"uploader": u"unknown",
u"age_limit": 18,
}
u"uploader": u"unknown",
u"age_limit": 18,
}
- }
+ }, {
+ 'url': 'http://www.extremetube.com/gay/video/abcde-1234',
+ 'only_matching': True,
+ }]
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
diff --git
a/youtube_dl/extractor/ign.py
b/youtube_dl/extractor/ign.py
index cfeaa41463a9fdd1d3bf72acb51333e8932fc6f5..1f42c6d3a957674aa7bb2ee4ee3d56dac43cd2f8 100644
(file)
--- a/
youtube_dl/extractor/ign.py
+++ b/
youtube_dl/extractor/ign.py
@@
-106,7
+106,7
@@
class OneUPIE(IGNIE):
_DESCRIPTION_RE = r'<div id="vid_summary">(.+?)</div>'
_DESCRIPTION_RE = r'<div id="vid_summary">(.+?)</div>'
- _TEST
=
{
+ _TEST
S = [
{
'url': 'http://gamevideos.1up.com/video/id/34976',
'md5': '68a54ce4ebc772e4b71e3123d413163d',
'info_dict': {
'url': 'http://gamevideos.1up.com/video/id/34976',
'md5': '68a54ce4ebc772e4b71e3123d413163d',
'info_dict': {
@@
-115,10
+115,7
@@
class OneUPIE(IGNIE):
'title': 'Sniper Elite V2 - Trailer',
'description': 'md5:5d289b722f5a6d940ca3136e9dae89cf',
}
'title': 'Sniper Elite V2 - Trailer',
'description': 'md5:5d289b722f5a6d940ca3136e9dae89cf',
}
- }
-
- # Override IGN tests
- _TESTS = []
+ }]
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
diff --git
a/youtube_dl/extractor/yahoo.py
b/youtube_dl/extractor/yahoo.py
index e2cf1ae5603c6ff32480eb0db07ece09b7ff6baf..4671f49ed0dfee9378f1b66405ccde54df649b89 100644
(file)
--- a/
youtube_dl/extractor/yahoo.py
+++ b/
youtube_dl/extractor/yahoo.py
@@
-104,7
+104,7
@@
class YahooNewsIE(YahooIE):
IE_NAME = 'yahoo:news'
_VALID_URL = r'http://news\.yahoo\.com/video/.*?-(?P<id>\d*?)\.html'
IE_NAME = 'yahoo:news'
_VALID_URL = r'http://news\.yahoo\.com/video/.*?-(?P<id>\d*?)\.html'
- _TEST
=
{
+ _TEST
S = [
{
'url': 'http://news.yahoo.com/video/china-moses-crazy-blues-104538833.html',
'md5': '67010fdf3a08d290e060a4dd96baa07b',
'info_dict': {
'url': 'http://news.yahoo.com/video/china-moses-crazy-blues-104538833.html',
'md5': '67010fdf3a08d290e060a4dd96baa07b',
'info_dict': {
@@
-113,10
+113,7
@@
class YahooNewsIE(YahooIE):
'title': 'China Moses Is Crazy About the Blues',
'description': 'md5:9900ab8cd5808175c7b3fe55b979bed0',
},
'title': 'China Moses Is Crazy About the Blues',
'description': 'md5:9900ab8cd5808175c7b3fe55b979bed0',
},
- }
-
- # Overwrite YahooIE properties we don't want
- _TESTS = []
+ }]
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)