Boost logo

Boost-Build :

Subject: Re: [Boost-build] How to run inspect as part of a test-suite?
From: Beman Dawes (bdawes_at_[hidden])
Date: 2013-12-20 10:10:09


On Thu, Dec 19, 2013 at 10:54 AM, Vladimir Prus <ghost_at_[hidden]> wrote:

> On 19.12.2013 19:13, Beman Dawes wrote:
>
>> The inspect program (https://github.com/boostorg/inspect) does a nice
>> job of detecting various library boo-boos, but the traditional use
>> (run report for all libs, post on a web site somewhere) is ineffective.
>> No one looks at the report and it isn't a part of regular library
>> development and maintenance workflow.
>>
>> Since inspect runs fine on an individual library, I'd like to add running
>> it to the test-suite for libraries I maintain. How would I do this?
>>
>> If running inspect as part of my regular tests turned out to be helpful,
>> many other libraries might follow suit and eventually we might even
>> require it for all libraries. Thus while it would be useful if inspect
>> was rebuilt whenever it or its dependencies change, we would want the
>> check for change and rebuild if needed on a once per b2 invocation basis,
>> not once for each library that uses inspect.
>>
>
> Beman,
>
> the attached appear to almost work, except that inspect does not run in
> the current directory. Can you play with this one
> before we go on fixing the remaining issue?
>

Everything appears to work! See the develop branch of the super-project,
inspect, and timer. (I used the timer library rather than filesystem for
testing).

Inspect has been changed to take an optional first argument specifying the
starting directory. I've gotten the best results with

     [ run /boost/tools/inspect//inspect/<variant>release
       : .. -text -brief # command line
       : # input files
       : <dependency>/boost/filesystem//boost_filesystem
         <test-info>always_show_run_output # requirements
       : inspect # test name
     ]

The only minor issue I've run into is that the only way I know to force a
rerun is "b2 -a inspect", and that builds way more than desired. In
general, is there a way to say "rerun just the specified test case?"

Thanks,

--Beman



Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk