Merge pull request #28203 from shaynewang/27687-fix-tail-flag-returning-more-lines

Fixes #27687 docker logs --tails returns less lines than expected
Upstream-commit: 28094357ed3f7238e533b870a4e24676c6102f2e
Component: engine
This commit is contained in:
Vincent Demeester
2016-11-14 10:17:38 +01:00
committed by GitHub
2 changed files with 13 additions and 7 deletions
@@ -117,22 +117,28 @@ func (s *DockerSuite) TestLogsTail(c *check.C) {
id := strings.TrimSpace(out)
dockerCmd(c, "wait", id)
out, _ = dockerCmd(c, "logs", "--tail", "5", id)
out, _ = dockerCmd(c, "logs", "--tail", "0", id)
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)
out, _ = dockerCmd(c, "logs", "--tail", "all", id)
out, _ = dockerCmd(c, "logs", "--tail", "99", id)
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)
out, _, _ = dockerCmdWithStdoutStderr(c, "logs", "--tail", "random", id)
lines = strings.Split(out, "\n")
c.Assert(lines, checker.HasLen, testLen+1)
}
+1 -1
View File
@@ -44,7 +44,7 @@ func TailFile(f io.ReadSeeker, n int) ([][]byte, error) {
break
} else {
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
}
if _, err := f.Read(b); err != nil {