|
|
|
import unittest
|
|
|
|
import system_tests
|
|
|
|
import os
|
|
|
|
import shutil
|
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
|
|
# copy the example config file into current working directory
|
|
|
|
# and name it ".exiv2" on linux or "exiv2.ini" on Win
|
|
|
|
class TmpConfigFile(system_tests.FileDecoratorBase):
|
|
|
|
def setUp_file_action(self, expanded_file_name):
|
|
|
|
config_file_path = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
fname = ".exiv2" if sys.platform == "linux" or sys.platform == "darwin" else "exiv2.ini"
|
|
|
|
return shutil.copyfile(expanded_file_name, os.path.join(config_file_path, fname))
|
|
|
|
|
|
|
|
|
|
|
|
@TmpConfigFile("$data_path/example_exiv2_config_file_for_lens_test")
|
|
|
|
class TestLensConfigFile(metaclass=system_tests.CaseMeta):
|
|
|
|
"""
|
|
|
|
Simple test for the configuration file based lens name resolution
|
|
|
|
"""
|
|
|
|
|
|
|
|
url = "https://github.com/Exiv2/exiv2/pull/1783"
|
|
|
|
|
|
|
|
filenames = [
|
|
|
|
"$data_path/Sigma_120-300_DG_OS_HSM_Sport_lens.exv",
|
|
|
|
"$data_path/Sigma_14-24mm_F2.8_DG_HSM_A_for_EOS.exv",
|
|
|
|
"$data_path/olympus-m.zuiko-12-45mm-f4-pro.exv",
|
|
|
|
"$data_path/RAW_PENTAX_K100.exv",
|
|
|
|
"$data_path/exiv2-bug1145a.exv",
|
|
|
|
"$data_path/exiv2-bug1145b.exv",
|
|
|
|
]
|
|
|
|
|
|
|
|
commands = [
|
|
|
|
f"$exiv2 -pt -g LensIDNumber {filenames[0]}",
|
|
|
|
f"$exiv2 -pt -g LensType {filenames[1]}",
|
|
|
|
f"$exiv2 -pt -g LensType {filenames[2]}",
|
|
|
|
f"$exiv2 -pt -g LensType {filenames[3]}",
|
|
|
|
f"$exiv2 -pt -g LensID {filenames[4]}",
|
|
|
|
f"$exiv2 -pt -g LensID {filenames[5]}",
|
|
|
|
]
|
|
|
|
|
|
|
|
stderr = [""] * len(filenames)
|
|
|
|
stdout = [
|
|
|
|
"Exif.NikonLd3.LensIDNumber Byte 1 TEST CONFIGURATION FILE!\n",
|
|
|
|
"Exif.CanonCs.LensType Short 1 TEST CONFIGURATION FILE!\n",
|
|
|
|
"Exif.OlympusEq.LensType Byte 6 TEST CONFIGURATION FILE!\n",
|
|
|
|
"Exif.Pentax.LensType Byte 2 TEST CONFIGURATION FILE!\n",
|
|
|
|
"Exif.Sony1.LensID Long 1 TEST CONFIGURATION FILE!\n",
|
|
|
|
"Exif.Sony1.LensID Long 1 TEST CONFIGURATION FILE!\n",
|
|
|
|
]
|
|
|
|
retval = [0] * len(filenames)
|