Update of /cvsroot/boost/boost/tools/regression/xsl_reports/runner
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32023/xsl_reports/runner

Modified Files:
        instructions.html regression.py 
Log Message:
Merge regression reports fixed from RC_1_34_0

Index: instructions.html
===================================================================
RCS file: 
/cvsroot/boost/boost/tools/regression/xsl_reports/runner/instructions.html,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- instructions.html   13 Jan 2007 15:11:47 -0000      1.15
+++ instructions.html   20 Feb 2007 10:26:23 -0000      1.16
@@ -3,41 +3,33 @@
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.4.1: 
http://docutils.sourceforge.net/"; />
+<meta name="generator" content="Docutils 0.3.6: 
http://docutils.sourceforge.net/"; />
 <title>Running Boost Regression Tests</title>
 <style type="text/css">
 
 /*
 :Author: David Goodger
 :Contact: [EMAIL PROTECTED]
-:Date: $Date$
-:Revision: $Revision$
-:Copyright: This stylesheet has been placed in the public domain.
+:date: $Date$
+:version: $Revision$
+:copyright: This stylesheet has been placed in the public domain.
 
 Default cascading style sheet for the HTML output of Docutils.
-
-See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
-customize this style sheet.
 */
 
-/* used to remove borders from tables and images */
-.borderless, table.borderless td, table.borderless th {
-  border: 0 }
+body {
+    background-color: #fffff5;
+}
 
-table.borderless td, table.borderless th {
-  /* Override padding for "table.docutils td" with "! important".
-     The right padding separates the table cells. */
-  padding: 0 0.5em 0 0 ! important }
+h2 {
+    text-decoration: underline;
+}
 
 .first {
-  /* Override more specific margin styles with "! important". */
-  margin-top: 0 ! important }
-
-.last, .with-subtitle {
-  margin-bottom: 0 ! important }
+  margin-top: 0 }
 
-.hidden {
-  display: none }
+.last {
+  margin-bottom: 0 }
 
 a.toc-backref {
   text-decoration: none ;
@@ -46,14 +38,9 @@
 blockquote.epigraph {
   margin: 2em 5em ; }
 
-dl.docutils dd {
+dd {
   margin-bottom: 0.5em }
 
-/* Uncomment (and remove this text!) to get bold-faced definition list terms
-dl.docutils dt {
-  font-weight: bold }
-*/
-
 div.abstract {
   margin: 2em 5em }
 
@@ -61,18 +48,12 @@
   font-weight: bold ;
   text-align: center }
 
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
+div.attention, div.caution, div.danger, div.error, div.hint,
+div.important, div.note, div.tip, div.warning, div.admonition {
   margin: 2em ;
   border: medium outset ;
   padding: 1em }
 
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
-  font-weight: bold ;
-  font-family: sans-serif }
-
 div.attention p.admonition-title, div.caution p.admonition-title,
 div.danger p.admonition-title, div.error p.admonition-title,
 div.warning p.admonition-title {
@@ -80,14 +61,11 @@
   font-weight: bold ;
   font-family: sans-serif }
 
-/* Uncomment (and remove this text!) to get reduced vertical space in
-   compound paragraphs.
-div.compound .compound-first, div.compound .compound-middle {
-  margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
-  margin-top: 0.5em }
-*/
+div.hint p.admonition-title, div.important p.admonition-title,
+div.note p.admonition-title, div.tip p.admonition-title,
+div.admonition p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
 
 div.dedication {
   margin: 2em 5em ;
@@ -99,27 +77,15 @@
   font-style: normal }
 
 div.figure {
-  margin-left: 2em ;
-  margin-right: 2em }
+  margin-left: 2em }
 
 div.footer, div.header {
-  clear: both;
   font-size: smaller }
 
