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.
exiv2/tests/lens_tests/test_config_file.py

53 lines
2.1 KiB
Python

import unittest
import system_tests
import os
import shutil
import sys
# copy the example config file into current working directory
# and name it "exiv2.ini" on Win or ".exiv2" on other platforms
class TmpConfigFile(system_tests.FileDecoratorBase):
def setUp_file_action(self, expanded_file_name):
config_file_path = os.path.dirname(os.path.abspath(__file__))
fname = os.path.basename(system_tests.BT.verbose_version().get('config_path'))
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)