diff --git a/.travis.yml b/.travis.yml
index 095bfe0..64970f5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,14 +5,14 @@
addons:
apt:
packages:
- - libboost-dev
+ - libboost-tools-dev
- xsltproc
- - python-lxml
- docbook-xsl
- docbook-xml
before_script:
- touch Jamroot.jam
+ - pip install lxml
script:
- cd ${TRAVIS_BUILD_DIR}/test
diff --git a/test/more/run-tests.py b/test/more/run-tests.py
index c91f84c..2dd1b24 100755
--- a/test/more/run-tests.py
+++ b/test/more/run-tests.py
@@ -51,6 +51,7 @@ def main(argv):
sys.exit(1)
for root, dirs, files in os.walk(os.path.join(script_directory, 'tests')):
+ success = True
for filename in files:
(base, ext) = os.path.splitext(filename)
if (ext == '.xml'):
@@ -61,6 +62,7 @@ def main(argv):
except:
# TODO: Need better error reporting here:
print "Error running boostbook for " + src_path
+ success = False
continue
if (generate_gold):
@@ -74,7 +76,11 @@ def main(argv):
gold_text = file.read()
finally:
file.close()
- compare_xml(src_path, doc_text, gold_text)
+ if not compare_xml(src_path, doc_text, gold_text):
+ success = False
+ if not success:
+ sys.exit(1)
+
def run_boostbook(parser, boostbook_xsl, file):
doc = boostbook_xsl(etree.parse(file, parser))
@@ -121,6 +127,9 @@ def compare_xml(file, doc_text, gold_text):
)
print
print
+ return False
+ else:
+ return True
if __name__ == "__main__":
main(sys.argv[1:])
diff --git a/test/more/tests/libs/unordered-ref.gold b/test/more/tests/libs/unordered-ref.gold
index b43156e..1436c25 100644
--- a/test/more/tests/libs/unordered-ref.gold
+++ b/test/more/tests/libs/unordered-ref.gold
@@ -6,26 +6,26 @@
typename Alloc =std::allocator<Value>>class unordered_set;template<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_set<Value,Hash,Pred,Alloc>const&,
+ booloperator==(unordered_set<Value,Hash,Pred,Alloc>const&,unordered_set<Value,Hash,Pred,Alloc>const&);template<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_set<Value,Hash,Pred,Alloc>const&,
+ booloperator!=(unordered_set<Value,Hash,Pred,Alloc>const&,unordered_set<Value,Hash,Pred,Alloc>const&);template<typename Value,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_set<Value,Hash,Pred,Alloc>&,
+ voidswap(unordered_set<Value,Hash,Pred,Alloc>&,unordered_set<Value,Hash,Pred,Alloc>&);template<typename Value,typename Hash =boost::hash<Value>,typename Pred =std::equal_to<Value>,typename Alloc =std::allocator<Value>>class unordered_multiset;template<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_multiset<Value,Hash,Pred,Alloc>const&,
+ booloperator==(unordered_multiset<Value,Hash,Pred,Alloc>const&,unordered_multiset<Value,Hash,Pred,Alloc>const&);template<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_multiset<Value,Hash,Pred,Alloc>const&,
+ booloperator!=(unordered_multiset<Value,Hash,Pred,Alloc>const&,unordered_multiset<Value,Hash,Pred,Alloc>const&);template<typename Value,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_multiset<Value,Hash,Pred,Alloc>&,
+ voidswap(unordered_multiset<Value,Hash,Pred,Alloc>&,unordered_multiset<Value,Hash,Pred,Alloc>&);}Class template unordered_set3boost::unordered_set
@@ -141,15 +141,15 @@
// Equality Comparisonstemplate<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_set<Value,Hash,Pred,Alloc>const&,
+ booloperator==(unordered_set<Value,Hash,Pred,Alloc>const&,unordered_set<Value,Hash,Pred,Alloc>const&);template<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_set<Value,Hash,Pred,Alloc>const&,
+ booloperator!=(unordered_set<Value,Hash,Pred,Alloc>const&,unordered_set<Value,Hash,Pred,Alloc>const&);// swaptemplate<typename Value,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_set<Value,Hash,Pred,Alloc>&,
+ voidswap(unordered_set<Value,Hash,Pred,Alloc>&,unordered_set<Value,Hash,Pred,Alloc>&);DescriptionBased on chapter 23 of
the working draft of the C++ standard [n2960].
@@ -366,17 +366,17 @@
?>Effects:Changes the container's maximum load factor, using z as a hint.voidrehash(size_type n);Changes the number of buckets so that there at least n buckets, and so that the load factor is less than the maximum load factor.Invalidates iterators, and changes the order of elements. Pointers and references to elements are not invalidated.Throws:The function has no effect if an exception is thrown, unless it is thrown by the container's hash function or comparison function.unordered_set Equality Comparisonstemplate<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_set<Value,Hash,Pred,Alloc>const& x,
+ booloperator==(unordered_set<Value,Hash,Pred,Alloc>const& x,unordered_set<Value,Hash,Pred,Alloc>const& y);Notes:This is a boost extension.Behavior is undefined if the two containers don't have
equivalent equality predicates.template<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_set<Value,Hash,Pred,Alloc>const& x,
+ booloperator!=(unordered_set<Value,Hash,Pred,Alloc>const& x,unordered_set<Value,Hash,Pred,Alloc>const& y);Notes:This is a boost extension.Behavior is undefined if the two containers don't have
equivalent equality predicates.unordered_set swaptemplate<typename Value,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_set<Value,Hash,Pred,Alloc>& x,
+ voidswap(unordered_set<Value,Hash,Pred,Alloc>& x,unordered_set<Value,Hash,Pred,Alloc>& y);Effects:x.swap(y)Throws:If the allocators are equal, doesn't throw an exception unless it is thrown by the copy constructor or copy assignment operator of Hash or Pred.Notes:For a discussion of the behavior when allocators aren't equal see
@@ -494,15 +494,15 @@
// Equality Comparisonstemplate<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_multiset<Value,Hash,Pred,Alloc>const&,
+ booloperator==(unordered_multiset<Value,Hash,Pred,Alloc>const&,unordered_multiset<Value,Hash,Pred,Alloc>const&);template<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_multiset<Value,Hash,Pred,Alloc>const&,
+ booloperator!=(unordered_multiset<Value,Hash,Pred,Alloc>const&,unordered_multiset<Value,Hash,Pred,Alloc>const&);// swaptemplate<typename Value,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_multiset<Value,Hash,Pred,Alloc>&,
+ voidswap(unordered_multiset<Value,Hash,Pred,Alloc>&,unordered_multiset<Value,Hash,Pred,Alloc>&);DescriptionBased on chapter 23 of
the working draft of the C++ standard [n2960].
@@ -719,17 +719,17 @@
?>Effects:Changes the container's maximum load factor, using z as a hint.voidrehash(size_type n);Changes the number of buckets so that there at least n buckets, and so that the load factor is less than the maximum load factor.Invalidates iterators, and changes the order of elements. Pointers and references to elements are not invalidated.Throws:The function has no effect if an exception is thrown, unless it is thrown by the container's hash function or comparison function.unordered_multiset Equality Comparisonstemplate<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_multiset<Value,Hash,Pred,Alloc>const& x,
+ booloperator==(unordered_multiset<Value,Hash,Pred,Alloc>const& x,unordered_multiset<Value,Hash,Pred,Alloc>const& y);Notes:This is a boost extension.Behavior is undefined if the two containers don't have
equivalent equality predicates.template<typename Value,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_multiset<Value,Hash,Pred,Alloc>const& x,
+ booloperator!=(unordered_multiset<Value,Hash,Pred,Alloc>const& x,unordered_multiset<Value,Hash,Pred,Alloc>const& y);Notes:This is a boost extension.Behavior is undefined if the two containers don't have
equivalent equality predicates.unordered_multiset swaptemplate<typename Value,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_multiset<Value,Hash,Pred,Alloc>& x,
+ voidswap(unordered_multiset<Value,Hash,Pred,Alloc>& x,unordered_multiset<Value,Hash,Pred,Alloc>& y);Effects:x.swap(y)Throws:If the allocators are equal, doesn't throw an exception unless it is thrown by the copy constructor or copy assignment operator of Hash or Pred.Notes:For a discussion of the behavior when allocators aren't equal see
@@ -742,15 +742,15 @@
class unordered_map;template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_map<Key,Mapped,Hash,Pred,Alloc>const&,
+ booloperator==(unordered_map<Key,Mapped,Hash,Pred,Alloc>const&,unordered_map<Key,Mapped,Hash,Pred,Alloc>const&);template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_map<Key,Mapped,Hash,Pred,Alloc>const&,
+ booloperator!=(unordered_map<Key,Mapped,Hash,Pred,Alloc>const&,unordered_map<Key,Mapped,Hash,Pred,Alloc>const&);template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_map<Key,Mapped,Hash,Pred,Alloc>&,
+ voidswap(unordered_map<Key,Mapped,Hash,Pred,Alloc>&,unordered_map<Key,Mapped,Hash,Pred,Alloc>&);template<typename Key,typename Mapped,typename Hash =boost::hash<Key>,typename Pred =std::equal_to<Key>,
@@ -758,15 +758,15 @@
class unordered_multimap;template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&,
+ booloperator==(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&,unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&);template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&,
+ booloperator!=(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&,unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&);template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>&,
+ voidswap(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>&,unordered_multimap<Key,Mapped,Hash,Pred,Alloc>&);}Class template unordered_map3boost::unordered_map
@@ -887,17 +887,17 @@
// Equality Comparisonstemplate<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_map<Key,Mapped,Hash,Pred,Alloc>const&,
+ booloperator==(unordered_map<Key,Mapped,Hash,Pred,Alloc>const&,unordered_map<Key,Mapped,Hash,Pred,Alloc>const&);template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_map<Key,Mapped,Hash,Pred,Alloc>const&,
+ booloperator!=(unordered_map<Key,Mapped,Hash,Pred,Alloc>const&,unordered_map<Key,Mapped,Hash,Pred,Alloc>const&);// swaptemplate<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_map<Key,Mapped,Hash,Pred,Alloc>&,
+ voidswap(unordered_map<Key,Mapped,Hash,Pred,Alloc>&,unordered_map<Key,Mapped,Hash,Pred,Alloc>&);DescriptionBased on chapter 23 of
the working draft of the C++ standard [n2960].
@@ -1124,19 +1124,19 @@
list-presentation="table"
?>Throws:The function has no effect if an exception is thrown, unless it is thrown by the container's hash function or comparison function.unordered_map Equality Comparisonstemplate<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_map<Key,Mapped,Hash,Pred,Alloc>const& x,
+ booloperator==(unordered_map<Key,Mapped,Hash,Pred,Alloc>const& x,unordered_map<Key,Mapped,Hash,Pred,Alloc>const& y);Notes:This is a boost extension.Behavior is undefined if the two containers don't have
equivalent equality predicates.template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_map<Key,Mapped,Hash,Pred,Alloc>const& x,
+ booloperator!=(unordered_map<Key,Mapped,Hash,Pred,Alloc>const& x,unordered_map<Key,Mapped,Hash,Pred,Alloc>const& y);Notes:This is a boost extension.Behavior is undefined if the two containers don't have
equivalent equality predicates.unordered_map swaptemplate<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_map<Key,Mapped,Hash,Pred,Alloc>& x,
+ voidswap(unordered_map<Key,Mapped,Hash,Pred,Alloc>& x,unordered_map<Key,Mapped,Hash,Pred,Alloc>& y);Effects:x.swap(y)Throws:If the allocators are equal, doesn't throw an exception unless it is thrown by the copy constructor or copy assignment operator of Hash or Pred.Notes:For a discussion of the behavior when allocators aren't equal see
@@ -1256,17 +1256,17 @@
// Equality Comparisonstemplate<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&,
+ booloperator==(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&,unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&);template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&,
+ booloperator!=(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&,unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const&);// swaptemplate<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>&,
+ voidswap(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>&,unordered_multimap<Key,Mapped,Hash,Pred,Alloc>&);DescriptionBased on chapter 23 of
the working draft of the C++ standard [n2960].
@@ -1487,19 +1487,19 @@
list-presentation="table"
?>Throws:The function has no effect if an exception is thrown, unless it is thrown by the container's hash function or comparison function.unordered_multimap Equality Comparisonstemplate<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator==(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const& x,
+ booloperator==(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const& x,unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const& y);Notes:This is a boost extension.Behavior is undefined if the two containers don't have
equivalent equality predicates.template<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- booloperator!=(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const& x,
+ booloperator!=(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const& x,unordered_multimap<Key,Mapped,Hash,Pred,Alloc>const& y);Notes:This is a boost extension.Behavior is undefined if the two containers don't have
equivalent equality predicates.unordered_multimap swaptemplate<typename Key,typename Mapped,typename Hash,typename Pred,typename Alloc>
- voidswap(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>& x,
+ voidswap(unordered_multimap<Key,Mapped,Hash,Pred,Alloc>& x,unordered_multimap<Key,Mapped,Hash,Pred,Alloc>& y);Effects:x.swap(y)Throws:If the allocators are equal, doesn't throw an exception unless it is thrown by the copy constructor or copy assignment operator of Hash or Pred.Notes:For a discussion of the behavior when allocators aren't equal see
diff --git a/xsl/html-base.xsl b/xsl/html-base.xsl
index 022a224..610670e 100644
--- a/xsl/html-base.xsl
+++ b/xsl/html-base.xsl
@@ -387,6 +387,10 @@ set toc,title
+
+
+
+