Merge pull request #479 from D4N/add_reproducers

Add reproducers for #159, #216 and #263
v0.27.3
D4N 7 years ago committed by GitHub
commit d68f42a609
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

Binary file not shown.

@ -5,47 +5,23 @@ import system_tests
class TestFirstPoC(metaclass=system_tests.CaseMeta):
"""
Regression test for the first bug described in:
Regression test for the two bugs described in:
https://github.com/Exiv2/exiv2/issues/159
We do not actually check the output of these files, we only check that we
don't get a crash (the metadata are bogus anyway, so no point in checking).
"""
url = "https://github.com/Exiv2/exiv2/issues/159"
filename = "$data_path/printStructure"
commands = ["$exiv2 " + filename]
stdout = [
"""File name : $filename
File size : 12357 Bytes
MIME type : image/tiff
Image size : 0 x 0
Camera make :
Camera model :
Image timestamp :
Image number :
Exposure time :
Aperture :
Exposure bias :
Flash :
Flash bias :
Focal length :
Subject distance:
ISO speed :
Exposure mode :
Metering mode :
Macro mode :
Image quality :
Exif Resolution :
White balance :
Thumbnail : None
Copyright :
Exif comment :
"""
filename = [
system_tests.path("$data_path/printStructure"),
system_tests.path("$data_path/printStructure2")
]
commands = [
"$exiv2 " + filename[0],
"$exiv2 -pS " + filename[1],
]
stderr = [""]
retval = [0]
retval = [0, 1]
compare_stderr = system_tests.check_no_ASAN_UBSAN_errors
# todo:
# class TestSecondPoC(system_tests.Case):
compare_stdout = system_tests.check_no_ASAN_UBSAN_errors

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
import system_tests
class UncontrolledRecursion(metaclass=system_tests.CaseMeta):
url = "https://github.com/Exiv2/exiv2/issues/216"
filename = system_tests.path(
"$data_path/"
"exiv2_0-26_exiv2_uncontrolled-recursion_printIFDStructure.tif"
)
commands = ["$exiv2 -pR $filename"]
retval = [1]
stdout = [
"""STRUCTURE OF TIFF FILE (MM): $filename
address | tag | type | count | offset | value
10 | 0x0100 ImageWidth | SHORT | 1 | | 1
22 | 0x0103 Compression | SHORT | 0 | |
34 | 000000 GPSVersionID | BYTE | 0 | | """
]
compare_stderr = system_tests.check_no_ASAN_UBSAN_errors

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
import system_tests
class OutOfBoundsReadInPrintStructure(metaclass=system_tests.CaseMeta):
url = "https://github.com/Exiv2/exiv2/issues/263"
filenames = [
system_tests.path("$data_path/9-printStructure-outbound-read-1"),
system_tests.path("$data_path/10-printStructure-outbound-read-2")
]
commands = ["$exiv2 -pR " + fname for fname in filenames]
retval = [1] * 2
compare_stderr = system_tests.check_no_ASAN_UBSAN_errors
compare_stdout = system_tests.check_no_ASAN_UBSAN_errors
Loading…
Cancel
Save