...
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 if !enableLongTests {
31 skipNotify(t)
32 t.SkipNow()
33 }
34 tmpFile, _ := os.CreateTemp("", "debug-test")
35 tmpName := tmpFile.Name()
36 defer func() {
37 Debug = false
38
39 logMutex.Unlock()
40 os.Remove(tmpName)
41 }()
42
43
44 logMutex.Lock()
45 Debug = true
46 debugOptions()
47 defer func() {
48 validateLogger.SetOutput(os.Stdout)
49 }()
50
51 validateLogger.SetOutput(tmpFile)
52
53 debugLog("A debug")
54 Debug = false
55 tmpFile.Close()
56
57 flushed, _ := os.Open(tmpName)
58 buf := make([]byte, 500)
59 _, _ = flushed.Read(buf)
60 validateLogger.SetOutput(os.Stdout)
61 assert.Contains(t, string(buf), "A debug")
62 }
63
View as plain text