On Thu, Dec 19, 2013 at 10:54 AM, Vladimir Prus <ghost@cs.msu.su> 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