diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2008-08-20 19:44:30 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2008-08-20 23:56:56 +0100 |
commit | b9287e6669fde571a9f0cb57462cb3815fbd8d27 (patch) | |
tree | bbff1c2e1dca073720584f7779a5a5ddae62e452 /test/.gitignore | |
parent | 98bb04cf93549455583d95b693c01b243b712c61 (diff) |
[test] Cache last output and compare next time.
Compare the current output against a previous run to determine if there
has been any change since last time, and only run through imagediff if
there has been. For the vector surfaces, we can check the vector output
first and potentially skip the rasterisation. On my machine this reduces
the time for a second run from 6 minutes to 2m30s. As most of the time,
most test output will remain unchanged, so this seems to be a big win. On
unix systems, hard linking is used to reduce the amount of storage space
required - others will see about a three-fold increase in the amount of
disk used. The directory continues to be a stress test for file selectors.
In order to reduce the changes between runs, the current time is no longer
written to the PNG files (justified by that it only exists as a debugging
aid) and the boilerplate tweaks the PS surface so that the creation date
is fixed. To fully realise the benefits here, we need to strip the
creation time from all the reference images...
The biggest problem with using the caches is that different runs of the
test suite can go through different code paths, introducing potential
Heisenbergs. If you suspect that caching is interfering with the test
results, use 'make -C test clean-caches check'.
Diffstat (limited to 'test/.gitignore')
-rw-r--r-- | test/.gitignore | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/test/.gitignore b/test/.gitignore index 8590d8f4..2834165b 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -222,10 +222,9 @@ xlib-surface xlib-surface-source zero-alpha valgrind-log -*-out.pdf -*-out.png -*-out.ps -*-out.svg +*-out.* +*-pass.* +*-last.* *-diff.png *.manifest *.gcda |