Boost logo

Boost Testing :

From: Tobias Schwinger (tschwinger_at_[hidden])
Date: 2006-02-23 06:45:06

Martin Wille wrote:
> Tobias Schwinger wrote:
> It would be cool if the build system would be able to automatically
> remove results for tests that don't exist anymore.

OK, here you go:

  # Copyright (C) 2006 T. Schwinger - Boost Software License

  # boost_root must be set here
  echo removing outdated tests:
  bin_dir=$boost_root"/bin/boost" # remove /boost for v2
  for lib_test_dir in `find $boost_root/libs -type d -name test` ; do
    lib_dir=`dirname $lib_test_dir`
    lib=`basename $lib_dir`

    echo - checking library $lib

    if test -r $jamfile ; then
      if test -r $jamfile_ts ; then
        if test "`find $jamfile -type f -newer $jamfile_ts`" = "$jamfile" ; then

          echo +- Jamfile has changed, removing test target files
          rm -rf $bin_dir/libs/$lib/test

          touch -r $jamfile $jamfile_ts
        touch -r $jamfile $jamfile_ts

Test and integrate at will -- putting 'echo' before the 'rm -rf' sets dry run mode.

Even the integration of this snippet should work incrementally so the second run is the first that can detect changes.

No overhead is involved (except for the few seconds the script takes to run).

> However, I doubt this would be easy to implement, if possible at all.

(-; this one works quite well for motivating people, I figure ;-)



Boost-testing list run by mbergal at