-div.line-block {
-  display: block ;
-  margin-top: 1em ;
-  margin-bottom: 1em }
-
-div.line-block div.line-block {
-  margin-top: 0 ;
-  margin-bottom: 0 ;
-  margin-left: 1.5em }
-
 div.sidebar {
   margin-left: 1em ;
   border: medium outset ;
-  padding: 1em ;
+  padding: 0em 1em ;
   background-color: #ffffee ;
   width: 40% ;
   float: right ;
@@ -146,25 +112,15 @@
 div.topic {
   margin: 2em }
 
-h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
-h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
-  margin-top: 0.4em }
-
 h1.title {
   text-align: center }
 
 h2.subtitle {
   text-align: center }
 
-hr.docutils {
+hr {
   width: 75% }
 
-img.align-left {
-  clear: left }
-
-img.align-right {
-  clear: right }
-
 ol.simple, ul.simple {
   margin-bottom: 1em }
 
@@ -221,6 +177,10 @@
   font-family: serif ;
   font-size: 100% }
 
+pre.line-block {
+  font-family: serif ;
+  font-size: 100% }
+
 pre.literal-block, pre.doctest-block {
   margin-left: 2em ;
   margin-right: 2em ;
@@ -240,48 +200,44 @@
 span.option {
   white-space: nowrap }
 
+span.option-argument {
+  font-style: italic }
+
 span.pre {
   white-space: pre }
 
 span.problematic {
   color: red }
 
-span.section-subtitle {
-  /* font-size relative to parent (h1..h6 element) */
-  font-size: 80% }
+table {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
 
 table.citation {
-  border-left: solid 1px gray;
-  margin-left: 1px }
+  border-left: solid thin gray ;
+  padding-left: 0.5ex }
 
 table.docinfo {
   margin: 2em 4em }
 
-table.docutils {
-  margin-top: 0.5em ;
-  margin-bottom: 0.5em }
-
 table.footnote {
-  border-left: solid 1px black;
-  margin-left: 1px }
+  border-left: solid thin black ;
+  padding-left: 0.5ex }
 
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
+td, th {
   padding-left: 0.5em ;
   padding-right: 0.5em ;
   vertical-align: top }
 
-table.docutils th.field-name, table.docinfo th.docinfo-name {
+th.docinfo-name, th.field-name {
   font-weight: bold ;
   text-align: left ;
-  white-space: nowrap ;
-  padding-left: 0 }
+  white-space: nowrap }
 
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
   font-size: 100% }
 
