diff --git a/docs/reference/intel-gpu-tools/.gitignore b/docs/reference/intel-gpu-tools/.gitignore
index 9415974..303929b 100644
--- a/docs/reference/intel-gpu-tools/.gitignore
+++ b/docs/reference/intel-gpu-tools/.gitignore
@@ -3,6 +3,7 @@
 /html-build.stamp
 /html.stamp
 /html/
+/igt_test_programs.xml
 /intel-gpu-tools-decl-list.txt
 /intel-gpu-tools-decl.txt
 /intel-gpu-tools-overrides.txt
diff --git a/docs/reference/intel-gpu-tools/Makefile.am b/docs/reference/intel-gpu-tools/Makefile.am
index 3368e3e..e02308a 100644
--- a/docs/reference/intel-gpu-tools/Makefile.am
+++ b/docs/reference/intel-gpu-tools/Makefile.am
@@ -1,5 +1,22 @@
 ## Process this file with automake to produce Makefile.in
 
+TESTLISTS = $(top_builddir)/tests/single-tests.txt $(top_builddir)/tests/multi-tests.txt
+igt_test_programs.xml: igt_test_programs.xml.header $(TESTLISTS)
+	cat $(srcdir)/igt_test_programs.xml.header > $@; \
+	for test in `cat $(TESTLISTS)`; do \
+		if [ "$$test" = "TESTLIST" -o "$$test" = "END" ]; then \
+			continue; \
+		fi; \
+		echo "<refsect2 id=\"$$test\"><title>$$test</title><para>" >> $@; \
+		if [ -x $(top_builddir)/tests/$$test ]; then \
+			./$(top_builddir)/tests/$$test --help-description >> $@; \
+		else \
+			./$(top_srcdir)/tests/$$test --help-description >> $@; \
+		fi; \
+		echo "</para></refsect2>" >> $@; \
+	done; \
+	echo "</refsect1></refentry>" >> $@;
+
 # We require automake 1.6 at least.
 AUTOMAKE_OPTIONS = 1.6
 
@@ -68,12 +85,12 @@ HTML_IMAGES=
 
 # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
 # e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files=
+content_files=igt_test_programs.xml
 
 # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
 # These files must be listed here *and* in content_files
 # e.g. expand_content_files=running.sgml
-expand_content_files=
+expand_content_files=igt_test_programs.xml
 
 # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
 # Only needed if you are using gtkdoc-scangobj to dynamically query widget
@@ -88,12 +105,14 @@ include $(top_srcdir)/gtk-doc.make
 
 # Other files to distribute
 # e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST +=
+EXTRA_DIST += igt_test_programs.xml.header
 
 # Files not to distribute
 # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
 # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-DISTCLEANFILES = $(DOC_MODULE)-sections.txt
+DISTCLEANFILES = $(DOC_MODULE)-sections.txt igt_test_programs.xml
+
+CLEANFILES += igt_test_programs.xml
 
 # Comment this out if you want 'make check' to test you doc status
 # and run some sanity checks
diff --git a/docs/reference/intel-gpu-tools/igt_test_programs.xml.header b/docs/reference/intel-gpu-tools/igt_test_programs.xml.header
new file mode 100644
index 0000000..662242e
--- /dev/null
+++ b/docs/reference/intel-gpu-tools/igt_test_programs.xml.header
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
+  <!ENTITY version SYSTEM "version.xml">
+]>
+<refentry id="intel-gpu-tools-test-programs">
+<refmeta>
+<refentrytitle role="top_of_page" id="intel-gpu-tools-test-programs.top_of_page">Test Programs</refentrytitle>
+<manvolnum>1</manvolnum>
+<refmiscinfo>
+  INTEL-GPU-TOOLS Library
+</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>Tests Programs</refname>
+<refpurpose>Test cases for features and bugs</refpurpose>
+</refnamediv>
+
+<refsect1 id="intel-gpu-tools-test-programs.description" role="desc">
+<title role="desc.title">Description</title>
+Test cases for bugs, features and regression testing. All tests support the
+following common options:
+
+<variablelist>
+<varlistentry>
+<term><option>--list-subtests</option></term>
+<listitem><para>
+list the available subtests and exit
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--run-subtest <replaceable>subtest</replaceable></option></term>
+<listitem><para>
+run the specified subtest
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--debug</option></term>
+<listitem><para>
+print extra debugging information when running tests
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--help-description</option></term>
+<listitem><para>
+print a short description of the test and exit
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--help</option></term>
+<listitem><para>
+print help and exit
+</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+<refsect1>
+<title>Programs</title>
diff --git a/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml b/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml
index 3d9caf8..07ced05 100644
--- a/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml
+++ b/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml
@@ -25,6 +25,7 @@
     <xi:include href="xml/intel_batchbuffer.xml"/>
     <xi:include href="xml/intel_chipset.xml"/>
     <xi:include href="xml/intel_io.xml"/>
+    <xi:include href="xml/igt_test_programs.xml"/>
     <xi:include href="xml/igt_edid.xml"/>
 
   </chapter>
