diff --git a/cabal-testsuite/PackageTests/ProjectImport/ParseErrorProvenance/cabal.out b/cabal-testsuite/PackageTests/ProjectImport/ParseErrorProvenance/cabal.out index a3143ff9ffd..90847323f09 100644 --- a/cabal-testsuite/PackageTests/ProjectImport/ParseErrorProvenance/cabal.out +++ b/cabal-testsuite/PackageTests/ProjectImport/ParseErrorProvenance/cabal.out @@ -1,5 +1,6 @@ # cabal v2-build -Warning: /else.project, else.project: Unrecognized section '_' on line 3 +Warnings found while parsing the project file, else.project: + - dir-else/else.config: Unrecognized section '_' on line 3 # Multiline string marking: # ^When using configuration from:$ # ^ - else.project$ @@ -8,3 +9,25 @@ Warning: /else.project, else.project: Unrecognized section '_' on line 3 # ^ - The package location 'no-pkg-here' does not exist.$ # Pseudo multiline string marking: # ^When using configuration from: - else.project - dir-else/else.config The following errors occurred: - The package location 'no-pkg-here' does not exist.$ +# cabal v2-build +Error: [Cabal-7090] +Error parsing project file cabal.project:3: + - Failed to parse 'if(_)' with error: + "" (line 1, column 1): unexpected SecArgName (Position 1 4) "_" +# cabal v2-build +Error: [Cabal-7090] +Error parsing project file dir-if/if.config:3: + - dir-if/if.config + imported by: if.project + Failed to parse 'if(_)' with error: + "" (line 1, column 1): unexpected SecArgName (Position 1 4) "_" +# cabal v2-build +Error: [Cabal-7090] +Error parsing project file dir-elif/elif.config:4: + - dir-elif/elif.config + imported by: elif.project + Failed to parse 'elif(_)' with error: + "" (line 1, column 1): unexpected SecArgName (Position 1 6) "_" +# cabal v2-build +Warnings found while parsing the project file, else.project: + - dir-else/else.config: Unrecognized section '_' on line 3 diff --git a/cabal-testsuite/PackageTests/ProjectImport/ParseErrorProvenance/cabal.test.hs b/cabal-testsuite/PackageTests/ProjectImport/ParseErrorProvenance/cabal.test.hs index 021f69a8bda..6dfff2dd915 100644 --- a/cabal-testsuite/PackageTests/ProjectImport/ParseErrorProvenance/cabal.test.hs +++ b/cabal-testsuite/PackageTests/ProjectImport/ParseErrorProvenance/cabal.test.hs @@ -27,16 +27,16 @@ main = cabalTest . recordMode RecordMarked $ do assertOutputDoesNotContain "imported by:" outDefault outIf <- fails $ cabal' "v2-build" [ "all", "--dry-run", "--project-file=if.project" ] - assertOutputContains "Error parsing project file dir-if/if.config:3" outIf + assertOutputContains (normalizeWindowsOutput "Error parsing project file dir-if/if.config:3") outIf assertOutputContains "imported by:" outIf outElif <- fails $ cabal' "v2-build" [ "all", "--dry-run", "--project-file=elif.project" ] - assertOutputContains "Error parsing project file dir-elif/elif.config:4" outElif + assertOutputContains (normalizeWindowsOutput "Error parsing project file dir-elif/elif.config:4") outElif assertOutputContains "imported by:" outElif outElse <- fails $ cabal' "v2-build" [ "all", "--dry-run", "--project-file=else.project" ] assertOutputContains "Warnings found while parsing the project file, else.project:" outElse - assertOutputContains "- dir-else/else.config: Unrecognized section '_' on line 3" outElse + assertOutputContains (normalizeWindowsOutput "- dir-else/else.config: Unrecognized section '_' on line 3") outElse assertOutputContains "When using configuration from:" outElse return () diff --git a/cabal-testsuite/src/Test/Cabal/Prelude.hs b/cabal-testsuite/src/Test/Cabal/Prelude.hs index daa5472c9d0..2606b9123fb 100644 --- a/cabal-testsuite/src/Test/Cabal/Prelude.hs +++ b/cabal-testsuite/src/Test/Cabal/Prelude.hs @@ -1127,6 +1127,9 @@ flakyIfCI ticket m = do flakyIfWindows :: IssueID -> TestM a -> TestM a flakyIfWindows ticket m = flakyIf isWindows ticket m +normalizeWindowsOutput :: String -> String +normalizeWindowsOutput = if isWindows then map (\x -> case x of '/' -> '\\'; _ -> x) else id + getOpenFilesLimit :: TestM (Maybe Integer) #ifdef mingw32_HOST_OS -- No MS-specified limit, was determined experimentally on Windows 10 Pro x64,