- 25 Mar, 2021 5 commits
-
-
Uli Schlachter authored
Avoid a use-after-scope Closes #453 See merge request !143
-
Uli Schlachter authored
"Fix" the pdf-mime-data test See merge request !142
-
Uli Schlachter authored
Use the serial automake test harness See merge request !138
-
Uli Schlachter authored
test suite: fflush() before fork() See merge request !139
-
Uli Schlachter authored
Fix the mime-unique-id test for me See merge request !141
-
- 22 Mar, 2021 1 commit
-
-
Tim-Philipp Müller authored
ci: bump windows image to latest version to fix github ssl certificate issues See merge request !148
-
- 20 Mar, 2021 1 commit
-
-
Tim-Philipp Müller authored
-
- 10 Mar, 2021 1 commit
-
-
Tim-Philipp Müller authored
Fix a leak in an error path See merge request !144
-
- 09 Mar, 2021 4 commits
-
-
Tim-Philipp Müller authored
meson: make cairo-trace executable Closes #462 See merge request !145
-
Tim-Philipp Müller authored
Install with exec flag set and make sure tool is executable in build directory as well (by making the input file in the source directory executable). Fixes #462
-
Uli Schlachter authored
Tested with valgrind. Before this patch, I got the following "definitely lost" entry, which is gone afterwards: 94,416 bytes in 1 blocks are definitely lost in loss record 427 of 427 at 0x483877F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x4B053F8: cairo_truetype_font_write_glyf_table (cairo-truetype-subset.c:625) by 0x4B06219: cairo_truetype_font_generate (cairo-truetype-subset.c:991) by 0x4B06917: cairo_truetype_subset_init_internal (cairo-truetype-subset.c:1159) by 0x4B06D72: _cairo_truetype_subset_init_pdf (cairo-truetype-subset.c:1255) by 0x4B6B113: _cairo_pdf_surface_emit_truetype_font_subset (cairo-pdf-surface.c:5892) by 0x4B6C2AD: _cairo_pdf_surface_emit_unscaled_font_subset (cairo-pdf-surface.c:6366) by 0x4B02FC7: _cairo_sub_font_collect (cairo-scaled-font-subsets.c:741) by 0x4B03A7A: _cairo_scaled_font_subsets_foreach_internal (cairo-scaled-font-subsets.c:1062) by 0x4B03B21: _cairo_scaled_font_subsets_foreach_unscaled (cairo-scaled-font-subsets.c:1090) by 0x4B6C3ED: _cairo_pdf_surface_emit_font_subsets (cairo-pdf-surface.c:6412) by 0x4B62B1A: _cairo_pdf_surface_finish (cairo-pdf-surface.c:2222) To reproduce, run the test case from the below link. Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28023Signed-off-by:
Uli Schlachter <psychon@znc.in>
-
Uli Schlachter authored
This is the same fix as commit b345be5a, but in a different place in the same file. Fixes: #453Signed-off-by:
Uli Schlachter <psychon@znc.in>
-
- 08 Mar, 2021 6 commits
-
-
Uli Schlachter authored
Currently, the pdf-mime-data check just fails for me with the following output: sh: 1: pdfimages: not found pdf-mime-data: FAIL pdf-mime-data.log contains: pdfimages failed with exit status 32512 Since I do not have pdfimages installed... yeah. This commit "fixes" that problem by skipping the test if pdfimages is not available. No idea if it would pass if it were available, but I do not feel like installing pdfimages just to test. Signed-off-by:
Uli Schlachter <psychon@znc.in>
-
Uli Schlachter authored
This makes the code use the existing helper for loading PNGs that also considers the $srcdir environment variable. This makes it find the file in out of tree builds. Signed-off-by:
Uli Schlachter <psychon@znc.in>
-
Uli Schlachter authored
I am not quite sure, but an if for "ignore this error if something failed" seems wrong. Either this should have compared against status2 or checked for success. This commit fixes the code for the latter. Signed-off-by:
Uli Schlachter <psychon@znc.in>
-
Uli Schlachter authored
The test mime-unique-id checks that some images are only embedded once in a PDF. It does so by checking if the file size is within some expected bounds. However, the test fails for me because the file is too small. Yes, too *small*. Fix this by updating the test to expect my current file size. Signed-off-by:
Uli Schlachter <psychon@znc.in>
-
Uli Schlachter authored
Instead of failing because it did not find an image, this now fails for me since the PDF is too small (???). This new code is modelled after cairo_test_create_surface_from_png(). Signed-off-by:
Uli Schlachter <psychon@znc.in>
-
Uli Schlachter authored
Forking a process also duplicates the buffers of FILE*s. Thus, if there is pending data, both the parent and the child process will write things. This is seldom a good idea. This issue was not noticed so far since by default the test suite already calls fflush() a lot. However, when stdout and stderr are both not a tty (according to isatty(1) and isatty(2)), these flushes are skipped. The result is that the child process repeat the full output from the test suite starting with "Compiled against cairo 1.17.4, running on 1.17.4." To reproduce this problem run: ./cairo-test-suite 2>&1 | cat Fix this by flushing all the files that I managed to find before fork(). Thanks to Pekka Paalanen for helping me figure this out. Signed-off-by:
Uli Schlachter <psychon@znc.in>
-
- 05 Mar, 2021 1 commit
-
-
Uli Schlachter authored
Merge branch 'meson-allow-skipping-of-run-check-for-ipc-rmid-deferred-release-in-cross-build' into 'master' meson: allow skipping of run check for IPC_RMID_DEFERRED_RELEASE Closes #408 See merge request !134
-
- 04 Mar, 2021 3 commits
-
-
Tim-Philipp Müller authored
ci: cleanup the autotools artifacts a bit Closes #465 See merge request !137
-
Jordan Petridіs authored
Exclude .trace and .cs file from being exported. This brings down the generated artifacts size to 73mb. Close #465
-
Uli Schlachter authored
Once upon a time, automake had one way to run tests. Apparently this is (nowadays?) called the serial test harness. Then, in some release (I do not remember which one), the parallel test harness became the default. The parallel harness runs all tests in parallel, but does not (really) show the test output, but instead has output redirected to files. Sort of. I did not find the result of my printf() anywhere. The automake docs strongly discourage using the serial test harness [0], but do not really say why. For cairo, I do not see problems: We have some quick, small checks (e.g. is cairo_public used where needed in the public headers). And then there is the big, heavy-weight test suite (cairo-test-suite). Thus, running these things in parallel has basically no benefits. Additionally, cairo-test-suite takes really, really long. Not seeing any output while it is running is annoying. Failing to find the output even in files is bad. Thus, since I do not see any benefits and only downsides to the parallel test harness, this commit switches to the serial one. [0]: https://www.gnu.org/software/automake/manual/html_node/Serial-Test-Harness.htmlSigned-off-by:
Uli Schlachter <psychon@znc.in>
-
- 01 Mar, 2021 2 commits
-
-
Tim-Philipp Müller authored
meson: Move libspectre to test_deps Closes #425 See merge request !135
-
Uli Schlachter authored
libspectre is only used for ps tests. Adding it to "deps" needlessly makes it show up in cairo.pc's Requires.private. Fixes: #425Signed-off-by:
Uli Schlachter <psychon@znc.in>
-
- 25 Feb, 2021 3 commits
-
-
Tim-Philipp Müller authored
The run check is particularly annoying in cross-compile scenarios, so allow bypassing the check by having the user provide the value via a cross file or native file: [properties] ipc_rmid_deferred_release = true Closes #408
-
Uli Schlachter authored
meson: add xlib-xcb option and disable by default Closes #438 See merge request !132
-
Jan Alexander Steffens authored
Just like autotools does. Closes #438.
-
- 24 Feb, 2021 3 commits
-
-
Uli Schlachter authored
meson: use encoding=utf-8 when reading/writing files in helper script See merge request !129
-
Tim-Philipp Müller authored
meson: declare dependancy on libcairo_dep for overrides See merge request !130
-
Tim-Philipp Müller authored
When declaring a dependency on a feature, say `dependency('cairo-png')` the resulting object did not depend on cairo and thus was missing basic things like, `cairo.h` from its include dir. Make it so overrides do in fact include the basic cairo functionality needed for them to work. Related: gstreamer/gst-devtools!236
-
- 23 Feb, 2021 6 commits
-
-
Tim-Philipp Müller authored
Fixes errors such as Traceback (most recent call last): File "C:\Users\...\cairo\test\make-cairo-test-constructors.py", line 19, in <module> for l in f.readlines(): File "c:\python39\lib\encodings\cp1253.py", line 23, in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 6694: character maps to <undefined> on non-English-language Windows locales/installations.
-
Uli Schlachter authored
cairo-trace: fix build with newer bfd and remove backtrace-symbols.c Closes #391 and #460 See merge request !128
-
Tim-Philipp Müller authored
Doesn't build any more, is very much non-essential, and hasn't been touched in any meaningful way since it was added 13 years ago, so just remove it for now until someone steps up. Chances are the glibc version has improved since then.
-
Tim-Philipp Müller authored
And update configure/meson checks to check for the new function. Drop libiberty.h check since it's only needed by backtrace-symbols.c which we're about to remove. Closes #391, #460
-
Uli Schlachter authored
meson: add symbol-lookup option to allow disabling bfd/libiberty usage See merge request !127
-
Tim-Philipp Müller authored
Can be used to workaround build issues caused by changes in the bfd API until those have been resolved. #460 #391
-
- 21 Feb, 2021 4 commits
-
-
Heiko Lewin authored
Make the test case for bug 448 pass See merge request !123
-
Heiko Lewin authored
UBSan fixes in cairo-truetype-subset.c See merge request !124
-
Jonathan Kew authored
The documentation for _cairo_array_append_multiple says "one or more items". If it is called with num_elements=0, it ends up calling _cairo_array_grow_by with num_elements=0, which if the array is currently empty (as here) leads to undefined behavior in _cairo_array_allocate in the line *elements = array->elements + array->num_elements * array->element_size; because it ends up trying to add 0 to a null pointer. C doesn't allow this. (UBSan flags this as "applying zero offset to null pointer".)
-
Heiko Lewin authored
Fix a memory leak with cairo_tag_begin() + pdf See merge request !126
-