From 42e0b168e3d75389dfb968aebf9f5629d64782f9 Mon Sep 17 00:00:00 2001 From: Ophestra Umiker Date: Mon, 21 Oct 2024 20:47:02 +0900 Subject: fmsg: produce all output through fmsg The behaviour of print functions from package fmt is not thread safe. Functions provided by fmsg wrap around Logger methods. This makes prefix much cleaner and makes it easy to deal with future changes to logging. Signed-off-by: Ophestra Umiker --- internal/verbose/print.go | 19 ------------ internal/verbose/print_test.go | 67 ------------------------------------------ internal/verbose/state.go | 13 -------- internal/verbose/state_test.go | 20 ------------- 4 files changed, 119 deletions(-) delete mode 100644 internal/verbose/print.go delete mode 100644 internal/verbose/print_test.go delete mode 100644 internal/verbose/state.go delete mode 100644 internal/verbose/state_test.go (limited to 'internal/verbose') diff --git a/internal/verbose/print.go b/internal/verbose/print.go deleted file mode 100644 index 3d0686b1..00000000 --- a/internal/verbose/print.go +++ /dev/null @@ -1,19 +0,0 @@ -package verbose - -import ( - "fmt" -) - -var Prefix = "fortify:" - -func Println(a ...any) { - if verbose.Load() { - fmt.Println(append([]any{Prefix}, a...)...) - } -} - -func Printf(format string, a ...any) { - if verbose.Load() { - fmt.Printf(Prefix+" "+format, a...) - } -} diff --git a/internal/verbose/print_test.go b/internal/verbose/print_test.go deleted file mode 100644 index d74b70ed..00000000 --- a/internal/verbose/print_test.go +++ /dev/null @@ -1,67 +0,0 @@ -package verbose_test - -import ( - "os" - "os/exec" - "strconv" - "strings" - "testing" - - "git.ophivana.moe/security/fortify/internal/verbose" -) - -const ( - testVerbose = "GO_TEST_VERBOSE" - wantStdout = "fortify: println\nfortify: printf" -) - -func TestPrinter(t *testing.T) { - switch os.Getenv(testVerbose) { - case "0": - verbose.Set(false) - case "1": - verbose.Set(true) - default: - return - } - - verbose.Println("println") - verbose.Printf("%s", "printf") -} - -func TestPrintf_Println(t *testing.T) { - testPrintfPrintln(t, false) - testPrintfPrintln(t, true) - - // make -cover happy - stdout := os.Stdout - t.Cleanup(func() { - os.Stdout = stdout - }) - os.Stdout = nil - verbose.Set(true) - verbose.Printf("") - verbose.Println() -} - -func testPrintfPrintln(t *testing.T, v bool) { - t.Run("start verbose printer with verbose "+strconv.FormatBool(v), func(t *testing.T) { - stdout, stderr := new(strings.Builder), new(strings.Builder) - stdout.Grow(len(wantStdout)) - cmd := exec.Command(os.Args[0], "-test.run=TestPrinter") - cmd.Stdout, cmd.Stderr = stdout, stderr - if v { - cmd.Env = append(cmd.Env, testVerbose+"=1") - } else { - cmd.Env = append(cmd.Env, testVerbose+"=0") - } - if err := cmd.Run(); err != nil { - panic("cannot run printer process: " + err.Error() + " stderr: " + stderr.String()) - } - - if got := stdout.String(); strings.Contains(got, wantStdout) != v { - t.Errorf("Print: got %v; want %t", - got, v) - } - }) -} diff --git a/internal/verbose/state.go b/internal/verbose/state.go deleted file mode 100644 index e63e7a10..00000000 --- a/internal/verbose/state.go +++ /dev/null @@ -1,13 +0,0 @@ -package verbose - -import "sync/atomic" - -var verbose = new(atomic.Bool) - -func Get() bool { - return verbose.Load() -} - -func Set(v bool) { - verbose.Store(v) -} diff --git a/internal/verbose/state_test.go b/internal/verbose/state_test.go deleted file mode 100644 index f8179eea..00000000 --- a/internal/verbose/state_test.go +++ /dev/null @@ -1,20 +0,0 @@ -package verbose_test - -import ( - "testing" - - "git.ophivana.moe/security/fortify/internal/verbose" -) - -func TestGetSet(t *testing.T) { - verbose.Set(false) - if verbose.Get() { - t.Errorf("Get() = true, want false") - } - - verbose.Set(true) - if !verbose.Get() { - t.Errorf("Get() = false, want true") - } - -} -- cgit v1.3.1