mirror of
https://github.com/boostorg/boost.git
synced 2025-04-10 07:14:54 +00:00
Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41373]
This commit is contained in:
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
|
|
@ -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>
|
109
tools/regression/doc/instructions.html
Normal file
109
tools/regression/doc/instructions.html
Normal 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>
|
||||
</li>
|
||||
<li>Subversion 1.4 or later.<br>
|
||||
</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>
|
||||
</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>
|
||||
</li>
|
||||
<li>Run "<code>python run.py [options] [commands]</code>".</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:
|
||||
<user>:<password>@<host>[:<port>]
|
||||
--skip-tests=SKIP_TESTS
|
||||
do not run bjam; used for testing script changes</pre>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>To test trunk use "<code>--tag=trunk</code>" (the default), and to test the
|
||||
release use "<code>--tag=branches/release</code>". 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>
|
|
@ -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 }
|
||||
|
||||
|
|
|
@ -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'))
|
||||
|
||||
|
|
|
@ -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...
|
||||
|
|
|
@ -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}"
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue