summaryrefslogtreecommitdiffstats
path: root/src/boost/tools/quickbook/test/python
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/tools/quickbook/test/python')
-rw-r--r--src/boost/tools/quickbook/test/python/include_glob.qbk11
-rw-r--r--src/boost/tools/quickbook/test/python/include_glob_deps.txt6
-rw-r--r--src/boost/tools/quickbook/test/python/include_glob_locs.txt9
-rw-r--r--src/boost/tools/quickbook/test/python/include_path.qbk12
-rw-r--r--src/boost/tools/quickbook/test/python/include_path_deps.txt6
-rw-r--r--src/boost/tools/quickbook/test/python/include_path_locs.txt9
-rw-r--r--src/boost/tools/quickbook/test/python/missing_relative.qbk14
-rw-r--r--src/boost/tools/quickbook/test/python/missing_relative_deps.txt4
-rw-r--r--src/boost/tools/quickbook/test/python/missing_relative_locs.txt7
-rw-r--r--src/boost/tools/quickbook/test/python/run_tests.py191
-rw-r--r--src/boost/tools/quickbook/test/python/simple.qbk23
-rw-r--r--src/boost/tools/quickbook/test/python/simple.xml36
-rw-r--r--src/boost/tools/quickbook/test/python/simple_custom_pretty_print.xml42
-rw-r--r--src/boost/tools/quickbook/test/python/simple_no_pretty_print.xml36
-rw-r--r--src/boost/tools/quickbook/test/python/simple_no_self_linked.xml36
-rw-r--r--src/boost/tools/quickbook/test/python/sub1/a.qbk9
-rw-r--r--src/boost/tools/quickbook/test/python/sub2/b.qbk9
-rw-r--r--src/boost/tools/quickbook/test/python/svg_missing.qbk11
-rw-r--r--src/boost/tools/quickbook/test/python/svg_missing_deps.txt4
-rw-r--r--src/boost/tools/quickbook/test/python/svg_missing_locs.txt5
20 files changed, 480 insertions, 0 deletions
diff --git a/src/boost/tools/quickbook/test/python/include_glob.qbk b/src/boost/tools/quickbook/test/python/include_glob.qbk
new file mode 100644
index 000000000..6e1f5248a
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/include_glob.qbk
@@ -0,0 +1,11 @@
+[/
+ Copyright 2012-2013 Daniel James
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+]
+
+[quickbook 1.7]
+[article Include Path]
+[include ?.qbk]
diff --git a/src/boost/tools/quickbook/test/python/include_glob_deps.txt b/src/boost/tools/quickbook/test/python/include_glob_deps.txt
new file mode 100644
index 000000000..82fb66e68
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/include_glob_deps.txt
@@ -0,0 +1,6 @@
+# Copyright 2012-2013 Daniel James
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+include_glob.qbk
+sub1/a.qbk
+sub2/b.qbk
diff --git a/src/boost/tools/quickbook/test/python/include_glob_locs.txt b/src/boost/tools/quickbook/test/python/include_glob_locs.txt
new file mode 100644
index 000000000..ccab607e0
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/include_glob_locs.txt
@@ -0,0 +1,9 @@
+# Copyright 2012-2013 Daniel James
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
++ include_glob.qbk
+g ?.qbk
+g sub1/?.qbk
++ sub1/a.qbk
+g sub2/?.qbk
++ sub2/b.qbk
diff --git a/src/boost/tools/quickbook/test/python/include_path.qbk b/src/boost/tools/quickbook/test/python/include_path.qbk
new file mode 100644
index 000000000..3af3b3704
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/include_path.qbk
@@ -0,0 +1,12 @@
+[/
+ Copyright 2012-2013 Daniel James
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+]
+
+[quickbook 1.5]
+[article Include Path]
+[include a.qbk]
+[include b.qbk]
diff --git a/src/boost/tools/quickbook/test/python/include_path_deps.txt b/src/boost/tools/quickbook/test/python/include_path_deps.txt
new file mode 100644
index 000000000..86875d79b
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/include_path_deps.txt
@@ -0,0 +1,6 @@
+# Copyright 2012-2013 Daniel James
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+include_path.qbk
+sub1/a.qbk
+sub2/b.qbk
diff --git a/src/boost/tools/quickbook/test/python/include_path_locs.txt b/src/boost/tools/quickbook/test/python/include_path_locs.txt
new file mode 100644
index 000000000..7926db615
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/include_path_locs.txt
@@ -0,0 +1,9 @@
+# Copyright 2012-2013 Daniel James
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
++ include_path.qbk
+- a.qbk
++ sub1/a.qbk
+- b.qbk
+- sub1/b.qbk
++ sub2/b.qbk
diff --git a/src/boost/tools/quickbook/test/python/missing_relative.qbk b/src/boost/tools/quickbook/test/python/missing_relative.qbk
new file mode 100644
index 000000000..ff96b1088
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/missing_relative.qbk
@@ -0,0 +1,14 @@
+[/
+ Copyright 2012-2013 Daniel James
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+]
+
+[quickbook 1.5]
+[article Missing Relative]
+
+[include ../missing.qbk]
+[include missing-dir/x.qbk]
+[include missing-dir/../../x.qbk]
diff --git a/src/boost/tools/quickbook/test/python/missing_relative_deps.txt b/src/boost/tools/quickbook/test/python/missing_relative_deps.txt
new file mode 100644
index 000000000..fb8f27fee
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/missing_relative_deps.txt
@@ -0,0 +1,4 @@
+# Copyright 2012-2013 Daniel James
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+missing_relative.qbk
diff --git a/src/boost/tools/quickbook/test/python/missing_relative_locs.txt b/src/boost/tools/quickbook/test/python/missing_relative_locs.txt
new file mode 100644
index 000000000..ac85cec10
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/missing_relative_locs.txt
@@ -0,0 +1,7 @@
+# Copyright 2012-2013 Daniel James
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
++ missing_relative.qbk
+- ../missing.qbk
+- missing-dir/x.qbk
+- missing-dir/../../x.qbk
diff --git a/src/boost/tools/quickbook/test/python/run_tests.py b/src/boost/tools/quickbook/test/python/run_tests.py
new file mode 100644
index 000000000..955f52c92
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/run_tests.py
@@ -0,0 +1,191 @@
+#!/usr/bin/env python
+
+# Copyright 2012-2013 Daniel James
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+
+import sys, os, subprocess, tempfile, re
+
+def main(args, directory):
+ if len(args) != 1:
+ print "Usage: output-deps.py quickbook-command"
+ exit(1)
+ quickbook_command = args[0]
+
+ failures = 0
+
+ # Dependency tests
+
+ failures += run_quickbook(quickbook_command, 'svg_missing.qbk',
+ deps_gold = 'svg_missing_deps.txt')
+ failures += run_quickbook(quickbook_command, 'svg_missing.qbk',
+ locations_gold = 'svg_missing_locs.txt')
+ failures += run_quickbook(quickbook_command, 'missing_relative.qbk',
+ deps_gold = 'missing_relative_deps.txt',
+ locations_gold = 'missing_relative_locs.txt')
+ failures += run_quickbook(quickbook_command, 'include_path.qbk',
+ deps_gold = 'include_path_deps.txt',
+ locations_gold = 'include_path_locs.txt',
+ input_path = ['sub1', 'sub2'])
+ failures += run_quickbook(quickbook_command, 'include_glob.qbk',
+ deps_gold = 'include_glob_deps.txt',
+ locations_gold = 'include_glob_locs.txt',
+ input_path = ['sub1', 'sub2'])
+
+ # Try building a simple document with various flags.
+
+ failures += run_quickbook(quickbook_command, 'simple.qbk',
+ output_gold = 'simple.xml')
+ failures += run_quickbook(quickbook_command, 'simple.qbk',
+ extra_flags = ['--no-self-linked-headers'],
+ output_gold = 'simple_no_self_linked.xml')
+ failures += run_quickbook(quickbook_command, 'simple.qbk',
+ extra_flags = ['--no-pretty-print'],
+ output_gold = 'simple_no_pretty_print.xml')
+ failures += run_quickbook(quickbook_command, 'simple.qbk',
+ extra_flags = ['--indent','4','--linewidth','60'],
+ output_gold = 'simple_custom_pretty_print.xml')
+
+ if failures == 0:
+ print "Success"
+ else:
+ print "Failures:",failures
+ exit(failures)
+
+def run_quickbook(quickbook_command, filename, output_gold = None,
+ deps_gold = None, locations_gold = None, input_path = [],
+ extra_flags = None):
+ failures = 0
+
+ command = [quickbook_command, '--debug', filename]
+
+ output_filename = None
+ if output_gold:
+ output_filename = temp_filename('.qbk')
+ command.extend(['--output-file', output_filename])
+
+ deps_filename = None
+ if deps_gold:
+ deps_filename = temp_filename('.txt')
+ command.extend(['--output-deps', deps_filename])
+
+ locations_filename = None
+ if locations_gold:
+ locations_filename = temp_filename('.txt')
+ command.extend(['--output-checked-locations', locations_filename])
+
+ for path in input_path:
+ command.extend(['-I', path])
+
+ if extra_flags:
+ command.extend(extra_flags)
+
+ try:
+ print 'Running: ' + ' '.join(command)
+ print
+ exit_code = subprocess.call(command)
+ print
+ success = not exit_code
+
+ if output_filename:
+ output = load_file(output_filename)
+ else:
+ output = None
+
+ if deps_filename:
+ deps = load_dependencies(deps_filename)
+ else:
+ deps = None
+
+ if locations_filename:
+ locations = load_locations(locations_filename)
+ else:
+ locations = None
+ finally:
+ if output_filename: os.unlink(output_filename)
+ if deps_filename: os.unlink(deps_filename)
+
+ if deps_gold:
+ gold = load_dependencies(deps_gold)
+ if deps != gold:
+ failures = failures + 1
+ print "Dependencies don't match:"
+ print "Gold:", gold
+ print "Result:", deps
+ print
+
+ if locations_gold:
+ gold = load_locations(locations_gold)
+ if locations != gold:
+ failures = failures + 1
+ print "Dependencies don't match:"
+ print "Gold:", gold
+ print "Result:", locations
+ print
+
+ if output_gold:
+ gold = load_file(output_gold)
+ if gold != output:
+ failures = failures + 1
+ print "Output doesn't match:"
+ print
+ print gold
+ print
+ print output
+ print
+
+ return failures
+
+def load_dependencies(filename):
+ dependencies = set()
+ f = open(filename, 'r')
+ for path in f:
+ if path[0] == '#': continue
+ if path in dependencies:
+ raise Exception("Duplicate path (%1s) in %2s" % (path, filename))
+ dependencies.add(path)
+ return dependencies
+
+def load_locations(filename):
+ line_matcher = re.compile("^([+-g]) (.*)$")
+ dependencies = {}
+ f = open(filename, 'r')
+ glob = None
+ globs = {}
+ for line in f:
+ if line[0] == '#': continue
+ m = line_matcher.match(line)
+
+ path = m.group(2)
+
+ if not m:
+ raise Exception("Invalid dependency file: %1s" % filename)
+ if m.group(1) == 'g':
+ globs[path] = []
+ glob = path
+ elif glob:
+ if m.group(1) != '+':
+ raise Exception("Negative match in glob.")
+ globs[glob].append(path)
+ else:
+ found = m.group(1) == '+'
+ if path in dependencies:
+ raise Exception("Duplicate path (%1s) in %2s" % (path, filename))
+ dependencies[path] = found
+ return { 'dependencies': dependencies, 'globs': globs }
+
+def temp_filename(extension):
+ file = tempfile.mkstemp(suffix = extension)
+ os.close(file[0])
+ return file[1]
+
+def load_file(filename):
+ f = open(filename, 'r')
+ try:
+ return f.read()
+ finally:
+ f.close()
+
+ return None
+
+main(sys.argv[1:], os.path.dirname(sys.argv[0]))
diff --git a/src/boost/tools/quickbook/test/python/simple.qbk b/src/boost/tools/quickbook/test/python/simple.qbk
new file mode 100644
index 000000000..af42ca5cd
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/simple.qbk
@@ -0,0 +1,23 @@
+[/ Copyright 2016 Daniel James.
+ / Distributed under the Boost Software License, Version 1.0. (See accompanying
+ / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ]
+
+[quickbook 1.6]
+[article Simple Test Article
+ [copyright 2016 Daniel James]
+ [license
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ [@http://www.boost.org/LICENSE_1_0.txt])
+ ]
+]
+
+[section:one One]
+
+[h1 A]
+
+Lorem ipsum dolor. Sit amet quis hendrerit pretium massa. Et imperdiet sit luctus et nam. Eget neque vivamus nec aliquam vestibulum. Venenatis id penatibus. Rutrum lobortis tempora. Turpis cras imperdiet. Quis parturient quam sed non libero donec in ut aliquam aliquam purus maecenas con dolor in est felis lorem amet vel. Risus mauris felis. Libero felis fringilla. Sed cursus metus dolor iaculis eget sit ac commodo. Molestie interdum nunc. Erat auctor suscipit. Turpis quisque nonummy. Integer vestibulum vivamus vulputate euismod et sed pretium urna metus scelerisque urna massa vestibulum neque.
+
+[heading B]
+
+[endsect]
diff --git a/src/boost/tools/quickbook/test/python/simple.xml b/src/boost/tools/quickbook/test/python/simple.xml
new file mode 100644
index 000000000..9b8f73bed
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/simple.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
+<article id="simple_test_article" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <title>Simple Test Article</title>
+ <articleinfo>
+ <copyright>
+ <year>2016</year> <holder>Daniel James</holder>
+ </copyright>
+ <legalnotice id="simple_test_article.legal">
+ <para>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>)
+ </para>
+ </legalnotice>
+ </articleinfo>
+ <section id="simple_test_article.one">
+ <title><link linkend="simple_test_article.one">One</link></title>
+ <bridgehead renderas="sect1" id="simple_test_article.one.h0">
+ <phrase id="simple_test_article.one.a"/><link linkend="simple_test_article.one.a">A</link>
+ </bridgehead>
+ <para>
+ Lorem ipsum dolor. Sit amet quis hendrerit pretium massa. Et imperdiet sit
+ luctus et nam. Eget neque vivamus nec aliquam vestibulum. Venenatis id penatibus.
+ Rutrum lobortis tempora. Turpis cras imperdiet. Quis parturient quam sed non
+ libero donec in ut aliquam aliquam purus maecenas con dolor in est felis lorem
+ amet vel. Risus mauris felis. Libero felis fringilla. Sed cursus metus dolor
+ iaculis eget sit ac commodo. Molestie interdum nunc. Erat auctor suscipit.
+ Turpis quisque nonummy. Integer vestibulum vivamus vulputate euismod et sed
+ pretium urna metus scelerisque urna massa vestibulum neque.
+ </para>
+ <bridgehead renderas="sect3" id="simple_test_article.one.h1">
+ <phrase id="simple_test_article.one.b"/><link linkend="simple_test_article.one.b">B</link>
+ </bridgehead>
+ </section>
+</article>
diff --git a/src/boost/tools/quickbook/test/python/simple_custom_pretty_print.xml b/src/boost/tools/quickbook/test/python/simple_custom_pretty_print.xml
new file mode 100644
index 000000000..07b71e5bf
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/simple_custom_pretty_print.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
+"http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
+<article id="simple_test_article" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <title>Simple Test Article</title>
+ <articleinfo>
+ <copyright>
+ <year>2016</year> <holder>Daniel James</holder>
+ </copyright>
+ <legalnotice id="simple_test_article.legal">
+ <para>
+ Distributed under the Boost Software License,
+ Version 1.0. (See accompanying file LICENSE_1_0.txt
+ or copy at <ulink url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>)
+ </para>
+ </legalnotice>
+ </articleinfo>
+ <section id="simple_test_article.one">
+ <title><link linkend="simple_test_article.one">One</link></title>
+ <bridgehead renderas="sect1" id="simple_test_article.one.h0">
+ <phrase id="simple_test_article.one.a"/><link linkend="simple_test_article.one.a">A</link>
+ </bridgehead>
+ <para>
+ Lorem ipsum dolor. Sit amet quis hendrerit pretium
+ massa. Et imperdiet sit luctus et nam. Eget neque
+ vivamus nec aliquam vestibulum. Venenatis id penatibus.
+ Rutrum lobortis tempora. Turpis cras imperdiet. Quis
+ parturient quam sed non libero donec in ut aliquam
+ aliquam purus maecenas con dolor in est felis lorem
+ amet vel. Risus mauris felis. Libero felis fringilla.
+ Sed cursus metus dolor iaculis eget sit ac commodo.
+ Molestie interdum nunc. Erat auctor suscipit. Turpis
+ quisque nonummy. Integer vestibulum vivamus vulputate
+ euismod et sed pretium urna metus scelerisque urna
+ massa vestibulum neque.
+ </para>
+ <bridgehead renderas="sect3" id="simple_test_article.one.h1">
+ <phrase id="simple_test_article.one.b"/><link linkend="simple_test_article.one.b">B</link>
+ </bridgehead>
+ </section>
+</article>
diff --git a/src/boost/tools/quickbook/test/python/simple_no_pretty_print.xml b/src/boost/tools/quickbook/test/python/simple_no_pretty_print.xml
new file mode 100644
index 000000000..258b4339f
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/simple_no_pretty_print.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
+ "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
+<article
+ id="simple_test_article"
+ last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <title>Simple Test Article</title>
+
+
+ <articleinfo>
+
+ <copyright>
+ <year>2016</year>
+ <holder>Daniel James</holder>
+ </copyright>
+
+ <legalnotice id="simple_test_article.legal">
+ <para>
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ <ulink url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>)
+
+ </para>
+ </legalnotice>
+
+ </articleinfo>
+
+
+<section id="simple_test_article.one">
+<title><link linkend="simple_test_article.one">One</link></title>
+<bridgehead renderas="sect1" id="simple_test_article.one.h0"><phrase id="simple_test_article.one.a"/><link linkend="simple_test_article.one.a">A</link></bridgehead><para>
+Lorem ipsum dolor. Sit amet quis hendrerit pretium massa. Et imperdiet sit luctus et nam. Eget neque vivamus nec aliquam vestibulum. Venenatis id penatibus. Rutrum lobortis tempora. Turpis cras imperdiet. Quis parturient quam sed non libero donec in ut aliquam aliquam purus maecenas con dolor in est felis lorem amet vel. Risus mauris felis. Libero felis fringilla. Sed cursus metus dolor iaculis eget sit ac commodo. Molestie interdum nunc. Erat auctor suscipit. Turpis quisque nonummy. Integer vestibulum vivamus vulputate euismod et sed pretium urna metus scelerisque urna massa vestibulum neque.</para>
+<bridgehead renderas="sect3" id="simple_test_article.one.h1"><phrase id="simple_test_article.one.b"/><link linkend="simple_test_article.one.b">B</link></bridgehead></section>
+</article>
+
diff --git a/src/boost/tools/quickbook/test/python/simple_no_self_linked.xml b/src/boost/tools/quickbook/test/python/simple_no_self_linked.xml
new file mode 100644
index 000000000..37dce222e
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/simple_no_self_linked.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
+<article id="simple_test_article" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <title>Simple Test Article</title>
+ <articleinfo>
+ <copyright>
+ <year>2016</year> <holder>Daniel James</holder>
+ </copyright>
+ <legalnotice id="simple_test_article.legal">
+ <para>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <ulink url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>)
+ </para>
+ </legalnotice>
+ </articleinfo>
+ <section id="simple_test_article.one">
+ <title>One</title>
+ <bridgehead renderas="sect1" id="simple_test_article.one.a">
+ A
+ </bridgehead>
+ <para>
+ Lorem ipsum dolor. Sit amet quis hendrerit pretium massa. Et imperdiet sit
+ luctus et nam. Eget neque vivamus nec aliquam vestibulum. Venenatis id penatibus.
+ Rutrum lobortis tempora. Turpis cras imperdiet. Quis parturient quam sed non
+ libero donec in ut aliquam aliquam purus maecenas con dolor in est felis lorem
+ amet vel. Risus mauris felis. Libero felis fringilla. Sed cursus metus dolor
+ iaculis eget sit ac commodo. Molestie interdum nunc. Erat auctor suscipit.
+ Turpis quisque nonummy. Integer vestibulum vivamus vulputate euismod et sed
+ pretium urna metus scelerisque urna massa vestibulum neque.
+ </para>
+ <bridgehead renderas="sect3" id="simple_test_article.one.b">
+ B
+ </bridgehead>
+ </section>
+</article>
diff --git a/src/boost/tools/quickbook/test/python/sub1/a.qbk b/src/boost/tools/quickbook/test/python/sub1/a.qbk
new file mode 100644
index 000000000..f3abe6ebf
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/sub1/a.qbk
@@ -0,0 +1,9 @@
+[/
+ Copyright 2012-2013 Daniel James
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+]
+
+a
diff --git a/src/boost/tools/quickbook/test/python/sub2/b.qbk b/src/boost/tools/quickbook/test/python/sub2/b.qbk
new file mode 100644
index 000000000..9b4336bdc
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/sub2/b.qbk
@@ -0,0 +1,9 @@
+[/
+ Copyright 2012-2013 Daniel James
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+]
+
+b
diff --git a/src/boost/tools/quickbook/test/python/svg_missing.qbk b/src/boost/tools/quickbook/test/python/svg_missing.qbk
new file mode 100644
index 000000000..1b54ece45
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/svg_missing.qbk
@@ -0,0 +1,11 @@
+[/
+ Copyright 2012-2013 Daniel James
+
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+]
+
+[article Dependencies for missing svg]
+
+[$missing.svg]
diff --git a/src/boost/tools/quickbook/test/python/svg_missing_deps.txt b/src/boost/tools/quickbook/test/python/svg_missing_deps.txt
new file mode 100644
index 000000000..91487e85e
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/svg_missing_deps.txt
@@ -0,0 +1,4 @@
+# Copyright 2012-2013 Daniel James
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+svg_missing.qbk
diff --git a/src/boost/tools/quickbook/test/python/svg_missing_locs.txt b/src/boost/tools/quickbook/test/python/svg_missing_locs.txt
new file mode 100644
index 000000000..0f4c9b806
--- /dev/null
+++ b/src/boost/tools/quickbook/test/python/svg_missing_locs.txt
@@ -0,0 +1,5 @@
+# Copyright 2012-2013 Daniel James
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+- html/missing.svg
++ svg_missing.qbk