Correct me if I am wrong, but does this mean the 'run' rule cannot be used on large source trees?

(The unit-test rule is much simpeler and most likely will work, but then I cannot pass argv to my test executable, and not surprisingly, it's sort of needed.)

But maybe it's another question (and I am no bjam expert), I notice the 'set' command growing very large on each evocation of bjam in the tree:

/src
    /a
    /b
    /c
    /d

by the time bjam reaches d ('src' has a jamfile with build-project a, b etc), the set command has grown to 'set a/bin/...;b/bin/...;c/bin/...' but d and a are not related, so why does it grow?

I thought maybe some variable is not cleared, is gobal or ... so I added the following line to the run-path-setup rule

  PATH_SETUP on $(target) = "" ;

before the original line, but it does not help.

Is there anything I can do to fix it?

Regards, Dirk

David Abrahams wrote:
dirk <dirk@watsjit.com> writes:

Hi All,

I get the following error when building my source tree with bjam v2 m11 / vc7.1:

    testing.capture-output actions too long (max 2047):

It happens on the last unittest of the whole build, which is a 'run' directive. And i dont
really understand why ...

I read the following articles:

http://comments.gmane.org/gmane.comp.lib.boost.build/8453
http://lists.boost.org/MailArchives/boost/msg20819.php
http://article.gmane.org/gmane.comp.lib.boost.build/1681

So I edited my 'testing.jam' like so:

    actions capture-output bind INPUT_FILES output-file
    {
        JAMSHELL on $(<) = % ;

That *only* works when the run command doesn't need any shell
facilities, but capture-output certainly does.