mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-25 18:50:09 +01:00
64 lines
2.1 KiB
Text
64 lines
2.1 KiB
Text
Regression test suite for cairo.
|
|
|
|
Using this test should be as simple as running:
|
|
|
|
make check
|
|
|
|
assuming that the cairo distribution in the directory above has been
|
|
configured and built. The test suite here goes through some effort to
|
|
run against the locally compiled library rather than any installed
|
|
version.
|
|
|
|
The test suite needs to be run before any code is committed and before
|
|
any release. Here are the rules governing the use of the suite:
|
|
|
|
Before committing
|
|
-----------------
|
|
|
|
All tests should return a result of PASS or XFAIL. The XFAIL results
|
|
indicate known bugs. The final message should be one of the following:
|
|
|
|
All XX tests behaved as expected (YY expected failures)
|
|
All XX tests passed
|
|
|
|
If any tests have a status of FAIL, then the new code has caused a
|
|
regression error which should be fixed before the code is committed.
|
|
|
|
When a new bug is found
|
|
-----------------------
|
|
A new test case should be added by imitating the style of an existing
|
|
test. This means adding the following files:
|
|
|
|
new_bug.c
|
|
new_bug-ref.png
|
|
|
|
Where new_bug.c is a minimal program to demonstrate the bug, following
|
|
the style of existing tests. The new_bug-ref.png image should contain
|
|
the desired result of new_bug.c if the bug were fixed.
|
|
|
|
Makefile.am should be edited, adding new_bug.c to both the TESTS and
|
|
XFAIL_TESTS lists.
|
|
|
|
When a new feature is added
|
|
---------------------------
|
|
It's important for the regression suite to keep pace with development
|
|
of the library. So a new test should be added for each new
|
|
feature. The work involved is similar the work described above for new
|
|
bugs. The only distinction is that the test is expected to pass so it
|
|
should not be added to the XFAIL_TESTS list.
|
|
|
|
|
|
When a bug is fixed
|
|
-------------------
|
|
The fix should be verified by running the test suite which should
|
|
result in an "unexpected pass" for the test of interest. Rejoice as
|
|
appropriate, then remove the relevant file name from the XFAIL_TESTS
|
|
variable in Makefile.am.
|
|
|
|
Before releasing
|
|
----------------
|
|
All tests should return a result of PASS meaning all known bugs are
|
|
fixed, resulting in the happy message:
|
|
|
|
All XX tests passed
|
|
|