Boost logo

Boost Testing :

Subject: Re: [Boost-testing] [EXTERNAL] Windows build failures
From: Belcourt, Kenneth (kbelco_at_[hidden])
Date: 2014-01-27 14:14:22

On Jan 26, 2014, at 11:43 PM, Tom Kent wrote:

> On Sun, Jan 26, 2014 at 10:44 PM, Belcourt, Kenneth <kbelco_at_[hidden]> wrote:
>> Make sure to remove the boost_root directory before you rerun tests. There's a bug with where it doesn't update the boost_root directory if the --tag has changed. For example, if you run regression tests with --tag=master, then run tests again in the same directory but with --tag=develop, the boost_root directory is unchanged (still points to master). Your error could result from that.
> Will running 'git checkout develop' in boost_root before calling
> fix this? (I'm trying to minimize fresh downloads of the repo.)

No, that won't work, you'll get an git error if you try that (here's the error if you ran with --tag=master):

s937372:boost_root kbelco$ git checkout develop
error: pathspec 'develop' did not match any file(s) known to git.

I've got a pull request with the patch in but getting it into the code base is taking quite a while. Hoping that either I'm doing this wrong or that the process begins to speed up a bit once we get over the startup hurdles.

If you ran with --tag=master, your boost_root should show this:

s937372:boost_root kbelco$ git branch -a
* master

to rerun with --tag=develop, you need to apply this patch to and then add option --skip-script-download to

s937372:tools_regression_src kbelco$ diff -u ../../boost/tools/regression/src/
--- 2014-01-27 12:04:06.000000000 -0700
+++ ../../boost/tools/regression/src/ 2014-01-26 23:13:22.000000000 -0700
@@ -904,8 +904,11 @@
             if os.path.exists( os.path.join(git_root, ".git") ):
                 os.chdir( git_root )
+ self.git_command( 'remote', 'set-branches', '--add', 'origin',
+ branch)
                 self.git_command( 'pull', '--recurse-submodules' )
                 self.git_command( 'submodule', 'update')
+ self.git_command( 'checkout', branch)
                 if clean:
                     self.git_command( 'reset', '--hard' )
                     self.git_command( 'clean', '-fxd')

Here's the additional option to suppress overwriting the modified

python --tag=develop --skip-script-download

You can check that this works by looking at boost_root/.gitmodules file. If --tag=master was run, there's no sync module listed in boost_root/.gitmodules. If --tag=develop was run, then there's a sync module in listed in boost_root/.gitmodules. That's an easy way to check that is using the branch corresponding to the --tag option (git branch -a is another way, along with git remote -v).


-- Noel

Boost-testing list run by mbergal at