Skip to content
Snippets Groups Projects
Commit 83389a63 authored by Julien (jvoisin) Voisin's avatar Julien (jvoisin) Voisin
Browse files

Test mat2's reliability wrt. corrupted video files

parent e70ea811
Branches
Tags
No related merge requests found
......@@ -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
self.assertTrue(ret)
p = video.AVIParser('./tests/data/clean.cleaned.avi')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment