Full merge from trunk at revision 41356 of entire boost-root tree.

[SVN r41373]
This commit is contained in:
Beman Dawes 2007-11-25 19:36:19 +00:00
parent f8fef4ab0e
commit 5c28840e8d
8 changed files with 203 additions and 65 deletions

@ -1 +1 @@
Subproject commit d4b923c4ca3fbf94956ae1e281e8d6606d7a7a82
Subproject commit 930368bf0aecabb752015a99bdf6c175cdc57ee7

@ -1 +1 @@
Subproject commit deeb8c598dfc087618586543232bf2a18acbe5c1
Subproject commit 1809216f6bbae7ad6db0440cd0e67f5a6485859d

View file

@ -21,6 +21,8 @@
reports.</p>
<ul>
<li><a href="instructions.html">Instructions</a> for running the regression
tests</li>
<li><a href="../src/process_jam_log.cpp">process_jam_log.cpp</a> -
Processes the bjam outputs, creating a file named test_log.xml for each
test encountered.</li>
@ -49,4 +51,4 @@
copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</p>
</body>
</html>
</html>

View file

@ -0,0 +1,109 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Running Boost Regression Tests</title>
<link rel="stylesheet" type="text/css" href="../../../doc/html/minimal.css">
</head>
<body>
<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="831">
<tr>
<td width="277">
<a href="../../../../index.htm">
<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
<td width="531" align="middle">
<font size="7">Running Boost Regression Tests</font>
</td>
</tr>
</table>
<h2>Requirements</h2>
<ul>
<li>Python 2.3 or later.<br>
&nbsp;</li>
<li>Subversion 1.4 or later.<br>
&nbsp;</li>
<li>At least 5 gigabytes of disk space per compiler to be tested.</li>
</ul>
<h2>Step by step instructions</h2>
<ol>
<li>Create a new directory for the branch you want to test.<br>
&nbsp;</li>
<li>Download the
<a href="http://svn.boost.org/svn/boost/trunk/tools/regression/src/run.py">
run.py</a> script into that directory.<br>
&nbsp;</li>
<li>Run &quot;<code>python run.py [options] [commands]</code>&quot;.</li>
</ol>
<dl>
<dd>
<pre>commands: cleanup, collect-logs, get-source, get-tools, patch,
regression, setup, show-revision, test, test-clean, test-process,
test-run, update-source, upload-logs
options:
-h, --help show this help message and exit
--runner=RUNNER runner ID (e.g. 'Metacomm')
--comment=COMMENT an HTML comment file to be inserted in the
reports
--tag=TAG the tag for the results
--toolsets=TOOLSETS comma-separated list of toolsets to test with
--incremental do incremental run (do not remove previous
binaries)
--timeout=TIMEOUT specifies the timeout, in minutes, for a single
test run/compilation
--bjam-options=BJAM_OPTIONS
options to pass to the regression test
--bjam-toolset=BJAM_TOOLSET
bootstrap toolset for 'bjam' executable
--pjl-toolset=PJL_TOOLSET
bootstrap toolset for 'process_jam_log'
executable
--platform=PLATFORM
--user=USER Boost SVN user ID
--local=LOCAL the name of the boost tarball
--force-update=FORCE_UPDATE
do an SVN update (if applicable) instead of a
clean checkout, even when performing a full run
--have-source=HAVE_SOURCE
do neither a tarball download nor an SVN update;
used primarily for testing script changes
--proxy=PROXY HTTP proxy server address and port
(e.g.'<a rel="nofollow" href="http://www.someproxy.com:3128'" target="_top">http://www.someproxy.com:3128'</a>)
--ftp-proxy=FTP_PROXY
FTP proxy server (e.g. 'ftpproxy')
--dart-server=DART_SERVER
the dart server to send results to
--debug-level=DEBUG_LEVEL
debugging level; controls the amount of
debugging output printed
--send-bjam-log send full bjam log of the regression run
--mail=MAIL email address to send run notification to
--smtp-login=SMTP_LOGIN
STMP server address/login information, in the
following form:
&lt;user&gt;:&lt;password&gt;@&lt;host&gt;[:&lt;port&gt;]
--skip-tests=SKIP_TESTS
do not run bjam; used for testing script changes</pre>
</dd>
</dl>
<p>To test trunk use &quot;<code>--tag=trunk</code>&quot; (the default), and to test the
release use &quot;<code>--tag=branches/release</code>&quot;. Or substitute any Boost tree
of your choice.</p>
<hr>
<p>© Copyright Rene Rivera, 2007<br>
Distributed under the Boost Software License, Version 1.0. See
<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
<p>Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%B %d, %Y" startspan -->November 23, 2007<!--webbot bot="Timestamp" endspan i-checksum="39587" --> </font>
</p>
</body>

View file

@ -27,7 +27,9 @@ repo_path = {
'release' : 'branches/release',
'build' : 'trunk/tools/build/v2',
'jam' : 'tags/tools/jam/Boost_Jam_3_1_15/src',
'regression' : 'trunk/tools/regression'
'regression' : 'trunk/tools/regression',
'boost-build.jam'
: 'trunk/boost-build.jam'
}
class runner:
@ -244,6 +246,13 @@ class runner:
self.unpack_tarball(
self.tools_regression_root+".tar.bz2",
os.path.basename(self.tools_regression_root) )
#~ We get a boost-build.jam to make the tool build work even if there's
#~ and existing boost-build.jam above the testing root.
self.log( 'Getting boost-build.jam...' )
self.http_get(
self.svn_repository_url(repo_path['boost-build.jam']),
os.path.join( self.regression_root, 'boost-build.jam' ) )
def command_get_source(self):
self.refresh_timestamp()
@ -608,9 +617,17 @@ class runner:
if self.timeout > 0:
args += ' -l%s' % (self.timeout*60)
cmd = '"%(bjam)s" "-sBOOST_BUILD_PATH=%(bb)s" "-sBOOST_ROOT=%(boost)s" "--boost=%(boost)s" %(arg)s' % {
cmd = '"%(bjam)s"' +\
' "-sBOOST_BUILD_PATH=%(bbpath)s"' +\
' "-sBOOST_ROOT=%(boost)s"' +\
' "--boost=%(boost)s"' +\
' "--boost-build=%(bb)s"' +\
' "--debug-configuration"' +\
' %(arg)s'
cmd %= {
'bjam' : self.tool_path( self.bjam ),
'bb' : os.pathsep.join([build_path,self.tools_bb_root]),
'bbpath' : os.pathsep.join([build_path,self.tools_bb_root]),
'bb' : self.tools_bb_root,
'boost' : self.boost_root,
'arg' : args }

View file

@ -12,6 +12,13 @@ import shutil
import sys
import urllib
#~ Using --skip-script-download is useful to avoid repeated downloading of
#~ the regression scripts when doing the regression commands individually.
no_update_argument = "--skip-script-download"
no_update = no_update_argument in sys.argv
if no_update:
del sys.argv[sys.argv.index(no_update_argument)]
#~ The directory this file is in.
root = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
print '# Running regressions in %s...' % root
@ -21,28 +28,30 @@ script_local = os.path.join(root,'tools','regression','src')
script_remote = 'http://svn.boost.org/svn/boost/trunk/tools/regression/src'
script_dir = os.path.join(root,'tools_regression_src')
#~ Bootstrap.
#~ * Clear out any old versions of the scripts
print '# Creating regression scripts at %s...' % script_dir
if os.path.exists(script_dir):
shutil.rmtree(script_dir)
os.mkdir(script_dir)
#~ * Get new scripts, either from local working copy, or from svn
if os.path.exists(script_local):
print '# Copying regression scripts from %s...' % script_local
for src in script_sources:
shutil.copyfile( os.path.join(script_local,src), os.path.join(script_dir,src) )
else:
print '# Dowloading regression scripts from %s...' % script_remote
proxy = None
for a in sys.argv[1:]:
if a.startswith('--proxy='):
proxy = {'http' : a.split('=')[1] }
print '--- %s' %(proxy['http'])
break
for src in script_sources:
urllib.FancyURLopener(proxy).retrieve(
'%s/%s' % (script_remote,src), os.path.join(script_dir,src) )
if not no_update:
#~ Bootstrap.
#~ * Clear out any old versions of the scripts
print '# Creating regression scripts at %s...' % script_dir
if os.path.exists(script_dir):
shutil.rmtree(script_dir)
os.mkdir(script_dir)
#~ * Get new scripts, either from local working copy, or from svn
if os.path.exists(script_local):
print '# Copying regression scripts from %s...' % script_local
for src in script_sources:
shutil.copyfile( os.path.join(script_local,src), os.path.join(script_dir,src) )
else:
print '# Dowloading regression scripts from %s...' % script_remote
proxy = None
for a in sys.argv[1:]:
if a.startswith('--proxy='):
proxy = {'http' : a.split('=')[1] }
print '--- %s' %(proxy['http'])
break
for src in script_sources:
urllib.FancyURLopener(proxy).retrieve(
'%s/%s' % (script_remote,src), os.path.join(script_dir,src) )
#~ * Make the scripts available to Python
sys.path.insert(0,os.path.join(root,'tools_regression_src'))

View file

@ -1,36 +1,36 @@
boost-test(RUN) "statechart/DllTestNative" : "libs/statechart/test/TuTestMain.cpp"
boost-test(RUN) "statechart/DllTestNormal" : "libs/statechart/test/TuTestMain.cpp"
compile-c-c++ ..\..\..\bin.v2\libs\statechart\test\DllTestNormal.test\msvc-7.1\debug\threading-multi\TuTestMain.obj
TuTestMain.cpp
c:\Users\Misha\Stuff\boost\HEAD\boost\libs\statechart\test\TuTest.hpp(36) : warning C4275: non dll-interface class 'boost::statechart::event_base' used as base for dll-interface class 'boost::statechart::detail::rtti_policy::rtti_derived_type<MostDerived,Base>'
with
[
MostDerived=EvX,
Base=boost::statechart::event_base
]
..\..\..\boost\statechart\event_base.hpp(49) : see declaration of 'boost::statechart::event_base'
compile-c-c++ ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLibTuTest.obj
TuTest.cpp
c:\Users\Misha\Stuff\boost\HEAD\boost\libs\statechart\test\TuTest.hpp(36) : warning C4275: non dll-interface class 'boost::statechart::event_base' used as base for dll-interface class 'boost::statechart::detail::rtti_policy::rtti_derived_type<MostDerived,Base>'
with
[
MostDerived=EvX,
Base=boost::statechart::event_base
]
..\..\..\boost\statechart\event_base.hpp(49) : see declaration of 'boost::statechart::event_base'
msvc.link.dll ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib
Creating library ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib and object ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.exp
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /subsystem:console /out:"..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll" /IMPLIB:"..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib" @"..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll.rsp"
if %errorlevel% 1 exit %errorlevel%
if exist "..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll.manifest" (
mt -nologo -manifest "..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll.manifest" "-outputresource:..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll;2"
)
...failed msvc.link.dll ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib...
...removing ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll
...removing ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib
...skipped <p..\..\..\bin.v2\libs\statechart\test\DllTestNormal.test\msvc-7.1\debug\threading-multi>DllTestNormal.exe for lack of <p..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi>DllTestNormalLib-vc71-mt-gd-1_35.lib...
...skipped <p..\..\..\bin.v2\libs\statechart\test\DllTestNormal.test\msvc-7.1\debug\threading-multi>DllTestNormal.run for lack of <p..\..\..\bin.v2\libs\statechart\test\DllTestNormal.test\msvc-7.1\debug\threading-multi>DllTestNormal.exe...
boost-test(RUN) "statechart/DllTestNative" : "libs/statechart/test/TuTestMain.cpp"
boost-test(RUN) "statechart/DllTestNormal" : "libs/statechart/test/TuTestMain.cpp"
compile-c-c++ ..\..\..\bin.v2\libs\statechart\test\DllTestNormal.test\msvc-7.1\debug\threading-multi\TuTestMain.obj
TuTestMain.cpp
c:\Users\Misha\Stuff\boost\HEAD\boost\libs\statechart\test\TuTest.hpp(36) : warning C4275: non dll-interface class 'boost::statechart::event_base' used as base for dll-interface class 'boost::statechart::detail::rtti_policy::rtti_derived_type<MostDerived,Base>'
with
[
MostDerived=EvX,
Base=boost::statechart::event_base
]
..\..\..\boost\statechart\event_base.hpp(49) : see declaration of 'boost::statechart::event_base'
compile-c-c++ ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLibTuTest.obj
TuTest.cpp
c:\Users\Misha\Stuff\boost\HEAD\boost\libs\statechart\test\TuTest.hpp(36) : warning C4275: non dll-interface class 'boost::statechart::event_base' used as base for dll-interface class 'boost::statechart::detail::rtti_policy::rtti_derived_type<MostDerived,Base>'
with
[
MostDerived=EvX,
Base=boost::statechart::event_base
]
..\..\..\boost\statechart\event_base.hpp(49) : see declaration of 'boost::statechart::event_base'
msvc.link.dll ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib
Creating library ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib and object ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.exp
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /subsystem:console /out:"..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll" /IMPLIB:"..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib" @"..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll.rsp"
if %errorlevel% 1 exit %errorlevel%
if exist "..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll.manifest" (
mt -nologo -manifest "..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll.manifest" "-outputresource:..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll;2"
)
...failed msvc.link.dll ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib...
...removing ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.dll
...removing ..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi\DllTestNormalLib-vc71-mt-gd-1_35.lib
...skipped <p..\..\..\bin.v2\libs\statechart\test\DllTestNormal.test\msvc-7.1\debug\threading-multi>DllTestNormal.exe for lack of <p..\..\..\bin.v2\libs\statechart\test\msvc-7.1\debug\threading-multi>DllTestNormalLib-vc71-mt-gd-1_35.lib...
...skipped <p..\..\..\bin.v2\libs\statechart\test\DllTestNormal.test\msvc-7.1\debug\threading-multi>DllTestNormal.run for lack of <p..\..\..\bin.v2\libs\statechart\test\DllTestNormal.test\msvc-7.1\debug\threading-multi>DllTestNormal.exe...

View file

@ -103,7 +103,8 @@ build_results()
--expected-results="${boost}/status/expected_results.xml" \
--failures-markup="${boost}/status/explicit-failures-markup.xml" \
--comment="comment.html" \
--user=""
--user="" \
--reports="i,dd,ds,n"
cd "${cwd}"
}