Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • mat2 mat2
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Graph
    • Compare
  • Issues 19
    • Issues 19
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • jvoisin
  • mat2mat2
  • Issues
  • #136
Closed
Open
Issue created Jan 19, 2020 by georg@georgDeveloper

libimage-exiftool-perl >= 11.81-1: makes test fail

Forwarded: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=949252

Recent changes in libimage-exiftool-perl, starting with 11.81-1, makes one test fail. This was reported in the Debian BTS.

Changes in the dependency chain exposing the error for the first time:

∙ There were changes in the dependency chain since last test run:
--- last-run/dependencies.txt
+++ current-run/dependencies.txt
@@ -63,7 +63,7 @@
 libgtk-3-common 3.24.13-1
 libharfbuzz0b 2.6.4-1
 libicu63 63.2-2
-libimage-exiftool-perl 11.80-1
+libimage-exiftool-perl 11.81-1
 libjbig0 2.1-3.1+b2
 libjpeg62-turbo 1:1.5.2-2+b1
 libjson-glib-1.0-0 1.4.4-2

The actual error (at the bottom):

=================================== FAILURES ===================================
_______________________ TestCleaning.test_all_parametred _______________________

self = <tests.test_libmat2.TestCleaning testMethod=test_all_parametred>

    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)
    
            meta = p1.get_meta()
            for k, v in case['meta'].items():
                if isinstance(v, dict):
                    for _k, _v in v.items():
                        self.assertEqual(meta[k][_k], _v)
                else:
                    self.assertEqual(meta[k], v)
    
            p1.lightweight_cleaning = True
            self.assertTrue(p1.remove_all())
    
            p2 = case['parser'](p1.output_filename)
>           self.assertEqual(p2.get_meta(), case['expected_meta'])
E           AssertionError: {'MajorBrand': 'MP4  Base Media v1 [IS0 144[457 chars]': 0} != {'CompatibleBrands': ['isom', 'iso2', 'avc1[432 chars]': 0}
E             {'CompatibleBrands': ['isom', 'iso2', 'avc1', 'mp41'],
E              'CompressorID': 'avc1',
E              'GraphicsMode': 'srcCopy',
E              'HandlerDescription': 'SoundHandler',
E              'HandlerType': 'Metadata',
E              'HandlerVendorID': 'Apple',
E              'MajorBrand': 'MP4  Base Media v1 [IS0 14496-12:2003]',
E           -  'MediaDataOffset': 48,
E           -  'MediaDataSize': 379872,
E              'MediaHeaderVersion': 0,
E              'MinorVersion': '0.2.0',
E           +  'MovieDataOffset': 48,
E              'MovieHeaderVersion': 0,
E              'NextTrackID': 3,
E              'PreferredRate': 1,
E              'Rotation': 0,
E              'TimeScale': 1000,
E              'TrackHeaderVersion': 0,
E              'TrackID': 1,
E              'TrackLayer': 0}

tests/test_libmat2.py:489: AssertionError

--

Related to this: this error wasn't exposed in our CI, due to a bug in the code which builds our containers: Currently, we're updating the APT sources, and run apt-get install ... afterwards. The later operation is a noop in case the package is already installed, which we're running into as we're leveraging a cache, to reduce build times. I'll fix this.

Edited Jan 19, 2020 by georg
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking