@@ -2,9 +2,11 @@ package sm
2
2
3
3
import (
4
4
"bytes"
5
+ "io"
5
6
"strings"
6
7
"testing"
7
8
9
+ "github.com/sirupsen/logrus"
8
10
"github.com/spf13/afero"
9
11
"github.com/stretchr/testify/require"
10
12
"go.k6.io/k6/metrics"
@@ -53,14 +55,12 @@ func TestOutputDescription(t *testing.T) {
53
55
require .NotEmpty (t , out .Description ())
54
56
}
55
57
56
- func TestOutputStart (t * testing.T ) {
57
- t .Skip ("Skipping broken test" )
58
-
58
+ func TestOutputStartStop (t * testing.T ) {
59
59
t .Parallel ()
60
60
61
61
fs := afero .NewMemMapFs ()
62
62
63
- out , err := New (output.Params {ConfigArgument : "test.out" , FS : fs })
63
+ out , err := New (output.Params {ConfigArgument : "test.out" , FS : fs , Logger : nopLogger () })
64
64
require .NoError (t , err )
65
65
66
66
err = out .Start ()
@@ -69,34 +69,13 @@ func TestOutputStart(t *testing.T) {
69
69
err = out .Stop ()
70
70
require .NoError (t , err )
71
71
72
- // At this point we should have an empty file.
73
- fi , err := fs .Stat ("test.out" )
74
- require .NoError (t , err )
75
- require .Equal (t , int64 (0 ), fi .Size ())
76
- }
77
-
78
- // TestOutputStop tests that the metrics are correctly collected and written to the file.
79
- func TestOutputStop (t * testing.T ) {
80
- t .Skip ("Skipping broken test" )
81
-
82
- t .Parallel ()
83
-
84
- fs := afero .NewMemMapFs ()
85
-
86
- out , err := New (output.Params {ConfigArgument : "test.out" , FS : fs })
87
- require .NoError (t , err )
88
-
89
- err = out .Start ()
72
+ fileOut , err := fs .Open ("test.out" )
90
73
require .NoError (t , err )
91
74
92
- // TODO(mem): add samples
93
-
94
- err = out .Stop ()
75
+ output , err := io .ReadAll (fileOut )
95
76
require .NoError (t , err )
96
77
97
- fi , err := fs .Stat ("test.out" )
98
- require .NoError (t , err )
99
- require .Equal (t , int64 (0 ), fi .Size ())
78
+ require .Contains (t , string (output ), "probe_script_duration_seconds" )
100
79
}
101
80
102
81
func makeSample (name string , value float64 ) metrics.Sample {
@@ -660,3 +639,10 @@ func TestTargetMetricsCollectionWriteMany(t *testing.T) {
660
639
661
640
require .Equal (t , expected , buf .String ())
662
641
}
642
+
643
+ func nopLogger () * logrus.Logger {
644
+ l := logrus .New ()
645
+ l .SetOutput (io .Discard )
646
+
647
+ return l
648
+ }
0 commit comments