Skip to content

Track stderr color in UI tests #88254

Open

Description

@scrabsha

Disclaimer: the whole idea comes from @estebank on twitter (link). I'm just summarizing it here.

Now that we can emit super-fancy colored suggestions (PR #86532), it would be a good idea to track the color of the messages we emit for some special cases in the ui tests.

A good way to track the color of each character would be to generate an HTML file per test. This would be both human-friendly (reviewers can open the resulting HTML file on their browser) and testing framework-friendly (as every character color is tracked, we can spot regressions).

As suggested in the original tweet, explicit coloring can be triggered with a // generate-html header command. We can also add a -Z flag so that users can use it outside of rustc tests.

As a new rust-lang/rust contributor, I'd love to work on that, but I need some ideas of how to track colors from experienced rustc developers first.

Edits:

  • 2021-08-25: after some discussions with @ estabank on twitter, it seems that we don't want to track the colors of every ui test, but rather the ones for some special cases.

Activity

  1. scrabsha commented on Aug 25, 2021

    @scrabsha
    ContributorAuthor

    After some research in the codebase, i think this could be implemented by adding a new variant to Destination and WritableDst to represent the fact that we're writing html code. This variant would contain a type responsible for figuring out what to write when asked to set a new color.

  2. added
    A-testsuiteArea: The testsuite used to check the correctness of rustc
    C-enhancementCategory: An issue proposing an enhancement or a PR with one.
    on Feb 12, 2023
  3. estebank commented on Mar 18, 2024

    @estebank
    Contributor

    With #121877 we can now better do this, but there seems to be some level of platform dependence on the output: #122029 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-testsuiteArea: The testsuite used to check the correctness of rustcC-enhancementCategory: An issue proposing an enhancement or a PR with one.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions