aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-03-14 11:51:29 +0100
committerDavid Robillard <d@drobilla.net>2020-03-14 11:53:13 +0100
commitaee15a9884ff518810834ccfdbe7193763cb1277 (patch)
tree81fd57ef3b6fc250747244194b5511f90f212f94
parent1f4abb03e5c6dcfae3cc70e3b5bcb96523ff8f20 (diff)
Add documentation about test programs
-rw-r--r--README.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/README.md b/README.md
index 718e690..961a40a 100644
--- a/README.md
+++ b/README.md
@@ -67,6 +67,37 @@ don't depend on Cairo and its dependencies, or vice-versa.
Distributions are encouraged to include static libraries if possible so that
developers can build portable plugin binaries.
+Testing
+-------
+
+There are a few unit tests included which can be run with `python waf test
+--gui-tests`, but unfortunately manual testing is still required.
+
+Several example programs are included that serve as both manual tests and
+demonstrations:
+
+ * `pugl_embed_demo` shows a view embedded in another, and also tests
+ requesting attention (which happens after 5 seconds), keyboard focus
+ (switched by pressing tab), view moving (with the arrow keys), and view
+ resizing (with the arrow keys while shift is held). This program uses only
+ very old OpenGL and should work on any system.
+
+ * `pugl_window_demo` demonstrates multiple top-level windows.
+
+ * `pugl_gl3_demo` demonstrates using more modern OpenGL where dynamic loading
+ and shaders are required. It can also be used to test performance by
+ passing the number of rectangles to draw on the command line.
+
+ * `pugl_cairo_demo` demonstrates using Cairo on top of the native windowing
+ system (without OpenGL), and partial redrawing.
+
+ * `pugl_print_events` is a utility that prints all received events to the
+ console in a human readable format.
+
+All example programs support several command line options to control various
+behaviours, see the output of `--help` for details. Please file an issue if
+any of these programs do not work as expected on your system.
+
Documentation
-------------