[CMake] CDash dashboard fail: Errors/Warning/Tests counts all zero?

kent williams nkwmailinglists at gmail.com
Thu Sep 16 14:16:50 EDT 2010


I'm using what is a pretty naive script that does the actual
submission with 'make Nightly' I'll include it at the end of the post.
 Using 'ctest -D Nightly'
has the same result.

The quotes on the site and build names are in the
CTestConfiguration.ini  They are not quoted in CMakeCache.txt

The big catch with our build system is that our actual project is
built as part of a 'Superbuild' based on the Slicer3 superbuild
system. So our actual application that we want to text is actually an
ExternalProject with respect to the top level build, which also builds
ITK, VTK, FFTW, etc.

So in the script, I let the monster build run to completion.  Then I
go into the build directory for our application, and run 'make
Nightly'  This, as a matter of course, doesn't end up building much,
since the project's already been built by the monster as an
ExternalProject.  The main thing was to run our regression tests.

And this isn't just one project; we have a ton of them that do their
own, standalone builds that appear to be running more or less
normally.

I'm waiting for my boss to give me full access to our CDash server so
I can look at the logs and configuration, but I just read through all
the available CDash documentation and didn't see anything that
addressed this issue.


On Thu, Sep 16, 2010 at 12:31 PM, David Cole <david.cole at kitware.com> wrote:
> Can you point us to a sample script used to submit these dashboard results?
>
> I've never seen dashboard submissions where the "what version of ctest
> submitted these results" icon did not show up.
> I've also never seen dashboard submissions where the "" appear around the
> site names and build names.
> Are you using ctest to submit these results? Or is there a home-grown xml
> file generator sending them to CDash?
>
>

#!/bin/sh
package=BRAINS3

#
# when run by cron, the path variable is only /bin:/usr/bin
export PATH="/usr/local/bin:/usr/sbin:$PATH"

ThisComputer=`hostname`

#
# the default is to use /brainsdev/kent -- which is
# appropriate on the b2dev VMs.
if [ $# = 0 ] ; then
  startdir=/brainsdev/kent/Testing
else
  startdir=$1
fi

mkdir -p ${startdir}
if [ ! -d ${startdir} ] ; then
echo ${startdir} cannot be created, exiting
exit 1
fi

cd ${startdir}

echo checking out test data in `pwd`

svn co --username kentwilliams https://www.nitrc.org/svn/brainstestdata
if [ $? != 0 ]
then
  echo brainstestdata checkout failed, continuing with old version
fi

mkdir -p ${startdir}/${ThisComputer}

cd ${startdir}/${ThisComputer}

top=`pwd`
echo WORKING IN $top

svn co --username slicerbot
https://www.nitrc.org/svn/brains/BRAINS/trunk ${package}

OsName=`uname`
which gcc > /dev/null 2>&1
if [ $? == 0 ] ; then
    Compiler=gcc-`gcc -dumpversion`-`gcc -dumpmachine`
else
    Compiler=unknown
fi

for BUILD_TYPE in Debug Fast
do
  B3Build=${top}/${BUILD_TYPE}

  mkdir -p ${B3Build}

  cd ${B3Build}

  # build clean
  echo "Deleting old builds"
  rm -fr *

  ldpaths="${B3Build}/src/lib/vtk-5.6:${B3Build}/src/lib/InsightToolkit:${B3Build}/src/lib"
  if [ `uname` = Darwin ]
  then
    if [ ${DYLD_LIBRARY_PATH} ] ; then
      set ldpaths="${ldpaths}:${DYLD_LIBRARY_PATH}"
    fi
    export DYLD_LIBRARY_PATH="${ldpaths}"
  else
    if [ ${LD_LIBRARY_PATH} ] ; then
      set ldpaths="${ldpaths}:${LD_LIBRARY_PATH}"
    fi
    export LD_LIBRARY_PATH="${ldpaths}"
  fi
  echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH

  cmake -DSITE:STRING=${ThisComputer} \
      -DBUILDNAME:STRING="${OsName}-${Compiler}-${BUILD_TYPE}" \
      -DCMAKE_BUILD_TYPE:STRING=${BUILD_TYPE} ${top}/BRAINS3/SuperBuild

  echo "Building in `pwd`"
  #
  # get rid of the thousands of 'Up-to-date' messages so you can
  # actually see what happens
  make 2>&1 | grep -v 'Up-to-date:'

  cd src/src-build

  make Nightly

done


More information about the CMake mailing list