From 17a848c4d06fe142075c4ab24f856f22c679c2ef Mon Sep 17 00:00:00 2001 From: Phil de Joux Date: Thu, 9 Jan 2025 06:30:01 -0500 Subject: [PATCH] Add tests using POSIX character classes --- cabal-testsuite/AssertTests/cabal.test.hs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cabal-testsuite/AssertTests/cabal.test.hs b/cabal-testsuite/AssertTests/cabal.test.hs index be666e9231e..d819c99cc34 100644 --- a/cabal-testsuite/AssertTests/cabal.test.hs +++ b/cabal-testsuite/AssertTests/cabal.test.hs @@ -17,12 +17,20 @@ main = cabalTest . recordMode RecordMarked $ do mapM_ log (lines . delimitLines $ encodeLf msg) assertOn isInfixOf multilineNeedleHaystack msg out assertOutputContains msg out + assertOutputMatches "^When.*from:$" out assertOutputMatches "no[-]{1,1}pkg-here" out + assertOutputMatches "else\\.project" out assertOutputMatches "else\\/else" out - assertOutputMatches "^The f[lo]{4,}wing errors occurred[:]*$" out - assertOutputDoesNotMatch "error occurred" out + + assertOutputMatches "^The f[lo]{4,}wing[[:space:]]errors[ ]{1,1}occurred[:]*$" out + + assertOutputMatches " errors " out + assertOutputDoesNotMatch " error " out + + assertOutputMatches "[[:space:]]+errors[[:space:]]+" out + assertOutputDoesNotMatch "[[:space:]]+error[[:space:]]+" out log "Pseudo multiline string marking:" mapM_ log (lines . delimitLines $ encodeLf msgSingle)