Skip to content

testing: tolerate \r\n as a newline separator in test output #54886

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

testing: tolerate \r\n as a newline separator in test output #54886

wants to merge 1 commit into from

Conversation

nd
Copy link
Contributor

@nd nd commented Sep 6, 2022

This allows to debug tests and parse their status with test2json on
mac.

On mac debugserver sets up a pseudo terminal for test executable under
debug. The terminal has the ONLCR option enabled which turns '\n' in
go test output into '\r\n'. Test2json doesn't expect '\r\n' as a new
line and reports no test status.

This commit changes test2json so that it handles 'PASS\r\n' and
'FAIL\r\n' in the same way as 'PASS\n' and 'FAIL\n'.

Fixes #34286

This PR will be imported into Gerrit with the title and first
comment (this text) used to generate the subject and body of
the Gerrit change.

Please ensure you adhere to every item in this list.

More info can be found at https://github.com/golang/go/wiki/CommitMessage

  • The PR title is formatted as follows: net/http: frob the quux before blarfing
    • The package name goes before the colon
    • The part after the colon uses the verb tense + phrase that completes the blank in,
      "This change modifies Go to ___________"
    • Lowercase verb after the colon
    • No trailing period
    • Keep the title as short as possible. ideally under 76 characters or shorter
  • No Markdown
  • The first PR comment (this one) is wrapped at 76 characters, unless it's
    really needed (ASCII art, table, or long link)
  • If there is a corresponding issue, add either Fixes #1234 or Updates #1234
    (the latter if this is not a complete fix) to this comment
  • If referring to a repo other than golang/go you can use the
    owner/repo#issue_number syntax: Fixes golang/tools#1234
  • We do not use Signed-off-by lines in Go. Please don't add them.
    Our Gerrit server & GitHub bots enforce CLA compliance instead.
  • Delete these instructions once you have read and applied them

This allows to debug tests and parse their status with test2json on
mac.

On mac debugserver sets up a pseudo terminal for test executable under
debug. The terminal has the ONLCR option enabled which turns '\n' in
go test output into '\r\n'. Test2json doesn't expect '\r\n' as a new
line and reports no test status.

This commit changes test2json so that it handles 'PASS\r\n' and
'FAIL\r\n' in the same way as 'PASS\n' and 'FAIL\n'.

Fixes #34286
@google-cla
Copy link

google-cla bot commented Sep 6, 2022

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@nd nd closed this Sep 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

testing: using "go tool test2json dlv test-binary" marks the last test as failed on Mac OS
1 participant