2017-03-24 21:17 GMT+01:00 David Cole <dlrd...@aol.com>: > Here's a bash script wrapper you could use with existing ctest. Save > it out to a file named ctest-two-labels.sh and then call it with bash > on Mac or Linux: > > > label1=$1 > label2=$2 > > if [ -z "$label1" ]; then > echo "script takes two label arguments as input, missing arg 1" > exit 1 > fi > > if [ -z "$label2" ]; then > echo "script takes two label arguments as input, missing arg 2" > exit 2 > fi > > tmpfile=./ctest-two-labels-sh-tmp.txt > testlistFile=./ctest-two-labels-sh-testlist.txt > testnumsFile=./ctest-two-labels-sh-testnums.txt > > ctest -L "^($label1)$" -N > "$tmpfile" > ctest -L "^($label2)$" -N >> "$tmpfile" > > cat "$tmpfile" | grep " Test #" | sort | uniq -d > "$testlistFile" >
Strange enough I got the very same idea to dump and "uniqify" the list I want. > > cat "$testlistFile" | awk -F "#" '{ print $2; }' | awk -F ":" '{ print > $1; }' > "$testnumsFile" > > testnums=$(cat "$testnumsFile" | paste -s -d, -) > > #echo Tests with both labels $label1 and $label2: > #cat "$testlistFile" > # > #echo Just the test numbers: > #cat "$testnumsFile" > # > #echo The test numbers, assembled into a ctest -I string to run just > those numbered tests: > #echo $testnums > > echo Running command line: > echo "" > echo " ctest -I \"0,0,0,$testnums\" -N" > echo "" > echo Run it without the -N to actually execute the tests... > echo "" > > ctest -I "0,0,0,$testnums" -N > > It's a "back of the envelope / proof of concept" script. Polish it up > and make it nice if the approach seems reasonable to you. > The approach is reasonable. I was simply afraid that dump + filtering of tests and/or labels wouldn't be efficient with 600++ tests. That said it's working. Thank you very much for the proof of concept. I guess that may be dumping whole tests names (with ctest -N ) and labels (with --print-labels) would make it simple for me to craft a script to easily select tests subset with a ctest wrapper. It would even be simpler if ctest could dump all tests with associated labels. I'll think about it. -- Eric
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake