1
+ // Package testutils provides test utilities for k6.
2
+ package testutils
3
+
4
+ import (
5
+ "io/ioutil"
6
+ "os"
7
+ "testing"
8
+ )
9
+
10
+ // WriteFile writes data to a file with secure permissions
11
+ func WriteFile (name string , data []byte ) error {
12
+ return ioutil .WriteFile (name , data , 0600 )
13
+ }
14
+
15
+ // MkdirAll creates a directory with secure permissions
16
+ func MkdirAll (path string ) error {
17
+ return os .MkdirAll (path , 0700 )
18
+ }
19
+
20
+ // GetEnv returns a copy of the environment variables
21
+ func GetEnv () []string {
22
+ return append ([]string {}, os .Environ ()... )
23
+ }
24
+
25
+ // GetStdout returns os.Stdout for test output
26
+ func GetStdout () * os.File {
27
+ return os .Stdout
28
+ }
29
+
30
+ // GetStderr returns os.Stderr for test output
31
+ func GetStderr () * os.File {
32
+ return os .Stderr
33
+ }
34
+
35
+ // GetWorkDir returns the current working directory
36
+ func GetWorkDir () string {
37
+ dir , err := os .Getwd ()
38
+ if err != nil {
39
+ panic (err )
40
+ }
41
+ return dir
42
+ }
43
+
44
+ // StatFile checks if a file exists
45
+ func StatFile (path string ) (os.FileInfo , error ) {
46
+ return os .Stat (path )
47
+ }
48
+
49
+ // NewLogger creates a new logger for testing
50
+ func NewLogger (t testing.TB ) * Logger {
51
+ return & Logger {t : t }
52
+ }
53
+
54
+ // Logger is a simple logger for testing
55
+ type Logger struct {
56
+ t testing.TB
57
+ }
58
+
59
+ // WithField adds a field to the logger
60
+ func (l * Logger ) WithField (_ string , _ interface {}) * Logger {
61
+ return l
62
+ }
63
+
64
+ // Debug logs a debug message
65
+ func (l * Logger ) Debug (args ... interface {}) {
66
+ l .t .Log (args ... )
67
+ }
68
+
69
+ // Debugf logs a formatted debug message
70
+ func (l * Logger ) Debugf (format string , args ... interface {}) {
71
+ l .t .Logf (format , args ... )
72
+ }
73
+
74
+ // Info logs an info message
75
+ func (l * Logger ) Info (args ... interface {}) {
76
+ l .t .Log (args ... )
77
+ }
78
+
79
+ // Infof logs a formatted info message
80
+ func (l * Logger ) Infof (format string , args ... interface {}) {
81
+ l .t .Logf (format , args ... )
82
+ }
83
+
84
+ // Warn logs a warning message
85
+ func (l * Logger ) Warn (args ... interface {}) {
86
+ l .t .Log (args ... )
87
+ }
88
+
89
+ // Warnf logs a formatted warning message
90
+ func (l * Logger ) Warnf (format string , args ... interface {}) {
91
+ l .t .Logf (format , args ... )
92
+ }
93
+
94
+ // Error logs an error message
95
+ func (l * Logger ) Error (args ... interface {}) {
96
+ l .t .Log (args ... )
97
+ }
98
+
99
+ // Errorf logs a formatted error message
100
+ func (l * Logger ) Errorf (format string , args ... interface {}) {
101
+ l .t .Logf (format , args ... )
102
+ }
103
+
104
+ // Fatal logs a fatal message
105
+ func (l * Logger ) Fatal (args ... interface {}) {
106
+ l .t .Fatal (args ... )
107
+ }
108
+
109
+ // Fatalf logs a formatted fatal message
110
+ func (l * Logger ) Fatalf (format string , args ... interface {}) {
111
+ l .t .Fatalf (format , args ... )
112
+ }
0 commit comments