+++ /dev/null
-# -*- coding: utf-8 -*-\r
-\r
-import system_tests\r
-from system_tests import CaseMeta, path, check_no_ASAN_UBSAN_errors\r
-\r
-class TestVerboseExtractXmpSidecarToStdout(metaclass=CaseMeta):\r
- """\r
- Regression test for 'verbose extracting XMP sidecar to stdout' bug described in:\r
- https://github.com/Exiv2/exiv2/issues/1934\r
- """\r
- url = "https://github.com/Exiv2/exiv2/issues/1934"\r
-\r
- filename = path("$data_path/issue_1934_poc4.jpg")\r
- commands = ["$exiv2 --verbose --extract X- $filename"]\r
-\r
- stdout = ["""<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>\r
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0-Exiv2">\r
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\r
- <rdf:Description rdf:about=""\r
- xmlns:dc="http://purl.org/dc/elements/1.1/"\r
- xmlns:exif="http://ns.adobe.com/exif/1.0/">\r
- <dc:subject>\r
- <rdf:Bag>\r
- <rdf:li>Value 1</rdf:li>\r
- </rdf:Bag>\r
- </dc:subject>\r
- <exif:UserComment>\r
- <rdf:Alt>\r
- <rdf:li xml:lang="x-default">Value 1</rdf:li>\r
- </rdf:Alt>\r
- </exif:UserComment>\r
- </rdf:Description>\r
- </rdf:RDF>\r
-</x:xmpmeta>\r
-<?xpacket end="w"?>"""]\r
-\r
- stderr = [""]\r
- retval = [0]\r
-\r
-class TestVerboseModifyRegAddExtractXmpSidecarToStdout(metaclass=CaseMeta):\r
- """\r
- Regression test for 'verbose with modify register and add when extracting XMP sidecar to stdout'\r
- bug described in:\r
- https://github.com/Exiv2/exiv2/issues/1934\r
- """\r
- url = "https://github.com/Exiv2/exiv2/issues/1934"\r
-\r
- filename = path("$data_path/issue_1934_poc4.jpg")\r
- commands = ["""$exiv2 --verbose --Modify "reg TempGroup tempgroup/" --Modify "add Xmp.TempGroup.val Value 1" --extract X- $filename"""]\r
-\r
- stdout = ["""<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>\r
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0-Exiv2">\r
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\r
- <rdf:Description rdf:about=""\r
- xmlns:dc="http://purl.org/dc/elements/1.1/"\r
- xmlns:TempGroup="tempgroup/"\r
- xmlns:exif="http://ns.adobe.com/exif/1.0/"\r
- TempGroup:val="Value 1">\r
- <dc:subject>\r
- <rdf:Bag>\r
- <rdf:li>Value 1</rdf:li>\r
- </rdf:Bag>\r
- </dc:subject>\r
- <exif:UserComment>\r
- <rdf:Alt>\r
- <rdf:li xml:lang="x-default">Value 1</rdf:li>\r
- </rdf:Alt>\r
- </exif:UserComment>\r
- </rdf:Description>\r
- </rdf:RDF>\r
-</x:xmpmeta>\r
-<?xpacket end="w"?>"""]\r
-\r
- stderr = [""]\r
- retval = [0]\r
-\r
-class TestVerboseModifySetExtractXmpSidecarToStdout(metaclass=CaseMeta):\r
- """\r
- Regression test for 'verbose modify set when extracting XMP sidecar to stdout' bug described in:\r
- https://github.com/Exiv2/exiv2/issues/1934\r
- """\r
- url = "https://github.com/Exiv2/exiv2/issues/1934"\r
-\r
- filename = path("$data_path/issue_1934_poc4.jpg")\r
- commands = ["""$exiv2 --verbose --Modify "set Xmp.dc.subject Value 2" --extract X- $filename"""]\r
-\r
- stdout = ["""<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>\r
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0-Exiv2">\r
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\r
- <rdf:Description rdf:about=""\r
- xmlns:dc="http://purl.org/dc/elements/1.1/"\r
- xmlns:exif="http://ns.adobe.com/exif/1.0/">\r
- <dc:subject>\r
- <rdf:Bag>\r
- <rdf:li>Value 1</rdf:li>\r
- <rdf:li>Value 2</rdf:li>\r
- </rdf:Bag>\r
- </dc:subject>\r
- <exif:UserComment>\r
- <rdf:Alt>\r
- <rdf:li xml:lang="x-default">Value 1</rdf:li>\r
- </rdf:Alt>\r
- </exif:UserComment>\r
- </rdf:Description>\r
- </rdf:RDF>\r
-</x:xmpmeta>\r
-<?xpacket end="w"?>"""]\r
-\r
- stderr = [""]\r
- retval = [0]\r
-\r
-class TestVerboseModifyDelExtractXmpSidecarToStdout(metaclass=CaseMeta):\r
- """\r
- Regression test for 'verbose modify delete when extracting XMP sidecar to stdout' bug described in:\r
- https://github.com/Exiv2/exiv2/issues/1934\r
- """\r
- url = "https://github.com/Exiv2/exiv2/issues/1934"\r
-\r
- filename = path("$data_path/issue_1934_poc4.jpg")\r
- commands = ["""$exiv2 --verbose --Modify "del Xmp.dc.subject" --extract X- $filename"""]\r
-\r
- stdout = ["""<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>\r
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.4.0-Exiv2">\r
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\r
- <rdf:Description rdf:about=""\r
- xmlns:exif="http://ns.adobe.com/exif/1.0/">\r
- <exif:UserComment>\r
- <rdf:Alt>\r
- <rdf:li xml:lang="x-default">Value 1</rdf:li>\r
- </rdf:Alt>\r
- </exif:UserComment>\r
- </rdf:Description>\r
- </rdf:RDF>\r
-</x:xmpmeta>\r
-<?xpacket end="w"?>"""]\r
-\r
- stderr = [""]\r
- retval = [0]\r
-\r
-class TestVerboseExtractRawMetadataToStdout(metaclass=CaseMeta):\r
- """\r
- Regression test for 'verbose extracting raw metadata to stdout' bug described in:\r
- https://github.com/Exiv2/exiv2/issues/1934\r
- """\r
- url = "https://github.com/Exiv2/exiv2/issues/1934"\r
-\r
- encodings = [bytes]\r
-\r
- def setUp(self):\r
- self.stdout = [bytes(open(self.expand_variables("$filename_ref"),'rb').read())]\r
-\r
- filename = path("$data_path/issue_1934_poc4.jpg")\r
- filename_ref = path("$data_path/issue_1934_poc4_ref.exv")\r
- \r
- commands = ["$exiv2 --verbose --extract XXeix- $filename"]\r
-\r
- stderr = [bytes([])]\r
- retval = [0]\r
-\r
-class TestVerboseExtractThumbnailToStdout(metaclass=CaseMeta):\r
- """\r
- Regression test for 'verbose extracting the thumbnail to stdout' bug described in:\r
- https://github.com/Exiv2/exiv2/issues/1934\r
- """\r
- url = "https://github.com/Exiv2/exiv2/issues/1934"\r
-\r
- encodings = [bytes]\r
-\r
- def setUp(self):\r
- self.stdout = [bytes(open(self.expand_variables("$filename_ref"),'rb').read())]\r
-\r
- filename = path("$data_path/issue_1934_poc4.jpg")\r
- filename_ref = path("$data_path/issue_1934_poc4-thumb_ref.jpg")\r
- \r
- commands = ["$exiv2 --verbose --extract t- $filename"]\r
-\r
- stderr = [bytes([])]\r
- retval = [0]\r
-\r
-class TestVerboseExtractICCProfileToStdout(metaclass=CaseMeta):\r
- """\r
- Regression test for 'verbose extracting the ICC profile to stdout' bug described in:\r
- https://github.com/Exiv2/exiv2/issues/1934\r
- """\r
- url = "https://github.com/Exiv2/exiv2/issues/1934"\r
-\r
- encodings = [bytes]\r
-\r
- def setUp(self):\r
- self.stdout = [bytes(open(self.expand_variables("$filename_ref"),'rb').read())]\r
-\r
- filename = path("$data_path/issue_1934_poc4.jpg")\r
- filename_ref = path("$data_path/issue_1934_poc4_ref.icc")\r
- \r
- commands = ["$exiv2 --verbose --extract C- $filename"]\r
-\r
- stderr = [bytes([])]\r
- retval = [0]\r
-\r
- compare_stdout = check_no_ASAN_UBSAN_errors\r
-\r
-class TestVerboseExtractCommentToStdout(metaclass=CaseMeta):\r
- """\r
- Regression test for 'verbose extracting the comment to stdout' bug described in:\r
- https://github.com/Exiv2/exiv2/issues/1934\r
- """\r
- url = "https://github.com/Exiv2/exiv2/issues/1934"\r
-\r
- encodings = [bytes]\r
-\r
- def setUp(self):\r
- self.stdout = [bytes(open(self.expand_variables("$filename_ref"),'rb').read())]\r
-\r
- filename = path("$data_path/issue_1934_poc4.jpg")\r
- filename_ref = path("$data_path/issue_1934_poc4_comment_ref.txt")\r
-\r
- commands = ["$exiv2 --verbose --extract c- $filename"]\r
-\r
- stderr = [bytes([])]\r
- retval = [0]\r