]> git.lyx.org Git - features.git/commitdiff
ctests: allow excluding patterns
authorScott Kostyshak <skostysh@lyx.org>
Mon, 15 Jan 2018 21:25:44 +0000 (16:25 -0500)
committerScott Kostyshak <skostysh@lyx.org>
Mon, 15 Jan 2018 21:58:59 +0000 (16:58 -0500)
This allows us to exclude matches of certain patterns in
invertedTests, ignoredTests, unreliableTests, and suspendedTests.

To use this new functionality, prefix "!" to the pattern.

This functionality serves as a workaround in some cases to not being
able to use advanced regular expression techniques, such as
"negative lookahead", with CMake's regular expression engine.

Output of "ctest -N" is unchanged by this commit.

This functionality will be used soon (see next commits).

Patch from Kornel Benko.

(cherry picked from commit 10cd5dd223402e96c2d58a1f4b32d45abccd36ee)

development/autotests/ExportTests.cmake

index 3aa57677daf11562d7b50ab189e806c3abcddad8..3b520585e799c4b64344585d315e52b0fa48575d 100644 (file)
@@ -98,9 +98,15 @@ macro(findexpr found testname listname rsublabel)
       # remove doubles in sublabel
       list(REMOVE_DUPLICATES tmpsublabel)
     else()
-      set(_itr "^${_itrx}$")
+      if (_itrx MATCHES "^!\(.*\)$")
+        set(_itr "^${CMAKE_MATCH_1}$")
+        set(_foundval 0)
+      else()
+        set(_itr "^${_itrx}$")
+        set(_foundval 1)
+      endif()
       if (${testname} MATCHES "${_itr}")
-        set(_found 1)
+        set(_found ${_foundval})
         break()
       endif()
     endif()