You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import unittest
|
|
import os.path
|
|
import shutil
|
|
|
|
import system_tests
|
|
|
|
|
|
RESOURCE_FORK_EXISTS = os.path.exists(
|
|
os.path.join(system_tests.data_path, "exiv2-bug836.eps/..namedfork/rsrc")
|
|
)
|
|
|
|
|
|
@unittest.skipUnless(RESOURCE_FORK_EXISTS,
|
|
"File system does not support resource forks")
|
|
@system_tests.CopyFiles("$data_path/exiv2-bug836.eps")
|
|
class WriteMetadataDestroysResourceForkOnMacOSXForBigFiles(
|
|
metaclass=system_tests.CaseMeta):
|
|
|
|
url = "http://dev.exiv2.org/issues/836"
|
|
|
|
filename = "$data_path/exiv2-bug836_copy.eps"
|
|
filename_orig = "$data_path/exiv2-bug836.eps"
|
|
|
|
commands = [
|
|
"$exiv2 -M'set Exif.Photo.UserComment Test' $filename",
|
|
]
|
|
|
|
def setUp(self):
|
|
""" Copy the rsrc file into the the resource fork """
|
|
shutil.copyfile(
|
|
self.filename_orig + ".rsrc", self.filename + "/..namedfork/rsrc"
|
|
)
|
|
|
|
def post_tests_hook(self):
|
|
""" Check that the resource fork didn't change """
|
|
with open(self.filename_orig + ".rsrc", "rb") as rsrc_orig:
|
|
expected_resource_fork = rsrc_orig.read(-1)
|
|
|
|
with open(self.filename + "/..namedfork/rsrc", "rb") as rsrc_f:
|
|
got_resource_fork = rsrc_f.read(-1)
|
|
|
|
self.assertEqual(expected_resource_fork, got_resource_fork)
|
|
|
|
stdout = [""]
|
|
stderr = [""]
|
|
retval = [0]
|