-tt.docutils {
+tt {
   background-color: #eeeeee }
 
 ul.auto-toc {
@@ -290,21 +246,21 @@
 </style>
 </head>
 <body>
-<div class="document" id="running-boost-regression-tests">
 <h1 class="title">Running Boost Regression Tests</h1>
-<div class="section">
-<h1><a id="requirements" name="requirements">Requirements</a></h1>
+<div class="document" id="running-boost-regression">
+<div class="section" id="requirements">
+<h1><a name="requirements">Requirements</a></h1>
 <ul class="simple">
 <li>Python 2.3 or higher</li>
 <li>Some spare disk space (~5 Gb per each tested compiler)</li>
 </ul>
 <p>That's it! You don't even need a CVS client installed.</p>
 </div>
-<div class="section">
-<h1><a id="installation" name="installation">Installation</a></h1>
+<div class="section" id="installation">
+<h1><a name="installation">Installation</a></h1>
 <ul class="simple">
 <li>Download regression driver <tt class="docutils literal"><span 
class="pre">regression.py</span></tt> from <a class="reference" 
href="http://boost.cvs.sourceforge.net/*checkout*/boost/boost/tools/regression/xsl_reports/runner/regression.py";>here</a>
 (<a class="reference" 
href="http://tinyurl.com/uufav";>http://tinyurl.com/uufav</a>)
-and put it in the directory where you want all the regression
+and put it in the directory where you want all the regression 
 test files to be placed.</li>
 </ul>
 <ul>
@@ -318,12 +274,12 @@
 </li>
 </ul>
 </div>
-<div class="section">
-<h1><a id="running-tests" name="running-tests">Running tests</a></h1>
+<div class="section" id="running-tests">
+<h1><a name="running-tests">Running tests</a></h1>
 <p>To start a regression run, simply run <tt class="docutils literal"><span 
class="pre">regression.py</span></tt> providing it with the following
 two arguments:</p>
 <ul class="simple">
-<li>runner id (something unique of your choice that will identify your
+<li>runner id (something unique of your choice that will identify your 
 results in the reports <a class="footnote-reference" href="#runnerid1" 
id="id2" name="id2">[1]</a>, <a class="footnote-reference" href="#runnerid2" 
id="id3" name="id3">[2]</a>)</li>
 <li>a particular set of toolsets you want to test with <a 
class="footnote-reference" href="#toolsets" id="id4" name="id4">[3]</a>.</li>
 </ul>
@@ -333,33 +289,33 @@
 </pre>
 <p>If you are interested in seeing all available options, run <tt 
class="docutils literal"><span class="pre">python</span> <span 
class="pre">regression.py</span></tt>
 or <tt class="docutils literal"><span class="pre">python</span> <span 
class="pre">regression.py</span> <span class="pre">--help</span></tt>. See also 
the <a class="reference" href="#advanced-use">Advanced use</a> section 
below.</p>
-<p><strong>Note</strong>: If you are behind a firewall/proxy server, 
everything should still &quot;just work&quot;.
-In the rare cases when it doesn't, you can explicitly specify the proxy server
+<p><strong>Note</strong>: If you are behind a firewall/proxy server, 
everything should still &quot;just work&quot;. 
+In the rare cases when it doesn't, you can explicitly specify the proxy server 
 parameters through the <tt class="docutils literal"><span 
class="pre">--proxy</span></tt> option, e.g.:</p>
 <pre class="literal-block">
 python regression.py ... <strong>--proxy=http://www.someproxy.com:3128</strong>
 </pre>
 </div>
-<div class="section">
-<h1><a id="details" name="details">Details</a></h1>
+<div class="section" id="details">
+<h1><a name="details">Details</a></h1>
 <p>The regression run procedure will:</p>
 <ul class="simple">
 <li>Download the most recent tarball from <a class="reference" 
href="http://www.meta-comm.com/engineering/boost/snapshot/";>http://www.meta-comm.com/engineering/boost/snapshot/</a>,
 unpack it in the subdirectory <tt class="docutils literal"><span 
class="pre">boost</span></tt>.</li>
 <li>Build <tt class="docutils literal"><span class="pre">bjam</span></tt> and 
<tt class="docutils literal"><span class="pre">process_jam_log</span></tt> if 
needed. (<tt class="docutils literal"><span 
class="pre">process_jam_log</span></tt> is an
-utility, which extracts the test results from the log file produced by
+utility, which extracts the test results from the log file produced by 
 Boost.Build).</li>
 <li>Run regression tests, process and collect the results.</li>
 <li>Upload the results to <a class="reference" 
href="ftp://fx.meta-comm.com/boost-regression";>ftp://fx.meta-comm.com/boost-regression</a>.</li>
 </ul>
-<p>The report merger process running continuously on MetaCommunications site 
will
-merge all submitted test runs and publish them at
+<p>The report merger process running continuously on MetaCommunications site 
will 
+merge all submitted test runs and publish them at 
 <a class="reference" 
href="http://boost.sourceforge.net/regression-logs/developer";>http://boost.sourceforge.net/regression-logs/developer</a>.</p>
 </div>
-<div class="section">
-<h1><a id="advanced-use" name="advanced-use">Advanced use</a></h1>
-<div class="section">
-<h2><a id="providing-detailed-information-about-your-environment" 
name="providing-detailed-information-about-your-environment">Providing detailed 
information about your environment</a></h2>
+<div class="section" id="advanced-use">
+<h1><a name="advanced-use">Advanced use</a></h1>
+<div class="section" id="providing-detailed">
+<h2><a name="providing-detailed">Providing detailed information about your 
environment</a></h2>
 <p>Once you have your regression results displayed in the Boost-wide
 reports, you may consider providing a bit more information about
 yourself and your test environment. This additional information will
@@ -372,52 +328,52 @@
 consider providing your name and email address for cases where Boost
 developers have questions specific to your particular set of results.</p>
 </div>
-<div class="section">
-<h2><a id="incremental-runs" name="incremental-runs">Incremental runs</a></h2>
-<p>You can run <tt class="docutils literal"><span 
class="pre">regression.py</span></tt> in incremental mode <a 
class="footnote-reference" href="#incremental" id="id5" name="id5">[4]</a> by 
simply passing
+<div class="section" id="incremental-runs">
+<h2><a name="incremental-runs">Incremental runs</a></h2>
+<p>You can run <tt class="docutils literal"><span 
class="pre">regression.py</span></tt> in incremental mode <a 
class="footnote-reference" href="#incremental" id="id5" name="id5">[4]</a> by 
simply passing 
 it an identically named command-line flag:</p>
 <pre class="literal-block">
 python regression.py ... <strong>--incremental</strong>
 </pre>
 </div>
-<div class="section">
-<h2><a id="dealing-with-misbehaved-tests-compilers" 
name="dealing-with-misbehaved-tests-compilers">Dealing with misbehaved 
tests/compilers</a></h2>
-<p>Depending on the environment/C++ runtime support library the test is 
compiled with,
+<div class="section" id="dealing-with-misbehaved">
+<h2><a name="dealing-with-misbehaved">Dealing with misbehaved 
tests/compilers</a></h2>
+<p>Depending on the environment/C++ runtime support library the test is 
compiled with, 
 a test failure/termination may cause an appearance of a dialog window, 
requiring
 human intervention to proceed. Moreover, the test (or even of the compiler 
itself)
-can fall into infinite loop, or simply run for too long. To allow <tt 
class="docutils literal"><span class="pre">regression.py</span></tt>
-to take care of these obstacles, add the <tt class="docutils literal"><span 
class="pre">--monitored</span></tt> flag to the script
+can fall into infinite loop, or simply run for too long. To allow <tt 
class="docutils literal"><span class="pre">regression.py</span></tt> 
+to take care of these obstacles, add the <tt class="docutils literal"><span 
class="pre">--monitored</span></tt> flag to the script 
 invocation:</p>
 <pre class="literal-block">
 python regression.py ... <strong>--monitored</strong>
 </pre>
-<p>That's it. Knowing your intentions, the script will be able to 
automatically deal
+<p>That's it. Knowing your intentions, the script will be able to 
automatically deal 
 with the listed issues <a class="footnote-reference" href="#monitored" 
id="id6" name="id6">[5]</a>.</p>
 </div>
-<div class="section">
-<h2><a id="getting-sources-from-cvs" name="getting-sources-from-cvs">Getting 
sources from CVS</a></h2>
+<div class="section" id="getting-sources-from-cvs">
+<h2><a name="getting-sources-from-cvs">Getting sources from CVS</a></h2>
 <p>If you already have a CVS client installed and configured, you might prefer 
to get
-the sources directly from the Boost CVS repository. To communicate this to the
-script, you just need to pass it your SourceForge user ID using the <tt 
class="docutils literal"><span class="pre">--user</span></tt>
+the sources directly from the Boost CVS repository. To communicate this to the 
+script, you just need to pass it your SourceForge user ID using the <tt 
class="docutils literal"><span class="pre">--user</span></tt> 
 option; for instance:</p>
 <pre class="literal-block">
 python regression.py ... <strong>--user=agurtovoy</strong>
 </pre>
-<p>You can also specify the user as <tt class="docutils literal"><span 
class="pre">anonymous</span></tt>, requesting anonymous CVS access.
-Note, though, that the files obtained this way tend to lag behind the actual 
CVS
-state by several hours, sometimes up to twelve. By contrast, the tarball the 
script
+<p>You can also specify the user as <tt class="docutils literal"><span 
class="pre">anonymous</span></tt>, requesting anonymous CVS access. 
+Note, though, that the files obtained this way tend to lag behind the actual 
CVS 
+state by several hours, sometimes up to twelve. By contrast, the tarball the 
script 
 downloads by default is at most one hour behind.</p>
 </div>
-<div class="section">
-<h2><a id="integration-with-a-custom-driver-script" 
name="integration-with-a-custom-driver-script">Integration with a custom driver 
script</a></h2>
-<p>Even if you've already been using a custom driver script, and for some
-reason you don't  want <tt class="docutils literal"><span 
class="pre">regression.py</span></tt> to take over of the entire test cycle,
+<div class="section" id="integration-with-a-custom">
+<h2><a name="integration-with-a-custom">Integration with a custom driver 
script</a></h2>
+<p>Even if you've already been using a custom driver script, and for some 
+reason you don't  want <tt class="docutils literal"><span 
class="pre">regression.py</span></tt> to take over of the entire test cycle, 
 getting your regression results into <a class="reference" 
href="http://www.boost.org/regression-logs/developer/";>Boost-wide reports</a> 
is still easy!</p>
-<p>In fact, it's just a matter of modifying your script to perform two 
straightforward
+<p>In fact, it's just a matter of modifying your script to perform two 
straightforward 
 operations:</p>
 <ol class="arabic">
 <li><p class="first"><em>Timestamp file creation</em> needs to be done before 
the CVS update/checkout.
-The file's location doesn't matter (nor does the content), as long as you know 
how
+The file's location doesn't matter (nor does the content), as long as you know 
how 
 to access it later. Making your script to do something as simple as
 <tt class="docutils literal"><span class="pre">echo</span> <span 
class="pre">&gt;timestamp</span></tt> would work just fine.</p>
 </li>
@@ -430,14 +386,14 @@
 <pre class="literal-block">
 --locate-root   directory to to scan for &quot;test_log.xml&quot; files
 --runner        runner ID (e.g. &quot;Metacomm&quot;)
---timestamp     path to a file which modification time will be used
+--timestamp     path to a file which modification time will be used 
                 as a timestamp of the run (&quot;timestamp&quot; by default)
 </pre>
 <p>For example, assuming that the run's resulting  binaries are in the
-<tt class="docutils literal"><span class="pre">$BOOST_ROOT/bin</span></tt> 
directory (the default Boost.Build setup), the
+<tt class="docutils literal"><span class="pre">$BOOST_ROOT/bin</span></tt> 
directory (the default Boost.Build setup), the 
 <tt class="docutils literal"><span 
class="pre">collect_and_upload_logs.py</span></tt> invocation might look like 
this:</p>
 <pre class="literal-block">
-python 
$BOOST_ROOT/tools/regression/xsl_reports/runner/collect_and_upload_logs.py
+python 
$BOOST_ROOT/tools/regression/xsl_reports/runner/collect_and_upload_logs.py 
    --locate-root=$BOOST_ROOT/bin
    --runner=Metacomm
    --timestamp=timestamp
@@ -445,8 +401,8 @@
 </li>
 </ol>
 </div>
-<div class="section">
-<h2><a id="patching-boost-sources" name="patching-boost-sources">Patching 
Boost sources</a></h2>
+<div class="section" id="patching-boost-sources">
+<h2><a name="patching-boost-sources">Patching Boost sources</a></h2>
 <p>You might encounter an occasional need to make local modifications to
 the Boost codebase before running the tests, without disturbing the
 automatic nature of the regression process. To implement this under
@@ -461,18 +417,18 @@
 and, if found, execute it after obtaining the Boost sources.</p>
 </div>
 </div>
-<div class="section">
-<h1><a id="feedback" name="feedback">Feedback</a></h1>
-<p>Please send all comments/suggestions regarding this document and the 
testing procedure
+<div class="section" id="feedback">
+<h1><a name="feedback">Feedback</a></h1>
+<p>Please send all comments/suggestions regarding this document and the 
testing procedure 
 itself to the <a class="reference" 
href="http://lists.boost.org/mailman/listinfo.cgi/boost-testing";>Boost Testing 
list</a>.</p>
 </div>
-<div class="section">
-<h1><a id="notes" name="notes">Notes</a></h1>
+<div class="section" id="notes">
+<h1><a name="notes">Notes</a></h1>
 <table class="docutils footnote" frame="void" id="runnerid1" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id2" 
name="runnerid1">[1]</a></td><td>If you are running regressions interlacingly 
with a different
-set of compilers (e.g. for Intel in the morning and GCC at the end of the 
day), you need
+<tr><td class="label"><a class="fn-backref" href="#id2" 
name="runnerid1">[1]</a></td><td>If you are running regressions interlacingly 
with a different 
+set of compilers (e.g. for Intel in the morning and GCC at the end of the 
day), you need 
 to provide a <em>different</em> runner id for each of these runs, e.g. <tt 
class="docutils literal"><span class="pre">your_name-intel</span></tt>, and
 <tt class="docutils literal"><span 
class="pre">your_name-gcc</span></tt>.</td></tr>
 </tbody>
@@ -481,32 +437,32 @@
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
 <tr><td class="label"><a class="fn-backref" href="#id3" 
name="runnerid2">[2]</a></td><td>The limitations of the reports' format/medium 
impose a direct dependency
-between the number of compilers you are testing with and the amount of space 
available
-for your runner id. If you are running regressions for a single compiler, 
please make
+between the number of compilers you are testing with and the amount of space 
available 
+for your runner id. If you are running regressions for a single compiler, 
please make 
 sure to choose a short enough id that does not significantly disturb the 
reports' layout.</td></tr>
 </tbody>
 </table>
 <table class="docutils footnote" frame="void" id="toolsets" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id4" 
name="toolsets">[3]</a></td><td>If <tt class="docutils literal"><span 
class="pre">--toolsets</span></tt> option is not provided, the script will try 
to use the
+<tr><td class="label"><a class="fn-backref" href="#id4" 
name="toolsets">[3]</a></td><td>If <tt class="docutils literal"><span 
class="pre">--toolsets</span></tt> option is not provided, the script will try 
to use the 
 platform's default toolset (<tt class="docutils literal"><span 
class="pre">gcc</span></tt> for most Unix-based systems).</td></tr>
 </tbody>
 </table>
 <table class="docutils footnote" frame="void" id="incremental" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id5" 
name="incremental">[4]</a></td><td><p class="first">By default, the script runs 
in what is known as <em>full mode</em>: on
-each <tt class="docutils literal"><span class="pre">regression.py</span></tt> 
invocation all the files that were left in place by the
-previous run -- including the binaries for the successfully built tests and 
libraries
--- are deleted, and everything is rebuilt once again from scratch. By 
contrast, in
-<em>incremental mode</em> the already existing binaries are left intact, and 
only the
-tests and libraries which source files has changed since the previous run are
+<tr><td class="label"><a class="fn-backref" href="#id5" 
name="incremental">[4]</a></td><td><p class="first">By default, the script runs 
in what is known as <em>full mode</em>: on 
+each <tt class="docutils literal"><span class="pre">regression.py</span></tt> 
invocation all the files that were left in place by the 
+previous run -- including the binaries for the successfully built tests and 
libraries 
+-- are deleted, and everything is rebuilt once again from scratch. By 
contrast, in 
+<em>incremental mode</em> the already existing binaries are left intact, and 
only the 
+tests and libraries which source files has changed since the previous run are 
 re-built and re-tested.</p>
-<p>The main advantage of incremental runs is a significantly shorter 
turnaround time,
+<p>The main advantage of incremental runs is a significantly shorter 
turnaround time, 
 but unfortunately they don't always produce reliable results. Some type of 
changes
 to the codebase (changes to the bjam testing subsystem in particular)
-often require switching to a full mode for one cycle in order to produce
+often require switching to a full mode for one cycle in order to produce 
 trustworthy reports.</p>
 <p class="last">As a general guideline, if you can afford it, testing in full 
mode is preferable.</p>
 </td></tr>
@@ -515,11 +471,16 @@
 <table class="docutils footnote" frame="void" id="monitored" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id6" 
name="monitored">[5]</a></td><td>Note that at the moment this functionality is 
available only if you
+<tr><td class="label"><a class="fn-backref" href="#id6" 
name="monitored">[5]</a></td><td>Note that at the moment this functionality is 
available only if you 
 are running on a Windows platform. Contributions are welcome!</td></tr>
 </tbody>
 </table>
 </div>
 </div>
+<hr class="docutils footer" />
+<div class="footer">
+Generated on: 2007-02-20 10:21 UTC.
+Generated by <a class="reference" 
href="http://docutils.sourceforge.net/";>Docutils</a> from <a class="reference" 
href="http://docutils.sourceforge.net/rst.html";>reStructuredText</a> source.
+</div>
 </body>
 </html>

Index: regression.py
===================================================================
RCS file: 
/cvsroot/boost/boost/tools/regression/xsl_reports/runner/regression.py,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -d -r1.69 -r1.70
--- regression.py       2 Feb 2007 06:34:33 -0000       1.69
+++ regression.py       20 Feb 2007 10:26:23 -0000      1.70
@@ -25,6 +25,8 @@
 regression_results = os.path.join( regression_root, 'results' )
 regression_log     = os.path.join( regression_results, 'bjam.log' )
 install_log        = os.path.join( regression_results, 'bjam_install.log' )
+boostbook_log      = os.path.join( regression_results, 'boostbook.log' )
+boostbook_archive_name = os.path.join( regression_results, 'boostbook.zip' )
 
 boost_root      = os.path.join( regression_root, 'boost' )
 xsl_reports_dir = os.path.join( boost_root, 'tools', 'regression', 
'xsl_reports' )
@@ -442,6 +444,7 @@
 def setup(
           comment
         , toolsets
+        , book
         , bjam_toolset
         , pjl_toolset
         , monitored
@@ -466,10 +469,9 @@
             download_if_needed( 'build_monitor.exe', build_monitor_url, proxy )
             download_if_needed( 'pskill.exe', pskill_url, proxy )
         else:
-            log( 'Warning: Test monitoring is not supported on this platform 
(yet).' )
+            log( 'Warning: Test monitoring is not supported on this platform 
(yet).'     )
             log( '         Please consider contributing this piece!' )
 
-
 def bjam_build_script_cmd( cmd ):
     env_setup_key = 'BJAM_ENVIRONMENT_SETUP'
     if os.environ.has_key( env_setup_key ):
@@ -602,6 +604,23 @@
         if monitored:
             stop_build_monitor()
 
+def build_book( **kargs ):
+    # To do
+    # 1. PDF generation
+    # 2. Do we need to cleanup before the build?
+    # 3. Incremental builds
+    if not os.path.exists( regression_results ):
+        os.makedirs( regression_results )
+    import_utils()
+    cwd = os.getcwd()
+    try:
+        os.chdir( os.path.join( boost_root, 'doc' ) )
+        if os.path.exists( boostbook_log ):
+            os.unlink( boostbook_log )
+        utils.system( [ '%s --v2 html >>%s 2>&1' % ( tool_path( bjam, v2=True 
), boostbook_log ) ] )
+        # utils.system( [ '%s --v2 pdf >>%s 2>&1' % ( tool_path( bjam, v2=True 
), boostbook_log ) ] )
+    finally:
+        os.chdir( cwd )
 
 def collect_logs(
           tag
@@ -650,7 +669,22 @@
         , run_type
         )
 
+def collect_book( **unused ):
+    log( 'Collecting files for BoostBook into "%s"...' % 
boostbook_archive_name )
+    import zipfile
+    boostbook_archive = zipfile.ZipFile( boostbook_archive_name, 'w', 
zipfile.ZIP_DEFLATED )
+    html_root = os.path.join( boost_root, 'doc/html' )
 
+    boostbook_archive.writestr( 'timestamp', timestamp())
+    boostbook_archive.write( boostbook_log, os.path.basename( boostbook_log ) )
+    
+    def add_files( arg, dirname, names ):
+        for name in names:
+            path = os.path.join( dirname, name )
+            if not os.path.isdir( path ):
+                boostbook_archive.write( path, path[ len(html_root) + 1: ] )
+    os.path.walk( html_root, add_files, None ) 
+    
 def upload_logs(
           tag
         , runner
@@ -667,7 +701,11 @@
         , ( regression_results, runner, tag, user, ftp_proxy, debug_level, 
send_bjam_log, timestamp_path )
         )
 
-
+def upload_book( tag, runner, ftp_proxy, debug_level, **unused ):
+    import_utils()
+    from runner import upload_to_ftp
+    upload_to_ftp( tag, boostbook_archive_name, ftp_proxy, debug_level )
+    
 def update_itself( tag, **unused ):
     source = os.path.join( xsl_reports_dir, 'runner', os.path.basename( 
sys.argv[0] ) )
     self = os.path.join( regression_root, os.path.basename( sys.argv[0] ) )
@@ -716,6 +754,7 @@
         , user
         , comment
         , toolsets
+        , book
         , bjam_options
         , bjam_toolset
         , pjl_toolset
@@ -761,11 +800,21 @@
                 cleanup( [] )
                 get_source( user, tag, proxy, [] )
 
-        setup( comment, toolsets, bjam_toolset, pjl_toolset, monitored, proxy,
+        setup( comment, toolsets, book, bjam_toolset, pjl_toolset, monitored, 
proxy,
                v2, [] )
-        test( toolsets, bjam_options, monitored, timeout, v2, [] )
-        collect_logs( tag, runner, platform, user, comment, incremental, [] )
-        upload_logs( tag, runner, user, ftp_proxy, debug_level, send_bjam_log )
+        # Not specifying --toolset in command line is not enough
+        # that would mean to use Boost.Build default ones
+        # We can skip test only we were explictly 
+        # told to have no toolsets in command line "--toolset="
+        if  toolsets != '': # --toolset=,
+            test( toolsets, bjam_options, monitored, timeout, v2, [] )
+            collect_logs( tag, runner, platform, user, comment, incremental, 
[] )
+            upload_logs( tag, runner, user, ftp_proxy, debug_level, 
send_bjam_log )
+        if book:
+            build_book()    
+            collect_book()
+            upload_book( tag, runner, ftp_proxy, debug_level )
+
         update_itself( tag )
 
         if mail:
@@ -811,6 +860,7 @@
         , 'user='
         , 'comment='
         , 'toolsets='
+        , 'book'
         , 'bjam-options='
         , 'bjam-toolset='
         , 'pjl-toolset='
@@ -836,6 +886,7 @@
         , '--user'          : None
         , '--comment'       : None
         , '--toolsets'      : None
+        , '--book'          : False
         , '--bjam-options'  : ''
         , '--bjam-toolset'  : None
         , '--pjl-toolset'   : None
@@ -862,6 +913,7 @@
         , 'user'            : options[ '--user' ]
         , 'comment'         : options[ '--comment' ]
         , 'toolsets'        : options[ '--toolsets' ]
+        , 'book'            : options.has_key( '--book' )
         , 'bjam_options'    : options[ '--bjam-options' ]
         , 'bjam_toolset'    : options[ '--bjam-toolset' ]
         , 'pjl_toolset'     : options[ '--pjl-toolset' ]
@@ -879,7 +931,6 @@
         , 'args'            : other_args
         }
 
-
 commands = {
       'cleanup'         : cleanup
     , 'get-source'      : get_source
@@ -887,8 +938,11 @@
     , 'setup'           : setup
     , 'install'         : install
     , 'test'            : test
+    , 'build-book'      : build_book
     , 'collect-logs'    : collect_logs
+    , 'collect-book'    : collect_book
     , 'upload-logs'     : upload_logs
+    , 'upload-book'     : upload_book
     , 'update-itself'   : update_itself
     , 'regression'      : regression
     , 'show-revision'   : show_revision
@@ -917,6 +971,7 @@
 \t                default)
 \t--user          SourceForge user name for a shell/CVS account (optional)
 \t--toolsets      comma-separated list of toolsets to test with (optional)
+\t--book          build BoostBook (optional)
 \t--bjam-options  options to pass to the regression test (optional)
 \t--bjam-toolset  bootstrap toolset for 'bjam' executable (optional)
 \t--pjl-toolset   bootstrap toolset for 'process_jam_log' executable


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to