diff --git a/libmat2/video.py b/libmat2/video.py index b9f3687..658affa 100644 --- a/libmat2/video.py +++ b/libmat2/video.py @@ -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 diff --git a/tests/test_corrupted_files.py b/tests/test_corrupted_files.py index 8d7c252..c92f0be 100644 --- a/tests/test_corrupted_files.py +++ b/tests/test_corrupted_files.py @@ -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') diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index 37adc6a..e5cc8a3 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py @@ -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')