mirror of
https://salsa.debian.org/xorg-team/lib/pixman
synced 2025-09-01 10:35:16 +00:00

This test program allocates an array of 16 * 7 uint32_ts and spawns 16 threads that each use 7 of the allocated uint32_ts as a destination image for a large number of composite operations. Each thread then computes and returns a checksum for the image. Finally, the main thread computes a checksum of the checksums and verifies that it matches expectations. The purpose of this test is catch errors where memory outside images is read and then written back. Such out-of-bounds accesses are broken when multiple threads are involved, because the threads will race to read and write the shared memory. V2: - Incorporate fixes from Siarhei for endianness and undefined behavior regarding argument evaluation - Make the images 7 pixels wide since the bug only happens when the composite width is greater than 4. - Compute a checksum of the checksums so that you don't have to update 16 values if something changes. V3: Remove stray dollar sign
50 lines
845 B
Makefile
50 lines
845 B
Makefile
# Tests (sorted by expected completion time)
|
|
TESTPROGRAMS = \
|
|
prng-test \
|
|
a1-trap-test \
|
|
pdf-op-test \
|
|
region-test \
|
|
region-translate-test \
|
|
combiner-test \
|
|
pixel-test \
|
|
fetch-test \
|
|
rotate-test \
|
|
oob-test \
|
|
infinite-loop \
|
|
trap-crasher \
|
|
alpha-loop \
|
|
thread-test \
|
|
scaling-crash-test \
|
|
scaling-helpers-test \
|
|
gradient-crash-test \
|
|
region-contains-test \
|
|
alphamap \
|
|
matrix-test \
|
|
stress-test \
|
|
composite-traps-test \
|
|
blitters-test \
|
|
glyph-test \
|
|
scaling-test \
|
|
affine-test \
|
|
composite \
|
|
$(NULL)
|
|
|
|
# Other programs
|
|
OTHERPROGRAMS = \
|
|
lowlevel-blt-bench \
|
|
radial-perf-test \
|
|
check-formats \
|
|
scaling-bench \
|
|
$(NULL)
|
|
|
|
# Utility functions
|
|
libutils_sources = \
|
|
utils.c \
|
|
utils-prng.c \
|
|
$(NULL)
|
|
|
|
libutils_headers = \
|
|
utils.h \
|
|
utils-prng.h \
|
|
$(NULL)
|