Blame tests/bugfixes/redmine/test_issue_800.py

Packit 01d647
# -*- coding: utf-8 -*-
Packit 01d647
Packit 01d647
import itertools
Packit 01d647
Packit 01d647
import system_tests
Packit 01d647
Packit 01d647
Packit 01d647
TYPES = ["8BIM", "AgHg", "DCSR", "PHUT"]
Packit 01d647
FORMATS = ["jpg", "psd"]
Packit 01d647
Packit 01d647
Packit 01d647
def make_commands(filename):
Packit 01d647
    return [
Packit 01d647
        """$exiv2 -u -v -M"set Exif.Photo.UserComment Test" """ + filename,
Packit Service fb147c
        "$exiv2 -u -pt -b " + filename
Packit 01d647
    ]
Packit 01d647
Packit 01d647
Packit 01d647
def make_filename(irb_type, img_format):
Packit 01d647
    return "$data_path/exiv2-bug800-" + irb_type + "_copy." + img_format
Packit 01d647
Packit 01d647
Packit 01d647
def make_stdout(irb_type, img_format):
Packit 01d647
    first = """File 1/1: """ + make_filename(irb_type, img_format) + """
Packit 01d647
Set Exif.Photo.UserComment "Test" (Comment)
Packit 01d647
"""
Packit 01d647
Packit 01d647
    if img_format == "jpg":
Packit 01d647
        second = """Exif.Image.Orientation                       Short       1  top, left
Packit 01d647
Exif.Image.XResolution                       Rational    1  180
Packit 01d647
Exif.Image.YResolution                       Rational    1  180
Packit 01d647
Exif.Image.ResolutionUnit                    Short       1  inch
Packit 01d647
Exif.Image.Software                          Ascii      16  QuickTime 6.5.2
Packit 01d647
Exif.Image.DateTime                          Ascii      20  2005:03:27 19:46:52
Packit 01d647
Exif.Image.HostComputer                      Ascii      16  Mac OS X 10.3.8
Packit 01d647
Exif.Image.YCbCrPositioning                  Short       1  Centered
Packit 01d647
Exif.Image.ExifTag                           Long        1  190
Packit 01d647
Exif.Photo.ExposureTime                      Rational    1  1/200 s
Packit 01d647
Exif.Photo.FNumber                           Rational    1  F7.1
Packit 01d647
Exif.Photo.ExifVersion                       Undefined   4  2.20
Packit 01d647
Exif.Photo.DateTimeOriginal                  Ascii      20  2005:03:18 22:15:08
Packit 01d647
Exif.Photo.DateTimeDigitized                 Ascii      20  2005:03:18 22:15:08
Packit 01d647
Exif.Photo.ComponentsConfiguration           Undefined   4  YCbCr
Packit 01d647
Exif.Photo.CompressedBitsPerPixel            Rational    1  5
Packit 01d647
Exif.Photo.ShutterSpeedValue                 SRational   1  1/202 s
Packit 01d647
Exif.Photo.ApertureValue                     Rational    1  F7.1
Packit 01d647
Exif.Photo.ExposureBiasValue                 SRational   1  0 EV
Packit 01d647
Exif.Photo.MaxApertureValue                  Rational    1  F2.8
Packit 01d647
Exif.Photo.MeteringMode                      Short       1  Multi-segment
Packit 01d647
Exif.Photo.Flash                             Short       1  No, auto
Packit 01d647
Exif.Photo.FocalLength                       Rational    1  7.4 mm
Packit Service fb147c
Exif.Photo.MakerNote                         Undefined 590  14 0 1 0 3 0 46 0 0 0 92 4 0 0 2 0 3 0 4 0 0 0 184 4 0 0 3 0 3 0 4 0 0 0 192 4 0 0 4 0 3 0 34 0 0 0 200 4 0 0 0 0 3 0 6 0 0 0 12 5 0 0 0 0 3 0 4 0 0 0 24 5 0 0 18 0 3 0 28 0 0 0 32 5 0 0 19 0 3 0 4 0 0 0 88 5 0 0 6 0 2 0 32 0 0 0 96 5 0 0 7 0 2 0 24 0 0 0 128 5 0 0 8 0 4 0 1 0 0 0 104 167 20 0 9 0 2 0 32 0 0 0 152 5 0 0 16 0 4 0 1 0 0 0 0 0 39 1 13 0 3 0 34 0 0 0 184 5 0 0 0 0 0 0 92 0 2 0 0 0 5 0 1 0 0 0 0 0 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 15 0 3 0 1 0 1 64 0 0 255 255 255 255 199 2 237 0 32 0 98 0 180 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 224 8 224 8 0 0 1 0 0 0 0 0 255 127 0 0 0 0 0 0 2 0 237 0 30 1 215 0 0 4 0 0 0 0 0 0 68 0 0 0 128 0 50 1 181 0 245 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 121 0 0 0 180 0 247 0 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 9 0 224 8 168 6 224 8 212 0 153 1 38 0 102 254 0 0 154 1 102 254 0 0 154 1 102 254 0 0 154 1 215 255 215 255 215 255 0 0 0 0 0 0 41 0 41 0 41 0 16 0 4 0 0 0 0 0 0 0 0 0 73 77 71 58 80 111 119 101 114 83 104 111 116 32 83 52 48 48 32 74 80 69 71 0 0 0 0 0 0 0 0 0 70 105 114 109 119 97 114 101 32 86 101 114 115 105 111 110 32 50 46 48 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 0 9 0 67 1 57 1 62 1 65 1 69 1 68 1 67 1 66 1 70 1 64 0 0 0 0 0 83 0 0 0 0 0 10 0 0 0 10 0 3 0 120 0 123 1 26 0 249 255 249 3 10 4 0 0 0 0 0 0 0 0 153 0 0 0 0 0
Packit 01d647
Exif.Photo.UserComment                       Undefined  12  Test
Packit 01d647
Exif.Photo.FlashpixVersion                   Undefined   4  1.00
Packit 01d647
Exif.Photo.PixelXDimension                   Short       1  2272
Packit 01d647
Exif.Photo.PixelYDimension                   Short       1  1704
Packit 01d647
Exif.Photo.FocalPlaneXResolution             Rational    1  8114.29
Packit 01d647
Exif.Photo.FocalPlaneYResolution             Rational    1  8114.29
Packit 01d647
Exif.Photo.FocalPlaneResolutionUnit          Short       1  inch
Packit 01d647
Exif.Photo.SensingMethod                     Short       1  One-chip color area
Packit 01d647
Exif.Photo.FileSource                        Undefined   1  Digital still camera
Packit 01d647
Exif.Photo.CustomRendered                    Short       1  Normal process
Packit 01d647
Exif.Photo.ExposureMode                      Short       1  Auto
Packit 01d647
Exif.Photo.WhiteBalance                      Short       1  Auto
Packit 01d647
Exif.Photo.DigitalZoomRatio                  Rational    1  1.0
Packit 01d647
Exif.Photo.SceneCaptureType                  Short       1  Standard
Packit 01d647
"""
Packit 01d647
    elif img_format == 'psd':
