Add hb_shape_list_shapers()
diff --git a/test/Makefile.am b/test/Makefile.am
index 0fbc689..18f36df 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -25,9 +25,11 @@
 	test-version \
 	$(NULL)
 
+if HAVE_OT
 TEST_PROGS += \
 	test-ot-tag \
 	$(NULL)
+endif
 
 # Tests for header compilation
 TEST_PROGS += \
diff --git a/test/test-c.c b/test/test-c.c
index 543fa7b..e72db27 100644
--- a/test/test-c.c
+++ b/test/test-c.c
@@ -43,6 +43,14 @@
 #include <hb-ft.h>
 #endif
 
+#if HAVE_OT
+#include <hb-ot.h>
+#endif
+
+#if HAVE_UNISCRIBE
+#include <hb-uniscribe.h>
+#endif
+
 int
 main (int argc, char **argv)
 {
diff --git a/test/test-shape.c b/test/test-shape.c
index 5a41f0c..6d30824 100644
--- a/test/test-shape.c
+++ b/test/test-shape.c
@@ -138,6 +138,18 @@
   hb_font_destroy (font);
 }
 
+static void
+test_shape_list (void)
+{
+  const char **shapers = hb_shape_list_shapers ();
+
+  unsigned int i;
+  for (i = 0; shapers[i]; i++)
+    ;
+
+  g_assert_cmpint (i, >, 1);
+  g_assert (!strcmp (shapers[i - 1], "fallback"));
+}
 
 int
 main (int argc, char **argv)
@@ -145,6 +157,9 @@
   hb_test_init (&argc, &argv);
 
   hb_test_add (test_shape);
+  /* TODO test fallback shaper */
+  /* TODO test shaper_full */
+  hb_test_add (test_shape_list);
 
   return hb_test_run();
 }