summaryrefslogtreecommitdiff
path: root/test/README
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2004-10-26 14:38:43 +0000
committerCarl Worth <cworth@cworth.org>2004-10-26 14:38:43 +0000
commitf8e632ab1e0673cecd2ea68b3c0e6747b74d7cd6 (patch)
tree647a7a3d83435760e58b4dd66cfbd8f40fa5e879 /test/README
parentbf8374dba260c80ae8ee33c1eb5bddf39ae649f4 (diff)
downloadcairo-f8e632ab1e0673cecd2ea68b3c0e6747b74d7cd6.tar.gz
Add initial regression test suite.
Don't AC_SUBST a dozen different FOO_CFLAGS and FOO_LIBS. Instead, incrementally build up just CAIRO_CFLAGS and CAIRO_LIBS. Don't list flags that should get picked up via dependency information through Requires. Add description of move_to_show_surface.
Diffstat (limited to 'test/README')
-rw-r--r--test/README55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/README b/test/README
new file mode 100644
index 000000000..3e7acf5c2
--- /dev/null
+++ b/test/README
@@ -0,0 +1,55 @@
+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 bug is fixed
+-------------------
+The fix shold 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
+