I have a test that is failing on travis on a windows build due to the presence of CRLF in the bytes returned by ioutil.ReadFile. The file itself uses unix line endings, so the CR is inserted by something somewhere along the line.
However, this is not always the case. On AppVeyor, I do not see this; it passes using the same tests that pass on travis with linux, returning only LF new lines. Is there some reason by file reading on one windows build will behave differently to another? thanks Dan Logs showing behaviour: Test code: ``` package crlf import ( "bytes" "io/ioutil" "testing" "github.com/kortschak/utter" ) func TestReadFile(t *testing.T) { b, err := ioutil.ReadFile("crlf_test.go") if err != nil { t.Errorf("unexpected error: %v", err) } utter.Config.BytesWidth = 8 dump := utter.Sdump(b) t.Log(dump) if bytes.Contains(b, []byte("\r\n")) { t.Errorf("unexpected CRLF in unix file: %s", dump) } } ``` Failing test on Travis with windows: === RUN TestReadFile --- FAIL: TestReadFile (0.00s) crlf_test.go:18: []uint8{ 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x20, // |package | 0x63, 0x72, 0x6c, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, // |crlf....| 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x28, // |import (| 0x0d, 0x0a, 0x09, 0x22, 0x62, 0x79, 0x74, 0x65, // |..."byte| 0x73, 0x22, 0x0d, 0x0a, 0x09, 0x22, 0x69, 0x6f, // |s"..."io| 0x2f, 0x69, 0x6f, 0x75, 0x74, 0x69, 0x6c, 0x22, // |/ioutil"| 0x0d, 0x0a, 0x09, 0x22, 0x74, 0x65, 0x73, 0x74, // |..."test| 0x69, 0x6e, 0x67, 0x22, 0x0d, 0x0a, 0x0d, 0x0a, // |ing"....| 0x09, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, // |."github| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6b, 0x6f, 0x72, // |.com/kor| 0x74, 0x73, 0x63, 0x68, 0x61, 0x6b, 0x2f, 0x75, // |tschak/u| 0x74, 0x74, 0x65, 0x72, 0x22, 0x0d, 0x0a, 0x29, // |tter"..)| 0x0d, 0x0a, 0x0d, 0x0a, 0x66, 0x75, 0x6e, 0x63, // |....func| 0x20, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, // | TestRea| 0x64, 0x46, 0x69, 0x6c, 0x65, 0x28, 0x74, 0x20, // |dFile(t | 0x2a, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, // |*testing| 0x2e, 0x54, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x09, // |.T) {...| 0x62, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, // |b, err :| 0x3d, 0x20, 0x69, 0x6f, 0x75, 0x74, 0x69, 0x6c, // |= ioutil| 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, // |.ReadFil| 0x65, 0x28, 0x22, 0x63, 0x72, 0x6c, 0x66, 0x5f, // |e("crlf_| 0x74, 0x65, 0x73, 0x74, 0x2e, 0x67, 0x6f, 0x22, // |test.go"| 0x29, 0x0d, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x65, // |)...if e| 0x72, 0x72, 0x20, 0x21, 0x3d, 0x20, 0x6e, 0x69, // |rr != ni| 0x6c, 0x20, 0x7b, 0x0d, 0x0a, 0x09, 0x09, 0x74, // |l {....t| 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x66, 0x28, // |.Errorf(| 0x22, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, // |"unexpec| 0x74, 0x65, 0x64, 0x20, 0x65, 0x72, 0x72, 0x6f, // |ted erro| 0x72, 0x3a, 0x20, 0x25, 0x76, 0x22, 0x2c, 0x20, // |r: %v", | 0x65, 0x72, 0x72, 0x29, 0x0d, 0x0a, 0x09, 0x7d, // |err)...}| 0x0d, 0x0a, 0x09, 0x75, 0x74, 0x74, 0x65, 0x72, // |...utter| 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, // |.Config.| 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x69, 0x64, // |BytesWid| 0x74, 0x68, 0x20, 0x3d, 0x20, 0x38, 0x0d, 0x0a, // |th = 8..| 0x09, 0x64, 0x75, 0x6d, 0x70, 0x20, 0x3a, 0x3d, // |.dump :=| 0x20, 0x75, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x53, // | utter.S| 0x64, 0x75, 0x6d, 0x70, 0x28, 0x62, 0x29, 0x0d, // |dump(b).| 0x0a, 0x09, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x28, // |..t.Log(| 0x64, 0x75, 0x6d, 0x70, 0x29, 0x0d, 0x0a, 0x09, // |dump)...| 0x69, 0x66, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, // |if bytes| 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, // |.Contain| 0x73, 0x28, 0x62, 0x2c, 0x20, 0x5b, 0x5d, 0x62, // |s(b, []b| 0x79, 0x74, 0x65, 0x28, 0x22, 0x5c, 0x72, 0x5c, // |yte("\r\| 0x6e, 0x22, 0x29, 0x29, 0x20, 0x7b, 0x0d, 0x0a, // |n")) {..| 0x09, 0x09, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, // |..t.Erro| 0x72, 0x66, 0x28, 0x22, 0x75, 0x6e, 0x65, 0x78, // |rf("unex| 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x43, // |pected C| 0x52, 0x4c, 0x46, 0x20, 0x69, 0x6e, 0x20, 0x75, // |RLF in u| 0x6e, 0x69, 0x78, 0x20, 0x66, 0x69, 0x6c, 0x65, // |nix file| 0x3a, 0x20, 0x25, 0x73, 0x22, 0x2c, 0x20, 0x64, // |: %s", d| 0x75, 0x6d, 0x70, 0x29, 0x0d, 0x0a, 0x09, 0x7d, // |ump)...}| 0x0d, 0x0a, 0x7d, 0x0d, 0x0a, /* */ // |..}..| } crlf_test.go:20: unexpected CRLF in unix file: []uint8{ 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x20, // |package | 0x63, 0x72, 0x6c, 0x66, 0x0d, 0x0a, 0x0d, 0x0a, // |crlf....| 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x28, // |import (| 0x0d, 0x0a, 0x09, 0x22, 0x62, 0x79, 0x74, 0x65, // |..."byte| 0x73, 0x22, 0x0d, 0x0a, 0x09, 0x22, 0x69, 0x6f, // |s"..."io| 0x2f, 0x69, 0x6f, 0x75, 0x74, 0x69, 0x6c, 0x22, // |/ioutil"| 0x0d, 0x0a, 0x09, 0x22, 0x74, 0x65, 0x73, 0x74, // |..."test| 0x69, 0x6e, 0x67, 0x22, 0x0d, 0x0a, 0x0d, 0x0a, // |ing"....| 0x09, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, // |."github| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6b, 0x6f, 0x72, // |.com/kor| 0x74, 0x73, 0x63, 0x68, 0x61, 0x6b, 0x2f, 0x75, // |tschak/u| 0x74, 0x74, 0x65, 0x72, 0x22, 0x0d, 0x0a, 0x29, // |tter"..)| 0x0d, 0x0a, 0x0d, 0x0a, 0x66, 0x75, 0x6e, 0x63, // |....func| 0x20, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, // | TestRea| 0x64, 0x46, 0x69, 0x6c, 0x65, 0x28, 0x74, 0x20, // |dFile(t | 0x2a, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, // |*testing| 0x2e, 0x54, 0x29, 0x20, 0x7b, 0x0d, 0x0a, 0x09, // |.T) {...| 0x62, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x20, 0x3a, // |b, err :| 0x3d, 0x20, 0x69, 0x6f, 0x75, 0x74, 0x69, 0x6c, // |= ioutil| 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, // |.ReadFil| 0x65, 0x28, 0x22, 0x63, 0x72, 0x6c, 0x66, 0x5f, // |e("crlf_| 0x74, 0x65, 0x73, 0x74, 0x2e, 0x67, 0x6f, 0x22, // |test.go"| 0x29, 0x0d, 0x0a, 0x09, 0x69, 0x66, 0x20, 0x65, // |)...if e| 0x72, 0x72, 0x20, 0x21, 0x3d, 0x20, 0x6e, 0x69, // |rr != ni| 0x6c, 0x20, 0x7b, 0x0d, 0x0a, 0x09, 0x09, 0x74, // |l {....t| 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x66, 0x28, // |.Errorf(| 0x22, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, // |"unexpec| 0x74, 0x65, 0x64, 0x20, 0x65, 0x72, 0x72, 0x6f, // |ted erro| 0x72, 0x3a, 0x20, 0x25, 0x76, 0x22, 0x2c, 0x20, // |r: %v", | 0x65, 0x72, 0x72, 0x29, 0x0d, 0x0a, 0x09, 0x7d, // |err)...}| 0x0d, 0x0a, 0x09, 0x75, 0x74, 0x74, 0x65, 0x72, // |...utter| 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, // |.Config.| 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x69, 0x64, // |BytesWid| 0x74, 0x68, 0x20, 0x3d, 0x20, 0x38, 0x0d, 0x0a, // |th = 8..| 0x09, 0x64, 0x75, 0x6d, 0x70, 0x20, 0x3a, 0x3d, // |.dump :=| 0x20, 0x75, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x53, // | utter.S| 0x64, 0x75, 0x6d, 0x70, 0x28, 0x62, 0x29, 0x0d, // |dump(b).| 0x0a, 0x09, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x28, // |..t.Log(| 0x64, 0x75, 0x6d, 0x70, 0x29, 0x0d, 0x0a, 0x09, // |dump)...| 0x69, 0x66, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, // |if bytes| 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, // |.Contain| 0x73, 0x28, 0x62, 0x2c, 0x20, 0x5b, 0x5d, 0x62, // |s(b, []b| 0x79, 0x74, 0x65, 0x28, 0x22, 0x5c, 0x72, 0x5c, // |yte("\r\| 0x6e, 0x22, 0x29, 0x29, 0x20, 0x7b, 0x0d, 0x0a, // |n")) {..| 0x09, 0x09, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, // |..t.Erro| 0x72, 0x66, 0x28, 0x22, 0x75, 0x6e, 0x65, 0x78, // |rf("unex| 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x43, // |pected C| 0x52, 0x4c, 0x46, 0x20, 0x69, 0x6e, 0x20, 0x75, // |RLF in u| 0x6e, 0x69, 0x78, 0x20, 0x66, 0x69, 0x6c, 0x65, // |nix file| 0x3a, 0x20, 0x25, 0x73, 0x22, 0x2c, 0x20, 0x64, // |: %s", d| 0x75, 0x6d, 0x70, 0x29, 0x0d, 0x0a, 0x09, 0x7d, // |ump)...}| 0x0d, 0x0a, 0x7d, 0x0d, 0x0a, /* */ // |..}..| } FAIL FAIL gonum.org/v1/gonum/crlf 0.587s Passing test on AppVeyor: === RUN TestReadFile --- PASS: TestReadFile (0.00s) crlf_test.go:18: []uint8{ 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x20, // |package | 0x63, 0x72, 0x6c, 0x66, 0x0a, 0x0a, 0x69, 0x6d, // |crlf..im| 0x70, 0x6f, 0x72, 0x74, 0x20, 0x28, 0x0a, 0x09, // |port (..| 0x22, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x0a, // |"bytes".| 0x09, 0x22, 0x69, 0x6f, 0x2f, 0x69, 0x6f, 0x75, // |."io/iou| 0x74, 0x69, 0x6c, 0x22, 0x0a, 0x09, 0x22, 0x74, // |til".."t| 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x0a, // |esting".| 0x0a, 0x09, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, // |.."githu| 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6b, 0x6f, // |b.com/ko| 0x72, 0x74, 0x73, 0x63, 0x68, 0x61, 0x6b, 0x2f, // |rtschak/| 0x75, 0x74, 0x74, 0x65, 0x72, 0x22, 0x0a, 0x29, // |utter".)| 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x20, 0x54, // |..func T| 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x46, // |estReadF| 0x69, 0x6c, 0x65, 0x28, 0x74, 0x20, 0x2a, 0x74, // |ile(t *t| 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x54, // |esting.T| 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x62, 0x2c, 0x20, // |) {..b, | 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x69, // |err := i| 0x6f, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x52, 0x65, // |outil.Re| 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x28, 0x22, // |adFile("| 0x63, 0x72, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, // |crlf_tes| 0x74, 0x2e, 0x67, 0x6f, 0x22, 0x29, 0x0a, 0x09, // |t.go")..| 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20, 0x21, // |if err !| 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x7b, 0x0a, // |= nil {.| 0x09, 0x09, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, // |..t.Erro| 0x72, 0x66, 0x28, 0x22, 0x75, 0x6e, 0x65, 0x78, // |rf("unex| 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x65, // |pected e| 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x25, 0x76, // |rror: %v| 0x22, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x29, 0x0a, // |", err).| 0x09, 0x7d, 0x0a, 0x09, 0x75, 0x74, 0x74, 0x65, // |.}..utte| 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, // |r.Config| 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x69, // |.BytesWi| 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x38, 0x0a, // |dth = 8.| 0x09, 0x64, 0x75, 0x6d, 0x70, 0x20, 0x3a, 0x3d, // |.dump :=| 0x20, 0x75, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x53, // | utter.S| 0x64, 0x75, 0x6d, 0x70, 0x28, 0x62, 0x29, 0x0a, // |dump(b).| 0x09, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x28, 0x64, // |.t.Log(d| 0x75, 0x6d, 0x70, 0x29, 0x0a, 0x09, 0x69, 0x66, // |ump)..if| 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x43, // | bytes.C| 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x28, // |ontains(| 0x62, 0x2c, 0x20, 0x5b, 0x5d, 0x62, 0x79, 0x74, // |b, []byt| 0x65, 0x28, 0x22, 0x5c, 0x72, 0x5c, 0x6e, 0x22, // |e("\r\n"| 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x74, // |)) {...t| 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x66, 0x28, // |.Errorf(| 0x22, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, // |"unexpec| 0x74, 0x65, 0x64, 0x20, 0x43, 0x52, 0x4c, 0x46, // |ted CRLF| 0x20, 0x69, 0x6e, 0x20, 0x75, 0x6e, 0x69, 0x78, // | in unix| 0x20, 0x66, 0x69, 0x6c, 0x65, 0x3a, 0x20, 0x25, // | file: %| 0x73, 0x22, 0x2c, 0x20, 0x64, 0x75, 0x6d, 0x70, // |s", dump| 0x29, 0x0a, 0x09, 0x7d, 0x0a, 0x7d, 0x0a, /* */ // |)..}.}.| } PASS ok gonum.org/v1/gonum/crlf 0.044s Passing test on Travis on Linux: === RUN TestReadFile --- PASS: TestReadFile (0.00s) crlf_test.go:18: []uint8{ 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x20, // |package | 0x63, 0x72, 0x6c, 0x66, 0x0a, 0x0a, 0x69, 0x6d, // |crlf..im| 0x70, 0x6f, 0x72, 0x74, 0x20, 0x28, 0x0a, 0x09, // |port (..| 0x22, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x0a, // |"bytes".| 0x09, 0x22, 0x69, 0x6f, 0x2f, 0x69, 0x6f, 0x75, // |."io/iou| 0x74, 0x69, 0x6c, 0x22, 0x0a, 0x09, 0x22, 0x74, // |til".."t| 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x0a, // |esting".| 0x0a, 0x09, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, // |.."githu| 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6b, 0x6f, // |b.com/ko| 0x72, 0x74, 0x73, 0x63, 0x68, 0x61, 0x6b, 0x2f, // |rtschak/| 0x75, 0x74, 0x74, 0x65, 0x72, 0x22, 0x0a, 0x29, // |utter".)| 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x20, 0x54, // |..func T| 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x46, // |estReadF| 0x69, 0x6c, 0x65, 0x28, 0x74, 0x20, 0x2a, 0x74, // |ile(t *t| 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x54, // |esting.T| 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x62, 0x2c, 0x20, // |) {..b, | 0x65, 0x72, 0x72, 0x20, 0x3a, 0x3d, 0x20, 0x69, // |err := i| 0x6f, 0x75, 0x74, 0x69, 0x6c, 0x2e, 0x52, 0x65, // |outil.Re| 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x28, 0x22, // |adFile("| 0x63, 0x72, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, // |crlf_tes| 0x74, 0x2e, 0x67, 0x6f, 0x22, 0x29, 0x0a, 0x09, // |t.go")..| 0x69, 0x66, 0x20, 0x65, 0x72, 0x72, 0x20, 0x21, // |if err !| 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x7b, 0x0a, // |= nil {.| 0x09, 0x09, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, // |..t.Erro| 0x72, 0x66, 0x28, 0x22, 0x75, 0x6e, 0x65, 0x78, // |rf("unex| 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x65, // |pected e| 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x25, 0x76, // |rror: %v| 0x22, 0x2c, 0x20, 0x65, 0x72, 0x72, 0x29, 0x0a, // |", err).| 0x09, 0x7d, 0x0a, 0x09, 0x75, 0x74, 0x74, 0x65, // |.}..utte| 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, // |r.Config| 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, 0x69, // |.BytesWi| 0x64, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x38, 0x0a, // |dth = 8.| 0x09, 0x64, 0x75, 0x6d, 0x70, 0x20, 0x3a, 0x3d, // |.dump :=| 0x20, 0x75, 0x74, 0x74, 0x65, 0x72, 0x2e, 0x53, // | utter.S| 0x64, 0x75, 0x6d, 0x70, 0x28, 0x62, 0x29, 0x0a, // |dump(b).| 0x09, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x28, 0x64, // |.t.Log(d| 0x75, 0x6d, 0x70, 0x29, 0x0a, 0x09, 0x69, 0x66, // |ump)..if| 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x43, // | bytes.C| 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x28, // |ontains(| 0x62, 0x2c, 0x20, 0x5b, 0x5d, 0x62, 0x79, 0x74, // |b, []byt| 0x65, 0x28, 0x22, 0x5c, 0x72, 0x5c, 0x6e, 0x22, // |e("\r\n"| 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x09, 0x09, 0x74, // |)) {...t| 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x66, 0x28, // |.Errorf(| 0x22, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, // |"unexpec| 0x74, 0x65, 0x64, 0x20, 0x43, 0x52, 0x4c, 0x46, // |ted CRLF| 0x20, 0x69, 0x6e, 0x20, 0x75, 0x6e, 0x69, 0x78, // | in unix| 0x20, 0x66, 0x69, 0x6c, 0x65, 0x3a, 0x20, 0x25, // | file: %| 0x73, 0x22, 0x2c, 0x20, 0x64, 0x75, 0x6d, 0x70, // |s", dump| 0x29, 0x0a, 0x09, 0x7d, 0x0a, 0x7d, 0x0a, /* */ // |)..}.}.| } PASS ok gonum.org/v1/gonum/crlf 0.036s -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.