Blame test/bugfixes-test.sh

Packit 01d647
#!/bin/bash
Packit 01d647
# Test driver with regression tests for bugfixes
Packit 01d647
Packit 01d647
source ./functions.source
Packit 01d647
Packit 01d647
(   cd "$testdir"
Packit 01d647
Packit 01d647
    num=426
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -pi $filename
Packit 01d647
Packit 01d647
    num=440
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -pi $filename
Packit 01d647
Packit 01d647
    num=443
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -b -pt $filename
Packit 01d647
Packit 01d647
    num=444
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -pi $filename
Packit 01d647
Packit 01d647
    num=445
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -v -M'set Exif.Photo.UserComment A comment' $filename
Packit 01d647
    runTest exiv2 -u -b -pt $filename
Packit 01d647
    filename=exiv2-empty.jpg
Packit 01d647
    copyTestFile $filename
Packit 01d647
    runTest exiv2 -u -v -M'set Exif.Photo.UserComment A comment' $filename
Packit 01d647
    runTest exiv2 -u -b -pt $filename
Packit 01d647
Packit 01d647
    num=447 # Problem only visible in Valgrind
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -pi $filename
Packit 01d647
Packit 01d647
    num=452
Packit 01d647
    filename=`prep_empty_file $num`
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.GPSInfo.GPSLatitude SRational -1/3 -2/3 -3/3" $filename
Packit 01d647
    runTest exiv2 -u -pv $filename
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.GPSInfo.GPSLatitude Rational 1/3 2/3 3/3" $filename
Packit 01d647
    runTest exiv2 -u -pv $filename
Packit 01d647
Packit 01d647
    num=460
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -pt $filename
Packit 01d647
Packit 01d647
    num=479
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -pt $filename
Packit 01d647
Packit 01d647
    num=480
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest largeiptc-test $filename $datadir/imagemagick.png
Packit 01d647
Packit 01d647
    num=495
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -pi $filename
Packit 01d647
Packit 01d647
    num=498
Packit 01d647
    filename=`prep_empty_file $num`
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.GPSInfo.GPSLatitude 0/1 1/1 2/1" $filename
Packit 01d647
    runTest exiv2 -u -v -pv $filename
Packit 01d647
    runTest exiv2 -u -v -M"del Exif.GPSInfo.GPSLatitude" $filename
Packit 01d647
    runTest exiv2 -u -v -pv $filename
Packit 01d647
Packit 01d647
    num=501
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -pi $filename
Packit 01d647
Packit 01d647
    num=528
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -pt $filename
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Image.Software GI" $filename
Packit 01d647
Packit 01d647
    num=540
Packit 01d647
    filename=`prep_file $num`
Packit 01d647
    runTest exiv2 -u -px $filename
Packit 01d647
Packit 01d647
    num=554
Packit 01d647
    filename=`prep_empty_file $num`
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Image.DateTime Date 2007-05-27" $filename
Packit 01d647
    runTest exiv2 -u -pt $filename
Packit 01d647
Packit 01d647
    num=662
Packit 01d647
    filename=`prep_empty_file $num`
Packit 01d647
Packit 01d647
    runTest exiv2 -u -M"set Exif.Photo.UserComment charset=Ascii An ascii comment" $filename
Packit 01d647
    runTest exiv2 -u -PEnh $filename
Packit 01d647
Packit 01d647
    runTest exiv2 -u -M"set Exif.Photo.UserComment charset=Ascii A\\nnewline" $filename
Packit 01d647
    runTest exiv2 -u -PEnh $filename
Packit 01d647
Packit 01d647
    runTest exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode A Unicode comment" $filename
Packit 01d647
    runTest exiv2 -u -PEnh $filename
Packit 01d647
Packit 01d647
    runTest exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode \\u01c4" $filename
Packit 01d647
    runTest exiv2 -u -PEnh $filename
Packit 01d647
Packit 01d647
    runTest exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode A\\u01c4C" $filename
Packit 01d647
    runTest exiv2 -u -PEnh $filename
Packit 01d647
Packit 01d647
    runTest exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode With\\nNewline" $filename
Packit 01d647
    runTest exiv2 -u -PEnh $filename
Packit 01d647
Packit 01d647
    runTest exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode With\\tTab" $filename
Packit 01d647
    runTest exiv2 -u -PEnh $filename
Packit 01d647
Packit 01d647
    # Test invalid escape sequences
Packit 01d647
    runTest exiv2 -u -M"set Exif.Photo.UserComment charset=Unicode \\ugggg" $filename
Packit 01d647
    runTest exiv2 -u -PEnh $filename
Packit 01d647
Packit 01d647
    num=666
Packit 01d647
    filename=`prep_empty_file $num`
Packit 01d647
Packit 01d647
    runTest exiv2 -u -v -M'set Exif.Image.Make NIKON' \
Packit 01d647
          -M'set Exif.Image.Model D90' \
Packit 01d647
          -M'set Exif.Nikon3.ShutterCount 100' \
Packit 01d647
          -M'set Exif.Nikon3.SerialNumber 123' \
Packit 01d647
          -M'set Exif.NikonSi02xx.Version 48 50 51 52' \
Packit 01d647
          -M'set Exif.NikonSi02xx.ShutterCount 100' $filename
Packit 01d647
Packit 01d647
    runTest exiv2 -u -pa -u -b $filename
Packit 01d647
Packit 01d647
    num=683
Packit 01d647
    filename=`prep_any_file $num exiv2-nikon-d70.jpg`
Packit 01d647
    rm -f 2004-03-30-Tue-090.jpg
Packit 01d647
    runTest exiv2 -u -f -r %Y-%m-%d-%a-%j $filename
Packit 01d647
    ls 2004-03-30-Tue-090.jpg
Packit 01d647
Packit 01d647
    num=711
Packit 01d647
    printf "$num " >&3
Packit 01d647
    # Little endian (II)
Packit 01d647
    filename=exiv2-bug${num}-1.jpg
Packit 01d647
    copyTestFile exiv2-empty.jpg $filename
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    runTest exiv2 -u -v -M'set Exif.Image.ProcessingSoftware Initial values, read from the command line' \
Packit 01d647
              -M'set Exif.Image.DocumentName Float 0.12345' \
Packit 01d647
              -M'set Exif.Image.ImageDescription Double 0.987654321' $filename
Packit 01d647
    runTest exiv2 -u -v -PEkyct $filename
Packit 01d647
    runTest exiv2 -u -v -M'set Exif.Image.ProcessingSoftware Non-intrusive update' $filename
Packit 01d647
    runTest exiv2 -u -v -PEkyct $filename
Packit 01d647
    runTest exiv2 -u -v -M'set Exif.Image.ProcessingSoftware Intrusive update, writing the structure from scratch' $filename
Packit 01d647
    runTest exiv2 -u -v -PEkyct $filename
Packit 01d647
    # Big endian (MM)
Packit 01d647
    filename=exiv2-bug${num}-2.jpg
Packit 01d647
    copyTestFile  exiv2-kodak-dc210.jpg $filename
Packit 01d647
    runTest exiv2 -u -v -M'set Exif.Image.ProcessingSoftware Initial values, read from the command line' \
Packit 01d647
              -M'set Exif.Image.DocumentName Float 0.12345' \
Packit 01d647
              -M'set Exif.Image.ImageDescription Double 0.987654321' $filename
Packit 01d647
    runTest exiv2 -u -v -PEkyct $filename
Packit 01d647
    runTest exiv2 -u -v -M'set Exif.Image.ProcessingSoftware Non-intrusive update' $filename
Packit 01d647
    runTest exiv2 -u -v -PEkyct $filename
Packit 01d647
    runTest exiv2 -u -v -M'set Exif.Image.ProcessingSoftware Intrusive update, writing the structure from scratch' $filename
Packit 01d647
    runTest exiv2 -u -v -PEkyct $filename
Packit 01d647
Packit 01d647
    # Test easy-access keys (using a dummy bug number)
Packit 01d647
    if [ 1 = $(existsTest easyaccess-test) ]; then
Packit 01d647
        num=726
Packit 01d647
        filename=`prep_empty_file $num`
Packit 01d647
        runTest exiv2 -u -v -M"set Exif.Image.Make Samsung" $filename
Packit 01d647
        runTest easyaccess-test $filename
Packit 01d647
    else
Packit 01d647
        echo "bugfixes-test.sh: easyaccess-test executable not found. Skipping regression test for issue #726."
Packit 01d647
    fi
Packit 01d647
Packit 01d647
    # Test 'migration of XMP namespaces' (see #751 and related forum post)
Packit 01d647
    num=751
Packit 01d647
    filename=`prep_empty_file $num`
Packit 01d647
    xmpname=exiv2-bug$num.xmp
Packit 01d647
    runTest exiv2 -v -M'reg imageapp orig/' -M 'set Xmp.imageapp.uuid abcd' $filename
Packit 01d647
    runTest exiv2 -f -eX $filename
Packit 01d647
    cat $xmpname
Packit 01d647
    runTest exiv2 -v -M'reg imageapp dest/' -M 'set Xmp.imageapp.uuid abcd' $filename
Packit 01d647
    runTest exiv2 -f -eX $filename
Packit 01d647
    cat $xmpname
Packit 01d647
Packit 01d647
    num=769
Packit 01d647
    filename=`prep_empty_file $num`
Packit 01d647
    runTest exiv2 -u -v -M"add Exif.Image.Make Canon" -M"add Exif.CanonCs.0x0001 Short 1" -M"add Exif.CanonCs.0x0000 Short 2" $filename
Packit 01d647
    runTest exiv2 -u -v -PEkyct $filename
Packit 01d647
Packit 01d647
    num=784
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile  $filename
Packit 01d647
    runTest exiv2 -px $filename
Packit 01d647
    runTest exiv2 -M"add Xmp.lr.hierarchicalSubject root|1st|2nd|3rd|4th|5th" $filename
Packit 01d647
    runTest exiv2 -px $filename
Packit 01d647
Packit 01d647
    num=799
Packit 01d647
    filename=`prep_empty_file $num`
Packit 01d647
    copyTestFile         bug$num.cmd
Packit 01d647
    runTest exiv2 -v -m  bug$num.cmd $filename
Packit 01d647
    runTest exiv2 -v -pa $filename
Packit 01d647
    runTest exiv2 -f -eX $filename
Packit 01d647
    cat exiv2-bug$num.xmp
Packit 01d647
Packit 01d647
    num=800
Packit 01d647
    printf "$num " >&3
Packit 01d647
    for type in 8BIM AgHg DCSR PHUT; do
Packit 01d647
        for format in jpg psd; do
Packit 01d647
            echo "------> Bug $num ($type in $format) <-------" >&2
Packit 01d647
            filename=exiv2-bug$num-$type.$format
Packit 01d647
            copyTestFile $filename
Packit 01d647
            runTest exiv2 -u -v -M'set Exif.Photo.UserComment Test' $filename
Packit 01d647
            runTest exiv2 -u -pt $filename
Packit 01d647
        done
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=812 # updating a hardlinked file can "empty" the other files!
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile exiv2-bug884c.jpg bug$num.jpg
Packit 01d647
    hardLinkFiles                  bug$num.jpg bug$num-B.jpg bug$num-C.jpg
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Photo.UserComment Test Bug $num" bug$num.jpg
Packit 01d647
    runTest exiv2 -PE -g UserComment bug${num}*.jpg
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Photo.UserComment Test Bug $num modified" bug$num.jpg
Packit 01d647
    runTest exiv2 -PE -g UserComment bug${num}*.jpg
Packit 01d647
Packit 01d647
    num=816 # test Camera: Pentax + Lens:Sigma 55-200mm F4-5.6 DC is correctly reported
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    for X in a b c d e; do
Packit 01d647
        filename=exiv2-bug${num}${X}.exv
Packit 01d647
        copyTestFile $filename
Packit 01d647
        runTest exiv2 -pa --grep Lens $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=825 # Panasonic Manometer Tag
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    for X in a b; do
Packit 01d647
        filename=exiv2-bug${num}${X}.exv
Packit 01d647
        copyTestFile $filename
Packit 01d647
        runTest exiv2 -pv --grep mano/i $filename
Packit 01d647
        runTest exiv2 -pa --grep mano/i $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=831
Packit 01d647
    filename=exiv2-bug$num.tif
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile mini9.tif $filename
Packit 01d647
    runTest exiv2 -v -Qd -M'set Exif.Image.ImageDescription Just GIMP' $filename
Packit 01d647
    runTest exiv2 -v -pa $filename
Packit 01d647
Packit 01d647
    num=836
Packit 01d647
    filename=exiv2-bug$num.eps
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile $filename $filename
Packit 01d647
    if [ -e $filename/rsrc ]; then
Packit 01d647
        printf "$num " >&3
Packit 01d647
        copyTestFile $filename.rsrc $filename/rsrc
Packit 01d647
        runTest exiv2 -M'set Exif.Photo.UserComment Test' $filename
Packit 01d647
        diff -q $datadir/$filename.rsrc $filename/rsrc
Packit 01d647
    else
Packit 01d647
        # skip this test on systems which do not have resource forks
Packit 01d647
        printf "($num skipped) " >&3
Packit 01d647
    fi
Packit 01d647
Packit 01d647
    num=841
Packit 01d647
    filename=exiv2-bug$num.png
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile $filename
Packit 01d647
    runTest exiv2 $filename
Packit 01d647
Packit 01d647
    num=855
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile              $filename
Packit 01d647
    runTest exiv2 -pa         $filename
Packit 01d647
Packit 01d647
    num=876
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile  $filename
Packit 01d647
    runTest exiv2 -pa $filename | grep Model
Packit 01d647
Packit 01d647
    num=884
Packit 01d647
    filenames="exiv2-bug${num}a.jpg exiv2-bug${num}b.jpg exiv2-bug${num}c.jpg"
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    for filename in $filenames; do
Packit 01d647
      copyTestFile  $filename
Packit 01d647
      runTest exiv2 -pt $filename | grep -i lenstype
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=922
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile      $filename
Packit 01d647
    runTest exiv2 -pX $filename ; echo '' # add a lf after the XMP/xml
Packit 01d647
    filename=iptc-psAPP13-wIPTCempty-psAPP13-wIPTC.jpg
Packit 01d647
    copyTestFile      $filename
Packit 01d647
    runTest exiv2 -pX $filename
Packit 01d647
    for filename in exiv2-bug$num.png exiv2-bug$num.tif exiv2-bug${num}a.jpg; do
Packit 01d647
        copyTestFile $filename ;
Packit 01d647
        runTest exiv2 -pX $filename ; echo ''
Packit 01d647
        runTest exiv2 -pS $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=935
Packit 01d647
    filename=`prep_empty_file $num`
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Photo.ExposureTime 605/10" $filename
Packit 01d647
    runTest exiv2 -u -pv -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -pa -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Photo.ExposureTime 2/3" $filename
Packit 01d647
    runTest exiv2 -u -pv -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -pa -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Photo.ExposureTime 0/0" $filename
Packit 01d647
    runTest exiv2 -u -pv -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -pa -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Photo.ExposureTime 605/605" $filename
Packit 01d647
    runTest exiv2 -u -pv -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -pa -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Photo.ExposureTime 100/1500" $filename
Packit 01d647
    runTest exiv2 -u -pv -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -pa -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -v -M"set Exif.Photo.ExposureTime Ascii Test" $filename
Packit 01d647
    runTest exiv2 -u -pv -gExif.Photo.ExposureTime $filename
Packit 01d647
    runTest exiv2 -u -pa -gExif.Photo.ExposureTime $filename
Packit 01d647
Packit 01d647
    num=937
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile  $filename
Packit 01d647
    runTest exiv2 -q -pa      -g dwc  $filename
Packit 01d647
    runTest exiv2 -q -PXkyctl -g Date $filename
Packit 01d647
Packit 01d647
    num=937a
Packit 01d647
    filename=exiv2.dc.dwc.i18n.jpg
Packit 01d647
    dataname=exiv2.dc.dwc.i18n.txt
Packit 01d647
    diffname=exiv2.dc.dwc.i18n.diff
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile         $filename
Packit 01d647
    copyTestFile         $dataname
Packit 01d647
    copyTestFile         $diffname
Packit 01d647
    runTest exiv2 -pa    $filename | sort            > $num-before.txt
Packit 01d647
    runTest exiv2 -m     $dataname  $filename
Packit 01d647
    runTest exiv2 -pa    $filename | sort            > $num-after.txt
Packit 01d647
    diff $diffargs $num-before.txt $num-after.txt    > $num.txt
Packit 01d647
    diff $diffargs $num.txt        $diffname
Packit 01d647
Packit 01d647
    num=1024
Packit 01d647
    filename=exiv2-bug$num.exv
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile  $filename
Packit 01d647
    runTest exiv2 -pa --grep gpsl/i $filename
Packit 01d647
Packit 01d647
    num=1026
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile  $filename
Packit 01d647
    runTest exiv2 -q -pa -g Lens $filename
Packit 01d647
Packit 01d647
    num=1040
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile  $filename
Packit 01d647
    runTest exiv2 -px $filename
Packit 01d647
Packit 01d647
    num=1043  # looping and writing to a samba drive can hang!
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    for n in A B C D E F G H I J K L M N O P Q R S T U V W X Y Z; do
Packit 01d647
        copyTestFile exiv2-bug884c.jpg bug${num}-$n.jpg
Packit 01d647
    done
Packit 01d647
    for name in bug${num}-*.jpg; do
Packit 01d647
        runTest exiv2 -u -v -M"set Exif.Photo.UserComment Test Bug $num my filename is $name" $name
Packit 01d647
    done
Packit 01d647
    runTest exiv2 -PE -g UserComment bug${num}*.jpg
Packit 01d647
Packit 01d647
    num=1044
Packit 01d647
    filename=exiv2-bug$num.tif
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile  $filename
Packit 01d647
    runTest exiv2 -q -pa -g PageNumber $filename
Packit 01d647
Packit 01d647
    num=1053
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile exiv2-bug884c.jpg $filename
Packit 01d647
    runTest exiv2 -PE -g ImageWidth            $filename
Packit 01d647
    runTest exiv2 -PE -K ImageWidth            $filename
Packit 01d647
    runTest exiv2 -PE -K Exif.Image.ImageWidth $filename
Packit 01d647
Packit 01d647
    num=1054
Packit 01d647
    filename1=exiv2-bug${num}-1.jpg
Packit 01d647
    filename2=exiv2-bug${num}-2.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile BlueSquare.xmp   $filename1
Packit 01d647
    copyTestFile exiv2-bug784.jpg $filename2
Packit 01d647
    runTest exiv2json        $filename1
Packit 01d647
    runTest exiv2json x      $filename1
Packit 01d647
    runTest exiv2json        $filename2
Packit 01d647
Packit 01d647
    num=1058
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile exiv2-empty.jpg $filename
Packit 01d647
    # Add titles in 2 languages and one default
Packit 01d647
    runTest exiv2 -M'set Xmp.dc.title lang="de-DE" GERMAN'  $filename
Packit 01d647
    runTest exiv2 -M'set Xmp.dc.title lang="en-GB" BRITISH' $filename
Packit 01d647
    runTest exiv2 -M'set Xmp.dc.title Everybody else'       $filename
Packit 01d647
    runTest exiv2 -px                                       $filename
Packit 01d647
    # Remove languages, test case for the language
Packit 01d647
    runTest exiv2 -M'set Xmp.dc.title lang="DE-de" german'  $filename
Packit 01d647
    runTest exiv2 -M'set Xmp.dc.title lang="EN-gb"'         $filename
Packit 01d647
    runTest exiv2 -M'set Xmp.dc.title'                      $filename
Packit 01d647
    runTest exiv2 -px                                       $filename
Packit 01d647
Packit 01d647
    num=1062
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile              $filename
Packit 01d647
    runTest exiv2 -pa -g zone $filename
Packit 01d647
Packit 01d647
    num=1080
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile              $filename
Packit 01d647
    runTest exiv2 -pa         $filename
Packit 01d647
Packit 01d647
    num=1074
Packit 01d647
    filename=exiv2-bug$num.png
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile      $filename
Packit 01d647
    runTest exiv2 -pC $filename       > ${num}_1.icc ; checkSum ${num}_1.icc
Packit 01d647
    copyTestFile      imagemagick.png
Packit 01d647
    runTest exiv2 -pC imagemagick.png > ${num}_2.icc ; checkSum ${num}_2.icc
Packit 01d647
    copyTestFile      Reagan.tiff
Packit 01d647
    runTest exiv2 -pC Reagan.tiff     > ${num}_3.icc ; checkSum ${num}_3.icc
Packit 01d647
    copyTestFile      Reagan.jpg
Packit 01d647
    runTest exiv2 -pC Reagan.jpg      > ${num}_4.icc ; checkSum ${num}_4.icc
Packit 01d647
Packit 01d647
    num=1108
Packit 01d647
    filename=exiv2-bug$num.exv
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pR                   $filename
Packit 01d647
    copyTestFile      imagemagick.png
Packit 01d647
    runTest exiv2 -pR imagemagick.png
Packit 01d647
    copyTestFile      ReaganLargeTiff.tiff
Packit 01d647
    runTest exiv2 -pR ReaganLargeTiff.tiff
Packit 01d647
    copyTestFile      Reagan.jpg
Packit 01d647
    runTest exiv2 -pR Reagan.jpg
Packit 01d647
    echo ''
Packit 01d647
Packit 01d647
    num=1112
Packit 01d647
    filename=exiv2-bug$num.xmp
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -M 'del Xmp.dc.title' $filename
Packit 01d647
    cat                                 $filename
Packit 01d647
    echo ''
Packit 01d647
Packit 01d647
    num=1114
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pv -g TuneAdj        $filename
Packit 01d647
Packit 01d647
    num=1122
Packit 01d647
    filename=exiv2-bug$num.exv
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pv -g Lens           $filename
Packit 01d647
    runTest exiv2 -pa -g Lens           $filename
Packit 01d647
Packit 01d647
    num=1137
Packit 01d647
    filename=exiv2-bug$num.exv
Packit 01d647
    printf "$num " >&3
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile       Stonehenge.exv   $filename
Packit 01d647
    copyTestFile       Stonehenge.exv
Packit 01d647
    runTest exiv2 -PkV --grep GPSL      $filename
Packit 01d647
    runTest exiv2 -PkV --grep GPSL      Stonehenge.exv | runTest exiv2 -m- $filename
Packit 01d647
    runTest exiv2 -pa  --grep GPSL      $filename
Packit 01d647
Packit 01d647
    num=1140
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-bug$num.exv
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pa -g Lens           $filename
Packit 01d647
Packit 01d647
    num=1144
Packit 01d647
    printf "$num " >&3
Packit 01d647
    for i in a b c d e f g; do
Packit 01d647
      filename=exiv2-bug$num$i.exv
Packit 01d647
      echo '------>' Bug $num$i '<-------' >&2
Packit 01d647
      copyTestFile                      $filename
Packit 01d647
      runTest exiv2 -pa -g Lens         $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=1145
Packit 01d647
    printf "$num " >&3
Packit 01d647
    for i in a b c d e; do
Packit 01d647
      filename=exiv2-bug$num$i.exv
Packit 01d647
      echo '------>' Bug $num$i '<-------' >&2
Packit 01d647
      copyTestFile                      $filename
Packit 01d647
      runTest exiv2 -pa -g Lens         $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=1153
Packit 01d647
    printf "$num " >&3
Packit 01d647
    for E in A J; do for i in a b c d e f g h i j k; do
Packit 01d647
      filename=exiv2-bug$num${E}${i}.exv
Packit 01d647
      echo '------>' Bug $num${E}${i} '<-------' >&2
Packit 01d647
      copyTestFile                      $filename
Packit 01d647
      runTest exiv2 -pa -g Lens         $filename
Packit 01d647
    done;done
Packit 01d647
Packit 01d647
    num=1155
Packit 01d647
    printf "$num " >&3
Packit 01d647
    for i in a b c d e f g h i; do
Packit 01d647
      filename=exiv2-bug$num${i}.exv
Packit 01d647
      echo '------>' Bug $num${i} '<-------' >&2
Packit 01d647
      copyTestFile                      $filename
Packit 01d647
      runTest exiv2 -pa -g Lens         $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=1166
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-bug$num.exv
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pa --grep lens/i     $filename
Packit 01d647
Packit 01d647
    num=1167
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-bug$num.exv
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pa --grep lens/i     $filename
Packit 01d647
Packit 01d647
    num=1170
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-bug$num.exv
Packit 01d647
    echo '------>' Bug $num '<-------' >&2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pa --grep lens/i     $filename
Packit 01d647
Packit 01d647
    num=1179
Packit 01d647
    printf "$num " >&3
Packit 01d647
    for X in a b c d e f g h i j; do
Packit 01d647
      filename=exiv2-bug$num$X.exv
Packit 01d647
      echo '------>' Bug $filename '<-------' >&2
Packit 01d647
      copyTestFile                      $filename
Packit 01d647
      runTest exiv2 -pa --grep fuji/i   $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=1202
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-bug$num.jpg # test/tmp/20030925_201850.jpg
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    for value in 0 1 8 9 -1; do
Packit 01d647
      runTest exiv2 -M"set Exif.CanonCs.FocusContinuous SShort $value" $filename
Packit 01d647
      runTest exiv2 -K Exif.CanonCs.FocusContinuous $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=1223
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    copyTestFile   RAW_PENTAX_K30.exv
Packit 01d647
    copyTestFile   RAW_PENTAX_K100.exv
Packit 01d647
    runTest exiv2 -pa --grep Shutter    RAW_PENTAX_K30.exv
Packit 01d647
    runTest exiv2 -pa --grep Shutter    RAW_PENTAX_K100.exv
Packit 01d647
Packit 01d647
    num=1225
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-bug$num.exv
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pa --grep Bar        $filename
Packit 01d647
Packit 01d647
    num=1229
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pX                   $filename | xmllint --format -
Packit 01d647
Packit 01d647
    num=1231
Packit 01d647
    printf "$num " >&3
Packit 01d647
    for X in a b; do
Packit 01d647
      filename=exiv2-bug$num$X.jpg
Packit 01d647
      echo '------>' Bug $filename '<-------' >&2
Packit 01d647
      copyTestFile                      $filename
Packit 01d647
      runTest exiv2 -pa --grep CanonTi/i   $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=1242
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=Reagan.jp2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pa                   $filename
Packit 01d647
Packit 01d647
    num=1247
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-bug$num.jpg
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2 -pa                   $filename
Packit 01d647
Packit 01d647
    num=1252
Packit 01d647
    printf "$num " >&3
Packit 01d647
    for X in a b; do
Packit 01d647
      filename=exiv2-bug$num$X.exv
Packit 01d647
      echo '------>' Bug $filename '<-------' >&2
Packit 01d647
      copyTestFile                      $filename
Packit 01d647
      runTest exiv2 -pa --grep lens/i   $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=1305
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=IMGP0006-min.jpg
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                        $filename
Packit 01d647
    runTest exiv2                       $filename
Packit 01d647
Packit 01d647
    num=g20
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-$num.exv
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2 -pa --grep lens/i   $filename
Packit 01d647
    for filename in CanonEF100mmF2.8LMacroISUSM.exv      \
Packit 01d647
                    TamronSP15-30mmF2.8DiVCUSDA012.exv   \
Packit 01d647
                    TamronSP90mmF2.8DiVCUSDMacroF004.exv \
Packit 01d647
                    TamronSP90mmF2.8DiVCUSDMacroF017.exv
Packit 01d647
    do
Packit 01d647
      copyTestFile                    $filename
Packit 01d647
      runTest exiv2 -pa --grep lenstype/i  $filename
Packit 01d647
    done
Packit 01d647
Packit 01d647
    num=g45
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=exiv2-$num.exv
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2 -pa --grep lens/i   $filename
Packit 01d647
Packit 01d647
    num=g55
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC8
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename 2>/dev/null
Packit 01d647
Packit 01d647
    num=g57
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g79
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC2
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g52
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC5
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    echo 'ORF IMAGE'
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g51
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC4
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    echo 'RW2 IMAGE'
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g50
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC3
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g53
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC6
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    echo 'ORF IMAGE'
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g56
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC9
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g58
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC11
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    echo 'ORF IMAGE'
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g59
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC12
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    echo 'ORF IMAGE'
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g60
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC13
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    echo 'ORF IMAGE'
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g71
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=003-heap-buffer-over
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g73
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=02-Invalid-mem-def
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g74
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=005-invalid-mem
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g75
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=008-invalid-mem
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g76
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=010_bad_free
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g54
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC7
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g134
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=004-heap-buffer-over
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g132
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=01-Null-exiv2-poc
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g144
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=POC1
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g159
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=printStructure
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g138
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=007-heap-buffer-over
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g139
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=009-stack-over
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g140
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=006-heap-buffer-over
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
    num=g188
Packit 01d647
    printf "$num " >&3
Packit 01d647
    filename=poc_2017-12-12_issue188
Packit 01d647
    echo '------>' Bug $filename '<-------' >&2
Packit 01d647
    copyTestFile                      $filename
Packit 01d647
    runTest exiv2                     $filename
Packit 01d647
Packit 01d647
) 3>&1 > $results 2>&1
Packit 01d647
Packit 01d647
printf "\n"
Packit 01d647
Packit 01d647
# ----------------------------------------------------------------------
Packit 01d647
# Evaluate results
Packit 01d647
cat $results | tr -d $'\r' > $results-stripped
Packit 01d647
mv                           $results-stripped $results
Packit 01d647
reportTest                                     $results $good
Packit 01d647
Packit 01d647
# That's all Folks!
Packit 01d647
##