[Insight-developers] git and dashboard

Brad King brad.king at kitware.com
Thu Jul 29 08:31:46 EDT 2010


On 07/29/2010 06:10 AM, Gaëtan Lehmann wrote:
> * ctest doesn't seem to change the branch to nightly-master. I may  
> have misunderstood your previous mail, but I thought it would be done  
> automatically if itk_common.cmake was used.

If you use the default Nightly mode it will select nightly-master
automatically when it does the *initial* clone command.  If you just
delete your source tree the script will set it up correctly on the
next run.  After that it trusts that the local user has done what
he pleases.

> * what is the oldest possible git version? I have a host running git  
> 1.6.2.5 and it doesn't seem to support the command

I suggest 1.6.5 or higher.

> Should I use the -b option and create the local branch? Would it be  
> updated as expected then?

$ git checkout -b nightly-master origin/nightly-master

Then cat .git/config and ensure this section exists:

[branch "nightly-master"]
        remote = origin
        merge = refs/heads/nightly-master

This tells Git (and ctest) which upstream branch to track.

> * I think it would be nice to put
> 
>    set(ENV{LC_ALL} C)

That is already in there and has been since the first version.

> * valgrind options and environment don't seem to be set automatically  
> by itk_common.cmake - it would help a lot the testers to do that when  
> dashboard_do_memcheck is ON. At this time I'm using
> 
>    set(ENV{GLIBCXX_FORCE_NEW} 1)
>    set(ENV{GLIBCPP_FORCE_NEW} 1)

The common script is cross-platform.  These options are platform
specific.  They should go in the individual scripts IMO.  I've
added dashboard_hook_memcheck so you can set the environment
at the right time in your script:

macro(dashboard_hook_memcheck)
  set(ENV{GLIBCXX_FORCE_NEW} 1)
  set(ENV{GLIBCPP_FORCE_NEW} 1)
endmacro()

>    set( dashboard_cache "
>      MEMORYCHECK_COMMAND_OPTIONS:STRING=--trace-children=yes --quiet -- 
> tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100  
> --verbose --demangle=yes --suppressions=${CTEST_SOURCE_DIRECTORY}/ 
> CMake/InsightValgrind.supp
>      "

Be careful to reference CTEST_SOURCE_DIRECTORY only in your

  dashboard_hook_init

macro.  The variable is not set until after itk_common has loaded.
See

  http://www.cdash.org/CDash/viewNotes.php?buildid=678911

for example use of the hook macro.

-Brad


More information about the Insight-developers mailing list