Test mat2's reliability wrt. corrupted video files
This commit is contained in:
parent
e70ea811c9
commit
83389a63e9
@ -43,9 +43,8 @@ class AVIParser(exiftool.ExiftoolParser):
|
||||
|
||||
try:
|
||||
subprocess.check_call(cmd)
|
||||
except subprocess.CalledProcessError: # pragma: no cover
|
||||
except subprocess.CalledProcessError:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
|
@ -5,7 +5,8 @@ import shutil
|
||||
import os
|
||||
import logging
|
||||
|
||||
from libmat2 import pdf, images, audio, office, parser_factory, torrent, harmless
|
||||
from libmat2 import pdf, images, audio, office, parser_factory, torrent
|
||||
from libmat2 import harmless, video
|
||||
|
||||
# No need to logging messages, should something go wrong,
|
||||
# the testsuite _will_ fail.
|
||||
@ -192,3 +193,9 @@ class TestCorruptedFiles(unittest.TestCase):
|
||||
with self.assertRaises(ValueError):
|
||||
images.JPGParser('./tests/data/clean.jpg')
|
||||
os.remove('./tests/data/clean.jpg')
|
||||
|
||||
def test_avi(self):
|
||||
shutil.copy('./tests/data/dirty.torrent', './tests/data/clean.avi')
|
||||
p = video.AVIParser('./tests/data/clean.avi')
|
||||
self.assertFalse(p.remove_all())
|
||||
os.remove('./tests/data/clean.avi')
|
||||
|
@ -477,16 +477,18 @@ class TestCleaning(unittest.TestCase):
|
||||
os.remove('./tests/data/clean.cleaned.cleaned.txt')
|
||||
|
||||
def test_avi(self):
|
||||
try:
|
||||
video._get_ffmpeg_path()
|
||||
except RuntimeError:
|
||||
raise unittest.SkipTest
|
||||
|
||||
shutil.copy('./tests/data/dirty.avi', './tests/data/clean.avi')
|
||||
p = video.AVIParser('./tests/data/clean.avi')
|
||||
|
||||
meta = p.get_meta()
|
||||
self.assertEqual(meta['Software'], 'MEncoder SVN-r33148-4.0.1')
|
||||
|
||||
try:
|
||||
ret = p.remove_all()
|
||||
except RuntimeError:
|
||||
return # this happens if ffmepg is not installed
|
||||
ret = p.remove_all()
|
||||
self.assertTrue(ret)
|
||||
|
||||
p = video.AVIParser('./tests/data/clean.cleaned.avi')
|
||||
|
Loading…
Reference in New Issue
Block a user