pixman/test/Makefile.sources
Søren Sandmann Pedersen 0438435b9c test: Add new thread-test program
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
2013-10-01 23:33:57 +03:00

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)