From 2a74a400e20cbefa820d840dfef478ec73aa2843 Mon Sep 17 00:00:00 2001
From: jvoisin <julien.voisin@dustri.org>
Date: Mon, 28 Mar 2022 22:43:22 +0200
Subject: [PATCH] Fix the svg tests on archlinux

---
 tests/test_libmat2.py | 76 +++++++++++++++++++++++--------------------
 1 file changed, 40 insertions(+), 36 deletions(-)

diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py
index 0a39377..9e56969 100644
--- a/tests/test_libmat2.py
+++ b/tests/test_libmat2.py
@@ -445,7 +445,10 @@ class TestCleaning(unittest.TestCase):
             'meta': {
                 'WorkDescription': "This is a test svg image for mat2's testsuite",
             },
-            'expected_meta': {},
+            'expected_meta': {
+                'ImageSize': '128x128',
+                'Megapixels': '0.016',
+            },
         } ,{
             'name': 'ppm',
             'parser': images.PPMParser,
@@ -506,41 +509,42 @@ class TestCleaning(unittest.TestCase):
 
     def test_all_parametred(self):
         for case in self.data:
-            if 'ffmpeg' in case:
-                try:
-                    video._get_ffmpeg_path()
-                except RuntimeError:
-                    raise unittest.SkipTest
-
-            print('[+] Testing %s' % case['name'])
-            target = './tests/data/clean.' + case['name']
-            shutil.copy('./tests/data/dirty.' + case['name'], target)
-            p1 = case['parser'](target)
-
-            for k, v in p1.get_meta().items():
-                if k not in case['meta']:
-                    continue
-                if isinstance(v, dict):
-                    for _k, _v in v.items():
-                        if _k in case['meta'][k]:
-                            self.assertEqual(_v, case['meta'][k][_k])
-                else:
-                    self.assertEqual(v, case['meta'][k])
-
-            p1.lightweight_cleaning = True
-            self.assertTrue(p1.remove_all())
-
-            p2 = case['parser'](p1.output_filename)
-            meta = p2.get_meta()
-            if meta:
-                for k, v in p2.get_meta().items():
-                    self.assertIn(k, case['expected_meta'], '"%s" is not in "%s" (%s)' % (k, case['expected_meta'], case['name']))
-                    self.assertIn(str(case['expected_meta'][k]), str(v))
-            self.assertTrue(p2.remove_all())
-
-            os.remove(target)
-            os.remove(p1.output_filename)
-            os.remove(p2.output_filename)
+            with self.subTest(case=case):
+                if 'ffmpeg' in case:
+                    try:
+                        video._get_ffmpeg_path()
+                    except RuntimeError:
+                        raise unittest.SkipTest
+
+                print('[+] Testing %s' % case['name'])
+                target = './tests/data/clean.' + case['name']
+                shutil.copy('./tests/data/dirty.' + case['name'], target)
+                p1 = case['parser'](target)
+
+                for k, v in p1.get_meta().items():
+                    if k not in case['meta']:
+                        continue
+                    if isinstance(v, dict):
+                        for _k, _v in v.items():
+                            if _k in case['meta'][k]:
+                                self.assertEqual(_v, case['meta'][k][_k])
+                    else:
+                        self.assertEqual(v, case['meta'][k])
+
+                p1.lightweight_cleaning = True
+                self.assertTrue(p1.remove_all())
+
+                p2 = case['parser'](p1.output_filename)
+                meta = p2.get_meta()
+                if meta:
+                    for k, v in p2.get_meta().items():
+                        self.assertIn(k, case['expected_meta'], '"%s" is not in "%s" (%s)' % (k, case['expected_meta'], case['name']))
+                        self.assertIn(str(case['expected_meta'][k]), str(v))
+                self.assertTrue(p2.remove_all())
+
+                os.remove(target)
+                os.remove(p1.output_filename)
+                os.remove(p2.output_filename)
 
 
     def test_html(self):
-- 
GitLab