1 // Copyright 2009 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
14 func TestReadLine(t
*testing
.T
) {
15 // /etc/services file does not exist on windows and Plan 9.
17 case "plan9", "windows":
18 t
.Skipf("skipping test on %q", runtime
.GOOS
)
20 filename
:= "/etc/services" // a nice big file
22 fd
, err
:= os
.Open(filename
)
24 t
.Fatalf("open %s: %v", filename
, err
)
27 br
:= bufio
.NewReader(fd
)
29 file
, err
:= open(filename
)
31 t
.Fatalf("net.open(%s) = nil", filename
)
38 bline
, berr
:= br
.ReadString('\n')
39 if n
:= len(bline
); n
> 0 {
40 bline
= bline
[0 : n
-1]
42 line
, ok
:= file
.readLine()
43 if (berr
!= nil) != !ok || bline
!= line
{
44 t
.Fatalf("%s:%d (#%d)\nbufio => %q, %v\nnet => %q, %v",
45 filename
, lineno
, byteno
, bline
, berr
, line
, ok
)
51 byteno
+= len(line
) + 1