Skip to content

Commit

Permalink
defer closing the audit file
Browse files Browse the repository at this point in the history
  • Loading branch information
spowelljr committed Jun 15, 2022
1 parent d561628 commit 5333ec5
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 15 deletions.
7 changes: 3 additions & 4 deletions pkg/minikube/audit/audit.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ func LogCommandEnd(id string) error {
if err := openAuditLog(); err != nil {
return err
}
defer closeAuditLog()
var logs []string
s := bufio.NewScanner(currentLogFile)
for s.Scan() {
Expand All @@ -84,9 +85,7 @@ func LogCommandEnd(id string) error {
if err := s.Err(); err != nil {
return fmt.Errorf("failed to read from audit file: %v", err)
}
if err := closeAuditLog(); err != nil {
return err
}
closeAuditLog()
rowSlice, err := logsToRows(logs)
if err != nil {
return fmt.Errorf("failed to convert logs to rows: %v", err)
Expand Down Expand Up @@ -118,7 +117,7 @@ func LogCommandEnd(id string) error {
if _, err = currentLogFile.Write([]byte(auditContents)); err != nil {
return fmt.Errorf("failed to write to audit log: %v", err)
}
return closeAuditLog()
return nil
}

// shouldLog returns if the command should be logged.
Expand Down
9 changes: 5 additions & 4 deletions pkg/minikube/audit/logFile.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"fmt"
"os"

"k8s.io/klog/v2"
"k8s.io/minikube/pkg/minikube/localpath"
"k8s.io/minikube/pkg/minikube/out/register"
)
Expand All @@ -39,11 +40,10 @@ func openAuditLog() error {
}

// closeAuditLog closes the audit log file
func closeAuditLog() error {
func closeAuditLog() {
if err := currentLogFile.Close(); err != nil {
return fmt.Errorf("failed to close the audit log: %v", err)
klog.Errorf("failed to close the audit log: %v", err)
}
return nil
}

// appendToLog appends the row to the log file.
Expand All @@ -56,8 +56,9 @@ func appendToLog(row *row) error {
if err := openAuditLog(); err != nil {
return err
}
defer closeAuditLog()
if _, err := currentLogFile.WriteString(string(bs) + "\n"); err != nil {
return fmt.Errorf("unable to write to audit log: %v", err)
}
return closeAuditLog()
return nil
}
6 changes: 2 additions & 4 deletions pkg/minikube/audit/logFile_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,18 @@ import (
)

func TestLogFile(t *testing.T) {
t.Run("OpenAndCloseAuditLog", func(t *testing.T) {
t.Run("OpenAuditLog", func(t *testing.T) {
// make sure logs directory exists
if err := os.MkdirAll(filepath.Dir(localpath.AuditLog()), 0755); err != nil {
t.Fatalf("Error creating logs directory: %v", err)
}
if err := openAuditLog(); err != nil {
t.Fatal(err)
}
if err := closeAuditLog(); err != nil {
t.Fatal(err)
}
})

t.Run("AppendToLog", func(t *testing.T) {
defer closeAuditLog()
f, err := os.CreateTemp("", "audit.json")
if err != nil {
t.Fatalf("Error creating temporary file: %v", err)
Expand Down
4 changes: 1 addition & 3 deletions pkg/minikube/audit/report.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ func Report(lastNLines int) (*RawReport, error) {
if err := openAuditLog(); err != nil {
return nil, err
}
defer closeAuditLog()
var logs []string
s := bufio.NewScanner(currentLogFile)
for s.Scan() {
Expand All @@ -47,9 +48,6 @@ func Report(lastNLines int) (*RawReport, error) {
if err := s.Err(); err != nil {
return nil, fmt.Errorf("failed to read from audit file: %v", err)
}
if err := closeAuditLog(); err != nil {
return nil, err
}
rows, err := logsToRows(logs)
if err != nil {
return nil, fmt.Errorf("failed to convert logs to rows: %v", err)
Expand Down

0 comments on commit 5333ec5

Please sign in to comment.