Change reading order of tailfile
change reading order from beginning at the end to beginning at a buffer start added intergration tests for boundary cases Removed whitespace Signed-off-by: Shayne Wang <shaynexwang@gmail.com>
This commit is contained in:
parent
89c4410799
commit
19c16fd95e
|
@ -117,22 +117,28 @@ func (s *DockerSuite) TestLogsTail(c *check.C) {
|
||||||
id := strings.TrimSpace(out)
|
id := strings.TrimSpace(out)
|
||||||
dockerCmd(c, "wait", id)
|
dockerCmd(c, "wait", id)
|
||||||
|
|
||||||
out, _ = dockerCmd(c, "logs", "--tail", "5", id)
|
out, _ = dockerCmd(c, "logs", "--tail", "0", id)
|
||||||
|
|
||||||
lines := strings.Split(out, "\n")
|
lines := strings.Split(out, "\n")
|
||||||
|
c.Assert(lines, checker.HasLen, 1)
|
||||||
|
|
||||||
|
out, _ = dockerCmd(c, "logs", "--tail", "5", id)
|
||||||
|
lines = strings.Split(out, "\n")
|
||||||
c.Assert(lines, checker.HasLen, 6)
|
c.Assert(lines, checker.HasLen, 6)
|
||||||
|
|
||||||
out, _ = dockerCmd(c, "logs", "--tail", "all", id)
|
out, _ = dockerCmd(c, "logs", "--tail", "99", id)
|
||||||
|
|
||||||
lines = strings.Split(out, "\n")
|
lines = strings.Split(out, "\n")
|
||||||
|
c.Assert(lines, checker.HasLen, 100)
|
||||||
|
|
||||||
|
out, _ = dockerCmd(c, "logs", "--tail", "all", id)
|
||||||
|
lines = strings.Split(out, "\n")
|
||||||
|
c.Assert(lines, checker.HasLen, testLen+1)
|
||||||
|
|
||||||
|
out, _ = dockerCmd(c, "logs", "--tail", "-1", id)
|
||||||
|
lines = strings.Split(out, "\n")
|
||||||
c.Assert(lines, checker.HasLen, testLen+1)
|
c.Assert(lines, checker.HasLen, testLen+1)
|
||||||
|
|
||||||
out, _, _ = dockerCmdWithStdoutStderr(c, "logs", "--tail", "random", id)
|
out, _, _ = dockerCmdWithStdoutStderr(c, "logs", "--tail", "random", id)
|
||||||
|
|
||||||
lines = strings.Split(out, "\n")
|
lines = strings.Split(out, "\n")
|
||||||
|
|
||||||
c.Assert(lines, checker.HasLen, testLen+1)
|
c.Assert(lines, checker.HasLen, testLen+1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ func TailFile(f io.ReadSeeker, n int) ([][]byte, error) {
|
||||||
break
|
break
|
||||||
} else {
|
} else {
|
||||||
b = make([]byte, blockSize)
|
b = make([]byte, blockSize)
|
||||||
if _, err := f.Seek(step, os.SEEK_END); err != nil {
|
if _, err := f.Seek(left, os.SEEK_SET); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if _, err := f.Read(b); err != nil {
|
if _, err := f.Read(b); err != nil {
|
||||||
|
|
Loading…
Reference in New Issue