diff --git a/go.mod b/go.mod index 1c11744e..590ec4fc 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,7 @@ module github.com/rogpeppe/go-internal go 1.11 -require gopkg.in/errgo.v2 v2.1.0 +require ( + github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e + gopkg.in/errgo.v2 v2.1.0 +) diff --git a/go.sum b/go.sum index ce65fe1d..c9754fd4 100644 --- a/go.sum +++ b/go.sum @@ -3,6 +3,8 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= diff --git a/testscript/cmd.go b/testscript/cmd.go index 598ffe30..dfb2ca19 100644 --- a/testscript/cmd.go +++ b/testscript/cmd.go @@ -16,7 +16,7 @@ import ( "strconv" "strings" - "github.com/rogpeppe/go-internal/internal/textutil" + "github.com/pkg/diff" "github.com/rogpeppe/go-internal/txtar" ) @@ -141,7 +141,12 @@ func (ts *TestScript) doCmdCmp(args []string, env bool) { // update the script. } - ts.Logf("[diff -%s +%s]\n%s\n", name1, name2, textutil.Diff(text1, text2)) + var sb strings.Builder + if err := diff.Text(name1, name2, text1, text2, &sb); err != nil { + ts.Check(err) + } + + ts.Logf("%s", sb.String()) ts.Fatalf("%s and %s differ", name1, name2) } diff --git a/testscript/testdata/long_diff.txt b/testscript/testdata/long_diff.txt index 431ab8eb..f803db0a 100644 --- a/testscript/testdata/long_diff.txt +++ b/testscript/testdata/long_diff.txt @@ -112,56 +112,17 @@ cmpenv stdout stdout.golden -- stdout.golden -- > cmp a b -[diff -a +b] --a +--- a ++++ b +@@ -1,3 +1,4 @@ +b a a a +@@ -46,4 +47,3 @@ a a a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a - a +-a FAIL: $$WORK${/}dir${/}script.txt:1: a and b differ