2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-13 12:22:17 +00:00
Files
build/test/startup_v1.py
Vladimir Prus e017ca640f Towards really cross-toolset testing system.
- Allow to specify toolset name on the command line
- Expand $toolset in paths
- Pass toolset name to bjam invocations.


[SVN r17555]
2003-02-20 13:08:51 +00:00

95 lines
2.6 KiB
Python

#!/usr/bin/python
from BoostBuild import Tester
import os
import re
def expect_substring(actual,expected):
return actual.find(expected) != -1
def match_re(actual,expected):
return re.match(expected,actual,re.DOTALL) != None
# Test the v1 startup behavior
t = Tester(
executable='jam'
, match=match_re
, boost_build_path=''
, pass_toolset=0
)
t.set_tree('startup')
if os.name == 'nt':
t.run_build_system(
status=1, stdout="You didn't set BOOST_ROOT", match = expect_substring)
t.run_build_system(
extra_args = '-sBOOST_ROOT=.', status=1
, stdout=r'''Unable to load Boost\.Build: could not find "boost-build\.jam".*BOOST_ROOT must be set'''
)
os.chdir('no-bootstrap1')
t.run_build_system(
extra_args = '-sBOOST_ROOT=.', status=1
, stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
+ r'''.*attempted to load the build system by invoking'''
+ r'''.*'boost-build ;'.*'''
+ r'''but we were unable to find "bootstrap\.jam"'''
)
# Descend to a subdirectory which /doesn't/ contain a boost-build.jam
# file, and try again to test the crawl-up behavior.
os.chdir('subdir')
t.run_build_system(
extra_args = '-sBOOST_ROOT=.', status=1
, stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
+ r'''.*attempted to load the build system by invoking'''
+ r'''.*'boost-build ;'.*'''
+ r'''but we were unable to find "bootstrap\.jam"'''
)
os.chdir('../../no-bootstrap2')
t.run_build_system(
extra_args = '-sBOOST_ROOT=.', status=1
, stdout=r'''Unable to load Boost\.Build: could not find build system\.'''
+ r'''.*attempted to load the build system by invoking'''
+ r'''.*'boost-build \. ;'.*'''
+ r'''but we were unable to find "bootstrap\.jam"'''
)
os.chdir('../no-bootstrap3')
t.run_build_system(
extra_args = '-sBOOST_ROOT=.', status=1
, stdout=r'''Unable to load Boost.Build
.*boost-build.jam" was found.*
However, it failed to call the "boost-build" rule'''
)
# test bootstrapping based on BOOST_BUILD_PATH
os.chdir('../bootstrap-env')
t.run_build_system(
extra_args = '-sBOOST_ROOT=../boost-root -sBOOST_BUILD_PATH=../boost-root/tools/build'
, stdout = 'build system bootstrapped'
)
# test bootstrapping based on an explicit path in boost-build.jam
os.chdir('../bootstrap-explicit')
t.run_build_system(
extra_args = '-sBOOST_ROOT=../boost-root'
, stdout = 'build system bootstrapped'
)
# test bootstrapping based on BOOST_ROOT
os.chdir('../bootstrap-implicit')
t.run_build_system(
extra_args = '-sBOOST_ROOT=../boost-root'
, stdout = 'build system bootstrapped'
)
t.cleanup()