Skip to content

Commit

Permalink
testing: replace CRLF by LF on windows before comparing to the expect…
Browse files Browse the repository at this point in the history
…ed output

Fixes #51269

Change-Id: I06747db18ca078c1f1bda9b7bc60006f53191f4d
Reviewed-on: https://go-review.googlesource.com/c/go/+/627035
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
  • Loading branch information
iwdgo authored and gopherbot committed Nov 13, 2024
1 parent d311cc9 commit f1add18
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
39 changes: 39 additions & 0 deletions src/cmd/go/testdata/script/test_crlf_example.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Tests that crlf in the output of examples are handled.
# Verifies golang.org/issue/51269
go test x_test.go

-- x_test.go --
package x

import (
"io"
"fmt"
"os"
"runtime"
)

func Example_lf() {
fmt.Print("foo", "\n", "bar")
// Output:
// foo
// bar
}

func Example_println() {
fmt.Println("foo")
fmt.Println("bar")
// Output:
// foo
// bar
}

func Example_crlf() {
if runtime.GOOS == "windows" {
io.WriteString(os.Stdout, "foo\r\nbar\r\n")
} else {
io.WriteString(os.Stdout, "foo\nbar\n")
}
// Output:
// foo
// bar
}
5 changes: 5 additions & 0 deletions src/testing/example.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package testing

import (
"fmt"
"runtime"
"slices"
"strings"
"time"
Expand Down Expand Up @@ -66,6 +67,10 @@ func (eg *InternalExample) processRunResult(stdout string, timeSpent time.Durati
var fail string
got := strings.TrimSpace(stdout)
want := strings.TrimSpace(eg.Output)
if runtime.GOOS == "windows" {
got = strings.ReplaceAll(got, "\r\n", "\n")
want = strings.ReplaceAll(want, "\r\n", "\n")
}
if eg.Unordered {
if sortLines(got) != sortLines(want) && recovered == nil {
fail = fmt.Sprintf("got:\n%s\nwant (unordered):\n%s\n", stdout, eg.Output)
Expand Down

0 comments on commit f1add18

Please sign in to comment.