aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2012-06-21 13:59:56 +0200
committerJay Berkenbilt <ejb@ql.org>2012-06-21 14:00:35 +0200
commitbc1c4bb57864c4dbe9b7e42a77e0653c0d473071 (patch)
tree1c4549bdeb5cbbe70aef0ad87ba3389565219d56 /qpdf
parented6a56a3cdb7fcaa41d87bf90bc0b8c7ef0d761c (diff)
downloadqpdf-bc1c4bb57864c4dbe9b7e42a77e0653c0d473071.tar.zst
Add QPDF::processFile that takes an open FILE*
Diffstat (limited to 'qpdf')
-rw-r--r--qpdf/qpdf.testcov3
-rw-r--r--qpdf/test_driver.cc20
2 files changed, 21 insertions, 2 deletions
diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov
index 51a5f6aa..8cfe81e4 100644
--- a/qpdf/qpdf.testcov
+++ b/qpdf/qpdf.testcov
@@ -200,3 +200,6 @@ qpdf-c set_info_key to null 0
qpdf-c set-info-key use existing info 0
qpdf-c add info to trailer 0
qpdf-c called qpdf_init_write_memory 0
+exercise processFile(name) 0
+exercise processFile(FILE*) 0
+exercise processMemoryFile 0
diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc
index ca2fc698..2dc41b41 100644
--- a/qpdf/test_driver.cc
+++ b/qpdf/test_driver.cc
@@ -60,17 +60,29 @@ void runtest(int n, char const* filename)
{
QPDF pdf;
PointerHolder<char> file_buf;
+ FILE* filep = 0;
if (n == 0)
{
pdf.setAttemptRecovery(false);
}
if (n % 2 == 0)
{
- pdf.processFile(filename);
+ if (n % 4 == 0)
+ {
+ QTC::TC("qpdf", "exercise processFile(name)");
+ pdf.processFile(filename);
+ }
+ else
+ {
+ QTC::TC("qpdf", "exercise processFile(FILE*)");
+ filep = QUtil::fopen_wrapper(std::string("open ") + filename,
+ fopen(filename, "rb"));
+ pdf.processFile(filep);
+ }
}
else
{
- // Exercise processMemoryFile
+ QTC::TC("qpdf", "exercise processMemoryFile");
FILE* f = QUtil::fopen_wrapper(std::string("open ") + filename,
fopen(filename, "rb"));
fseek(f, 0, SEEK_END);
@@ -623,6 +635,10 @@ void runtest(int n, char const* filename)
QUtil::int_to_string(n));
}
+ if (filep)
+ {
+ fclose(filep);
+ }
std::cout << "test " << n << " done" << std::endl;
}