Packit 01d647
        second = """Exif.Image.ImageWidth                        Short       1  150
Packit 01d647
Exif.Image.ImageLength                       Short       1  91
Packit 01d647
Exif.Image.BitsPerSample                     Short       3  8 8 8
Packit 01d647
Exif.Image.Orientation                       Short       1  top, left
Packit 01d647
Exif.Image.SamplesPerPixel                   Short       1  3
Packit 01d647
Exif.Image.XResolution                       Rational    1  72
Packit 01d647
Exif.Image.YResolution                       Rational    1  72
Packit 01d647
Exif.Image.ResolutionUnit                    Short       1  inch
Packit 01d647
Exif.Image.Software                          Ascii      30  Adobe Photoshop CS5 Macintosh
Packit 01d647
Exif.Image.DateTime                          Ascii      20  2011:06:27 21:41:02
Packit 01d647
Exif.Image.ExifTag                           Long        1  218
Packit 01d647
Exif.Photo.ExifVersion                       Undefined   4  2.21
Packit 01d647
Exif.Photo.UserComment                       Undefined  12  Test
Packit 01d647
Exif.Photo.ColorSpace                        Short       1  Uncalibrated
Packit 01d647
Exif.Photo.PixelXDimension                   Long        1  150
Packit 01d647
Exif.Photo.PixelYDimension                   Long        1  91
Packit 01d647
Exif.Thumbnail.Compression                   Short       1  JPEG (old-style)
Packit 01d647
Exif.Thumbnail.XResolution                   Rational    1  72
Packit 01d647
Exif.Thumbnail.YResolution                   Rational    1  72
Packit 01d647
Exif.Thumbnail.ResolutionUnit                Short       1  inch
Packit 01d647
Exif.Thumbnail.JPEGInterchangeFormat         Long        1  390
Packit 01d647
Exif.Thumbnail.JPEGInterchangeFormatLength   Long        1  0
Packit 01d647
"""
Packit 01d647
    return [first, second]
Packit 01d647
Packit 01d647
Packit 01d647
FILES = [
Packit 01d647
    make_filename(irb_type, img_format)
Packit 01d647
    for irb_type, img_format in itertools.product(TYPES, FORMATS)
Packit 01d647
]
Packit 01d647
Packit 01d647
ORIGINAL_FILES = [
Packit 01d647
    "$data_path/exiv2-bug800-" + irb_type + "." + img_format
Packit 01d647
    for irb_type, img_format in itertools.product(TYPES, FORMATS)
Packit 01d647
]
Packit 01d647
Packit 01d647
Packit 01d647
@system_tests.CopyFiles(*ORIGINAL_FILES)
Packit 01d647
class MissingPhotoshopIrbTypes(metaclass=system_tests.CaseMeta):
Packit 01d647
Packit 01d647
    url = "http://dev.exiv2.org/issues/800"
Packit 01d647
Packit 01d647
    types = ["8BIM", "AgHg", "DCSR", "PHUT"]
Packit 01d647
    formats = ["jpg", "psd"]
Packit 01d647
Packit 01d647
    commands = list(
Packit 01d647
        itertools.chain.from_iterable(
Packit 01d647
            make_commands(fname) for fname in FILES
Packit 01d647
        )
Packit 01d647
    )
Packit 01d647
Packit 01d647
    stdout = list(
Packit 01d647
        itertools.chain.from_iterable(
Packit 01d647
            make_stdout(irb_type, img_format)
Packit 01d647
            for irb_type, img_format in itertools.product(TYPES, FORMATS)
Packit 01d647
        )
Packit 01d647
    )
Packit 01d647
    stderr = [""] * 16
Packit 01d647
    retval = [0] * 16