Skip to content

Commit 5942cd8

Browse files
committed
Added tests for log file modes and compressing unknown log error conditions.
1 parent 8431aa7 commit 5942cd8

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

pkg/kubelet/logs/container_log_manager.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -413,15 +413,15 @@ func (c *containerLogManager) removeExcessLogs(logs []string) ([]string, error)
413413

414414
// compressLog compresses a log to log.gz with gzip.
415415
func (c *containerLogManager) compressLog(log string) error {
416+
logInfo, err := os.Stat(log)
417+
if err != nil {
418+
return fmt.Errorf("failed to stat log file: %w", err)
419+
}
416420
r, err := c.osInterface.Open(log)
417421
if err != nil {
418422
return fmt.Errorf("failed to open log %q: %w", log, err)
419423
}
420424
defer r.Close()
421-
logInfo, err := os.Stat(log)
422-
if err != nil {
423-
return fmt.Errorf("failed to get log info %q: %w", log, err)
424-
}
425425
tmpLog := log + tmpSuffix
426426
f, err := c.osInterface.OpenFile(tmpLog, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, logInfo.Mode())
427427
if err != nil {

pkg/kubelet/logs/container_log_manager_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,10 +368,18 @@ func TestCompressLog(t *testing.T) {
368368
testFile.Close()
369369

370370
testLog := testFile.Name()
371+
testLogInfo, err := os.Stat(testLog)
372+
assert.NoError(t, err)
371373
c := &containerLogManager{osInterface: container.RealOS{}}
372374
require.NoError(t, c.compressLog(testLog))
373-
_, err = os.Stat(testLog + compressSuffix)
375+
testLogCompressInfo, err := os.Stat(testLog + compressSuffix)
374376
assert.NoError(t, err, "log should be compressed")
377+
if testLogInfo.Mode() != testLogCompressInfo.Mode() {
378+
t.Errorf("compressed and uncompressed test log file modes do not match")
379+
}
380+
if err := c.compressLog("test-unknown-log"); err == nil {
381+
t.Errorf("compressing unknown log should return error")
382+
}
375383
_, err = os.Stat(testLog + tmpSuffix)
376384
assert.Error(t, err, "temporary log should be renamed")
377385
_, err = os.Stat(testLog)

0 commit comments

Comments
 (0)