Failing pdf metadata test
Hello,
when packaging for Void, I got failing test_metadata in test_pdf.py. What is strange to me is that metadata is determined correctly, what is found by printing them with attached patch. Maybe is is test itself what fail, and not comparator.
Any suggestions how to proceed?
differences_metadata = []
@skip_unless_module_exists('PyPDF2')
def test_metadata(differences_metadata):
expected_diff = get_data('pdf_metadata_expected_diff')
> assert differences_metadata[0].unified_diff == expected_diff
E IndexError: list index out of range
tests/comparators/test_pdf.py:74: IndexError
---------------------------- Captured stderr setup -----------------------------
["Creator: 'Prawn'", "Producer: 'Prawn'"]
["Author: ''", "CreationDate: 'D:20180428153751Z'", "Creator: 'LaTeX with hyperref package'", "Keywords: ''", "ModDate: 'D:20180428153751Z'", "PTEX.Fullbanner: 'This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/Debian) kpathsea version 6.3.0'", "Producer: 'pdfTeX-1.40.19'", "Subject: ''", "Title: ''", "Trapped: '/False'"]
index 248749e..457a492 100644
--- a/diffoscope/comparators/pdf.py
+++ b/diffoscope/comparators/pdf.py
@@ -78,13 +79,14 @@ class PdfFile(File):
@staticmethod
def dump_pypdf2_metadata(file):
try:
pdf = PyPDF2.PdfFileReader(file.path)
document_info = pdf.getDocumentInfo()
except PyPDF2.utils.PdfReadError as e:
return "(Could not extract metadata: {})".format(e)
xs = []
for k, v in sorted(document_info.items()):
xs.append("{}: {!r}".format(k.lstrip('/'), v))
+ print(xs, file=sys.stderr)
return "\n".join(xs)