aboutsummaryrefslogtreecommitdiffstats
path: root/libtests/qtest
AgeCommit message (Collapse)Author
2021-02-09Add QUtil methods for dealing with PDF timestamp stringsJay Berkenbilt
2021-01-24Add iterators to name/number tree helpersJay Berkenbilt
2021-01-24Reimplement name and number tree object helpersJay Berkenbilt
Create a computationally and memory efficient implementation of name and number trees that does binary searches as intended by the data structure rather than loading into a map, which can use a great deal of memory and can be very slow.
2020-11-21Handle negative numbers in QIntC::range_check (fuzz issue 26994)Jay Berkenbilt
2020-04-06Delegate random number generation to crypto provider (fixes #418)Jay Berkenbilt
2020-04-05JSON: implement pattern keys in schemaJay Berkenbilt
2020-04-04Allow qpdf to be built on systems without wchar_t (fixes #406)Jay Berkenbilt
2020-01-14Pull wmain -> main code from qpdf.cc into QUtil.ccJay Berkenbilt
2019-11-09Allow odd/even modifiers in numeric range (fixes #364)Jay Berkenbilt
2019-11-09Run libtests for crypto with all available providersJay Berkenbilt
If QPDF_CRYPTO_PROVIDER is set, just run the tests for the given provider. This is to support cases of running the entire test suite for each provider. If QPDF_CRYPTO_PROVIDER is not set, run the tests that exercise the cyrpto provider for each available provider.
2019-11-09Increase coverage for RC4 testingJay Berkenbilt
2019-11-09See if C++11 features workJay Berkenbilt
2019-09-17Don't assume char is signed in int conversion tests (fixes #361)Jay Berkenbilt
2019-08-31Add remove_file and rename_file to QUtilJay Berkenbilt
2019-08-30Add getRefcount to PointerHolder testJay Berkenbilt
2019-08-18SparseOHArrayJay Berkenbilt
2019-06-22Add QUtil::read_file_into_memoryJay Berkenbilt
This code was essentially duplicated between test_driver and standalone_fuzz_target_runner.
2019-06-22Convert remaining public classes to use Members patternJay Berkenbilt
Have classes contain only a single private member of type PointerHolder<Members>. This makes it safe to change the structure of the Members class without breaking binary compatibility. Many of the classes already follow this pattern quite successfully. This brings in the rest of the class that are part of the public API.
2019-06-21Fix bounds error in utf16_to_utf8 conversionJay Berkenbilt
2019-06-21Fix sign and conversion warnings (major)Jay Berkenbilt
This makes all integer type conversions that have potential data loss explicit with calls that do range checks and raise an exception. After this commit, qpdf builds with no warnings when -Wsign-conversion -Wconversion is used with gcc or clang or when -W3 -Wd4800 is used with MSVC. This significantly reduces the likelihood of potential crashes from bogus integer values. There are some parts of the code that take int when they should take size_t or an offset. Such places would make qpdf not support files with more than 2^31 of something that usually wouldn't be so large. In the event that such a file shows up and is valid, at least qpdf would raise an error in the right spot so the issue could be legitimately addressed rather than failing in some weird way because of a silent overflow condition.
2019-06-21QUtil: add unsigned int/string functionsJay Berkenbilt
2019-06-21New safe type converters in QIntCJay Berkenbilt
2019-01-27Convert pages to form XObjectsJay Berkenbilt
Support conversion of pages to form XObjects and placement of form XObjects on pages.
2019-01-17Add QUtil::possible_repaired_encodingsJay Berkenbilt
2019-01-17QUtil::analyze_encodingJay Berkenbilt
2019-01-17Bidirectional transcoding for win, mac, pdf, utf8, utf16Jay Berkenbilt
2019-01-06Add WinAnsi and MacRoman encodingJay Berkenbilt
2019-01-06Refactor QUtil::utf8_to_asciiJay Berkenbilt
2019-01-04Add QUtil::utf8_to_asciiJay Berkenbilt
2018-12-22Move numrange code from qpdf.cc to QUtil.ccJay Berkenbilt
Also move tests to libtests.
2018-12-22Add simple JSON serializerJay Berkenbilt
2018-08-05ClosedFileInputSource: add method to keep file openJay Berkenbilt
During periods of intensive operation on a specific file, this method can reduce the overhead of repeated open/close operations.
2018-06-22Add ClosedFileInputSourceJay Berkenbilt
ClosedFileInputSource is an input source that keeps the file closed when not reading it.
2018-06-21QUtil::toUTF16Jay Berkenbilt
2018-06-21Label qutil test outputJay Berkenbilt
2018-03-06Pl_Buffer starts in a ready stateJay Berkenbilt
2018-01-14Add QUtil::hex_decodeJay Berkenbilt
2018-01-14Add Pl_TIFFPredictorJay Berkenbilt
2018-01-14Add signed support to BitStream and BitWriterJay Berkenbilt
2018-01-14Rename png_filter -> predictorsJay Berkenbilt
2017-12-26Add tests for new PNG filtersJay Berkenbilt
2017-12-25PNG filter test imagesJay Berkenbilt
2017-09-08Pl_DCT: Use custom source and destination managers (fixes #153)Jay Berkenbilt
Avoid calling jpeg_mem_src and jpeg_mem_dest. The custom destination manager writes to the pipeline in smaller chunks to avoid having the whole image in memory at once. The source manager works directly with the Buffer object. Using customer managers avoids use of memory source and destination managers, which are not present in older versions of libjpeg still in use by some Linux distributions.
2017-08-29Detect integer overflow/underflowJay Berkenbilt
2017-08-21Implement Pl_DCT pipelineJay Berkenbilt
Additional testing is added in later commits to be supported by additional changes in the library.
2017-08-19Implement Pl_RunLength pipelineJay Berkenbilt
2017-08-11Remove PCREJay Berkenbilt
2017-08-11Implement findFirst and findLast in InputSourceJay Berkenbilt
Preparing to refactor some pattern searching code to use these instead of their own memchr loops. This should simplify the code that replaces PCRE.
2017-07-30Allow reading command-line args from files (fixes #16)Jay Berkenbilt
2017-07-30Detect input file = output file (fixes #29)Jay Berkenbilt