Boost Testing :
From: David Abrahams (dave_at_[hidden])
Date: 2005-08-22 09:38:45
David Abrahams <dave_at_[hidden]> writes:
> Aleksey Gurtovoy <agurtovoy_at_[hidden]> writes:
>> David Abrahams writes:
>>> Aleksey Gurtovoy <agurtovoy_at_[hidden]> writes:
>>>> make a wrapper toolset file which includes the version and
>>>> platform information in its name and place it in the same directory
>>>> with "regression.py".
>>> This technique isn't working for me. Neither is
>>> In both cases bjam reports that the toolset isn't found.
>> Does it work for you if you copy the bjam command line from the
>> 'regression.py' log and execute it on its own (from the script's
> Kinda hard to do that since IIRC the image of boost gets cleaned up
> for me after the build fails. If I get a moment I'll look again.
I guess IDRC.
>> If not, either the command line is wrong, or something in
>> bjam is broken.
The command line is wrong. You're using Unix-style path separators (":")
instead of windows-style (";") in setting up BOOST_BUILD_PATH.
python -c "import os ; help(os.path)"
Help on module ntpath:
ntpath - Common pathname manipulations, WindowsNT/95 version.
__all__ = ['normcase', 'isabs', 'join', 'splitdrive', 'split', 'splite...
altsep = '/'
curdir = '.'
defpath = r'.;C:\bin'
devnull = 'nul'
extsep = '.'
pardir = '..'
pathsep = ';'
sep = r'\'
supports_unicode_filenames = True
I'd try to fix it myself, but I honestly don't know how multiple path
elements get into the bjam command line, from looking at the code:
def bjam_command( toolsets ):
build_path = regression_root
if build_path[-1] == '\\': build_path += '\\'
result = '"%s" "-sBOOST_BUILD_PATH=%s" "-sBOOST_ROOT=%s"'\
tool_path( bjam )
Unless regression_root is somehow a list of paths(?)...
>> In either case, you are more qualified to say which
>> one it is ;).
Not this time ;)
>>> So now I'm wondering how to use my own toolset.
>>> Aside: I found it surprising that regression.py downloads the tarball
>>> into the directory where the script is, rather than into the current
>>> directory when it was invoked. At least, that's what it says it's
>>> doing ;-)
>> Yep, that's what it's doing. Why did you find it surprising? After
>> all, the first line of the installation docs says:
>> * Download regression driver regression.py from here
>> (http://tinyurl.com/4fp4g) and put it in the directory where you
>> want all the regression test files to be placed.
> It's just a slightly surprising design decision from my POV because I
> always have an image of Boost lying around. The "obvious" interface
> would have be doing cd $(TEMP) followed by python
Also, let me point out, there isn't much precedent for the location of
the script being a factor unless it's part of a larger package and
needs to find its brethren. There's nothing *wrong* with the current
behavior per-se, but well, my expectations were for something
different, and I got it wrong the first few times. Just an
-- Dave Abrahams Boost Consulting www.boost-consulting.com