Skip to content

Mark output in LogProgress#11753

Merged
mergify[bot] merged 1 commit intohaskell:masterfrom
sheaf:mark-logProgress
Apr 22, 2026
Merged

Mark output in LogProgress#11753
mergify[bot] merged 1 commit intohaskell:masterfrom
sheaf:mark-logProgress

Conversation

@sheaf
Copy link
Copy Markdown
Collaborator

@sheaf sheaf commented Apr 16, 2026

Cabal's Distribution.Utils.LogProgress module failed to take into account whether we were marking output or not, and simply never included output markers. This PR rectifies that.

We also make sure that warnings go to stderr not stdout, to be consistent with Distribution.Simple.Utils.warnMessage.

In summary, the impact is that:

  • warning messages now consistently go to stderr
  • when running the testsuite, we are more consistent in tagging messages emitted by Cabal, with the BEGIN CABAL OUTPUT/END CABAL OUTPUT markers.

TODO:

  • Updated expected testsuite output to account for this change.

Template B: This PR does not modify behaviour or interface. It only modifies output marking, which is an internal mechanism for the testsuite.

@sheaf sheaf force-pushed the mark-logProgress branch 2 times, most recently from 1af3dfb to d54a5eb Compare April 16, 2026 20:07
@sheaf sheaf marked this pull request as ready for review April 17, 2026 17:23
@sheaf
Copy link
Copy Markdown
Collaborator Author

sheaf commented Apr 17, 2026

CI is passing, just a spurious network blip in one of the jobs.

@sheaf
Copy link
Copy Markdown
Collaborator Author

sheaf commented Apr 20, 2026

Anyone else willing to review? Very straightforward change. It's mainly motivated by #11703 because, in that patch, we more often go via the LogProgress route which meant that output that used to be marked stop being marked, breaking quite a few tests.

Cabal's Distribution.Utils.LogProgress module failed to take into
account whether we are marking output or not, and simply never included
output markers.

We also make sure that warnings go to stderr not stdout, to be
consistent with `Distribution.Simple.Utils.warnMessage`.

In summary, the impact is that:

  - warning messages now consistently go to stderr
  - when running the testsuite, we are more consistent in tagging
    messages emitted by Cabal, with the 'BEGIN CABAL OUTPUT'/'END CABAL OUTPUT'
    markers.
@philderbeast
Copy link
Copy Markdown
Collaborator

TODO:

  • Updated expected testsuite output to account for this change.

I see no changes in testsuite outputs. Is that expected?

@sheaf
Copy link
Copy Markdown
Collaborator Author

sheaf commented Apr 20, 2026

TODO:

  • Updated expected testsuite output to account for this change.

I see no changes in testsuite outputs. Is that expected?

Yes, it turned out there weren't any tests that needed updating as none of the test that use marked output were going via the LogProgress codepath. That was not the case for the "info messages" (mostly Backpack debugging messages), which is why I kept them non-marked (otherwise a huge amount of tests needed to adapt to new output because of gobs of Backpack noisy output).

@sheaf sheaf added merge me Tell Mergify Bot to merge and removed attention: needs-review labels Apr 20, 2026
@mergify mergify Bot added ready and waiting Mergify is waiting out the cooldown period merge delay passed Applied (usually by Mergify) when PR approved and received no updates for 2 days queued labels Apr 20, 2026
@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented Apr 22, 2026

Merge Queue Status

  • Entered queue2026-04-22 11:52 UTC · Rule: default
  • Checks skipped · PR is already up-to-date
  • Merged2026-04-22 12:02 UTC · at 0ec6cbc54e8062cd9ba0abe3893dcb003aaae2a8 · merge

This pull request spent 10 minutes 8 seconds in the queue, including 2 seconds running CI.

Required conditions to merge
  • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
  • any of [🛡 GitHub branch protection]:
    • check-success = Doctest Cabal
    • check-neutral = Doctest Cabal
    • check-skipped = Doctest Cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = Meta checks
    • check-neutral = Meta checks
    • check-skipped = Meta checks
  • any of [🛡 GitHub branch protection]:
    • check-success = docs/readthedocs.org:cabal
    • check-neutral = docs/readthedocs.org:cabal
    • check-skipped = docs/readthedocs.org:cabal
  • any of [🛡 GitHub branch protection]:
    • check-success = Validate post job
    • check-neutral = Validate post job
    • check-skipped = Validate post job
  • any of [🛡 GitHub branch protection]:
    • check-success = fourmolu
    • check-neutral = fourmolu
    • check-skipped = fourmolu
  • any of [🛡 GitHub branch protection]:
    • check-success = hlint
    • check-neutral = hlint
    • check-skipped = hlint
  • any of [🛡 GitHub branch protection]:
    • check-success = Bootstrap post job
    • check-neutral = Bootstrap post job
    • check-skipped = Bootstrap post job
  • any of [🛡 GitHub branch protection]:
    • check-success = whitespace
    • check-neutral = whitespace
    • check-skipped = whitespace
  • any of [🛡 GitHub branch protection]:
    • check-success = Check sdist post job
    • check-neutral = Check sdist post job
    • check-skipped = Check sdist post job
  • any of [🛡 GitHub branch protection]:
    • check-success = Changelogs
    • check-neutral = Changelogs
    • check-skipped = Changelogs

@mergify mergify Bot merged commit f444d1b into haskell:master Apr 22, 2026
200 of 206 checks passed
@mergify mergify Bot removed the queued label Apr 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge delay passed Applied (usually by Mergify) when PR approved and received no updates for 2 days merge me Tell Mergify Bot to merge ready and waiting Mergify is waiting out the cooldown period

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants