cairo/boilerplate
Uli Schlachter 2ceb279d70 boilerplate-xcb: Avoid leaks on success
This gets rid of the following two leaks reported by valgrind when successfully
running a test with CAIRO_TEST_TARGET=xcb:

8,000 bytes in 2 blocks are definitely lost in loss record 9 of 10
   at 0x483877F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4B7E135: read_packet (xcb_in.c:259)
   by 0x4B7E135: _xcb_in_read (xcb_in.c:1031)
   by 0x4B7BF8E: _xcb_conn_wait (xcb_conn.c:516)
   by 0x4B7D6AE: wait_for_reply (xcb_in.c:516)
   by 0x4B7D8C8: xcb_request_check (xcb_in.c:745)
   by 0x18D747: _cairo_boilerplate_xcb_create_surface (cairo-boilerplate-xcb.c:310)
   by 0x12906F: cairo_test_for_target (cairo-test.c:819)
   by 0x12AAB5: _cairo_test_context_run_for_target (cairo-test.c:1555)
   by 0x126921: _cairo_test_runner_draw (cairo-test-runner.c:250)
   by 0x126921: main (cairo-test-runner.c:932)

8,000 bytes in 2 blocks are definitely lost in loss record 10 of 10
   at 0x483877F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x4B7E135: read_packet (xcb_in.c:259)
   by 0x4B7E135: _xcb_in_read (xcb_in.c:1031)
   by 0x4B7BF8E: _xcb_conn_wait (xcb_conn.c:516)
   by 0x4B7D6AE: wait_for_reply (xcb_in.c:516)
   by 0x4B7D7C0: xcb_wait_for_reply (xcb_in.c:546)
   by 0x18D45D: find_depth (cairo-boilerplate-xcb.c:154)
   by 0x18D45D: _cairo_boilerplate_xcb_create_render_0_0 (cairo-boilerplate-xcb.c:621)
   by 0x12906F: cairo_test_for_target (cairo-test.c:819)
   by 0x12AAB5: _cairo_test_context_run_for_target (cairo-test.c:1555)
   by 0x126921: _cairo_test_runner_draw (cairo-test-runner.c:250)
   by 0x126921: main (cairo-test-runner.c:932)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2020-12-05 08:08:14 +01:00
..
.gitignore gitignore: Ignore .trs (test results) 2015-07-31 17:56:54 -07:00
cairo-boilerplate-beos.cpp whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-cogl.c build: Fix various compiler warnings 2020-11-07 06:45:01 -07:00
cairo-boilerplate-directfb.c boilerplate: Remove unused thread id parameter 2011-11-12 20:49:08 +01:00
cairo-boilerplate-drm.c boilerplate: Maintain consistency in the usage of switch cases 2014-05-06 10:22:43 -07:00
cairo-boilerplate-egl.c build: Fix various compiler warnings 2020-11-07 06:45:01 -07:00
cairo-boilerplate-getopt.c whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-getopt.h [cairo-boilerplate] Silence compiler warning. 2008-06-13 21:34:43 +01:00
cairo-boilerplate-glx.c boilerplate: Fix list termination for glXChooseVisual 2015-07-30 17:16:53 -07:00
cairo-boilerplate-pdf.c Fix testing in the full mode for PDF, PS and SVG backends 2020-11-13 12:04:51 +00:00
cairo-boilerplate-private.h Refactor ARRAY_LENGTH macro definitions in test code 2014-11-20 12:22:06 -08:00
cairo-boilerplate-ps.c Fix testing in the full mode for PDF, PS and SVG backends 2020-11-13 12:04:51 +00:00
cairo-boilerplate-qt.cpp qt: Fix compilation, also minor fix for building against Qt5 2012-02-12 09:57:00 +00:00
cairo-boilerplate-quartz.c boilerplate: Remove unused thread id parameter 2011-11-12 20:49:08 +01:00
cairo-boilerplate-scaled-font.h whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-script.c boilerplate: Remove unused thread id parameter 2011-11-12 20:49:08 +01:00
cairo-boilerplate-skia.c boilerplate: Remove unused thread id parameter 2011-11-12 20:49:08 +01:00
cairo-boilerplate-svg.c Fix testing in the full mode for PDF, PS and SVG backends 2020-11-13 12:04:51 +00:00
cairo-boilerplate-system.c whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-system.h whitespace: Fixup formal arguments and tabs in boilerplate/ and perf/. 2010-06-24 15:02:53 +03:00
cairo-boilerplate-test-surfaces.c Retire dummy cairo-version.h header to fix meson subproject build 2020-09-29 15:50:53 +00:00
cairo-boilerplate-vg.c vg: Use EGL_NONE and GLX_NONE in place of None 2014-05-19 17:37:38 -07:00
cairo-boilerplate-wgl.c boilerplate: Remove unused thread id parameter 2011-11-12 20:49:08 +01:00
cairo-boilerplate-win32-printing.c Fix testing in the full mode for PDF, PS and SVG backends 2020-11-13 12:04:51 +00:00
cairo-boilerplate-win32.c win32: gcc 5.4 build fix 2016-06-21 19:44:48 +09:30
cairo-boilerplate-xcb.c boilerplate-xcb: Avoid leaks on success 2020-12-05 08:08:14 +01:00
cairo-boilerplate-xlib.c boilerplate: Maintain consistency in the usage of switch cases 2014-05-06 10:22:43 -07:00
cairo-boilerplate-xlib.h [boilerplate] Add missing headers. Oops! 2007-04-21 07:23:30 -04:00
cairo-boilerplate.c Retire dummy cairo-version.h header to fix meson subproject build 2020-09-29 15:50:53 +00:00
cairo-boilerplate.h Refactor ARRAY_LENGTH macro definitions in test code 2014-11-20 12:22:06 -08:00
check-link.c Retire dummy cairo-version.h header to fix meson subproject build 2020-09-29 15:50:53 +00:00
make-cairo-boilerplate-constructors.py Add meson build definitions 2020-07-31 12:21:50 +01:00
make-cairo-boilerplate-constructors.sh Add meson build definitions 2020-07-31 12:21:50 +01:00
Makefile.am build: Add explicit dependcy to cxx lib 2010-07-16 19:49:53 +02:00
Makefile.sources backends: Adds a new Cogl based backend 2011-10-11 09:05:45 +01:00
Makefile.win32 build: Clean up environment variables and flags for the win32 build 2011-06-20 10:24:21 +02:00
Makefile.win32.features Disable skia from configure 2018-04-02 20:20:00 -07:00
meson.build Add meson build definitions 2020-07-31 12:21:50 +01:00
README Add boilerplate/README explaining its purpose 2006-08-30 22:33:53 -07:00

This directory provides code that is common to both of cairo's tests
suites:

 * The test suite for correctness in test/
 * The test suite for performance in perf/

We call it boilerplate as it consists primarily of the boilerplate
code necessary for initializing a backend in order to create a surface
for that backend.

The code here just might be useful for someone looking to get started
writing cairo code to use a particular backend, (but there are no
promises that the boilerplate code found here for any particular
backend is exemplary).