...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package validate
16
17 import (
18 "os"
19 "sync"
20 "testing"
21
22 "github.com/stretchr/testify/assert"
23 )
24
25 var (
26 logMutex = &sync.Mutex{}
27 )
28
29 func TestDebug(t *testing.T) {
30 tmpFile, _ := os.CreateTemp("", "debug-test")
31 tmpName := tmpFile.Name()
32 defer func() {
33 Debug = false
34
35 logMutex.Unlock()
36 os.Remove(tmpName)
37 }()
38
39
40 logMutex.Lock()
41 Debug = true
42 debugOptions()
43 defer func() {
44 validateLogger.SetOutput(os.Stdout)
45 }()
46
47 validateLogger.SetOutput(tmpFile)
48
49 debugLog("A debug")
50 Debug = false
51 tmpFile.Close()
52
53 flushed, _ := os.Open(tmpName)
54 buf := make([]byte, 500)
55 _, _ = flushed.Read(buf)
56 validateLogger.SetOutput(os.Stdout)
57 assert.Contains(t, string(buf), "A debug")
58 }
59
View as plain text