Skip to content

Commit ba89012

Browse files
committed
fix tests
1 parent d157f5b commit ba89012

File tree

3 files changed

+76
-117
lines changed

3 files changed

+76
-117
lines changed

run/panic_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func TestPanicFromMain(t *testing.T) {
4444
last = scanner.Text()
4545
}
4646

47-
if !strings.Contains(last, "\"outcome\":\"crashed\"") {
47+
if !strings.Contains(last, "\"type\":\"CrashEvent\"") {
4848
t.Fatalf("expected crashed event; got: %s", last)
4949
}
5050
}
@@ -68,7 +68,7 @@ func TestPanicFromChildGoroutine(t *testing.T) {
6868
last = scanner.Text()
6969
}
7070

71-
if !strings.Contains(last, "\"outcome\":\"crashed\"") {
71+
if !strings.Contains(last, "\"type\":\"CrashEvent\"") {
7272
t.Fatalf("expected crashed event; got: %s", last)
7373
}
7474
}

runtime/runenv_events.go

Lines changed: 14 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,14 @@ import (
99
"go.uber.org/zap/zapcore"
1010
)
1111

12-
type (
13-
EventType string
14-
EventOutcome string
15-
)
16-
17-
const (
18-
EventTypeStart = EventType("start")
19-
EventTypeMessage = EventType("message")
20-
EventTypeOutcome = EventType("outcome")
21-
22-
EventOutcomeOK = EventOutcome("ok")
23-
EventOutcomeFailed = EventOutcome("failed")
24-
EventOutcomeCrashed = EventOutcome("crashed")
25-
)
26-
2712
type Event struct {
28-
*StartEvent `json:"start_event"`
29-
*MessageEvent `json:"message_event"`
30-
*SuccessEvent `json:"success_event"`
31-
*FailureEvent `json:"failure_event"`
32-
*CrashEvent `json:"crash_event"`
33-
*StageStartEvent `json:"stage_start_event"`
34-
*StageEndEvent `json:"stage_end_event"`
13+
*StartEvent `json:"start_event,omitempty"`
14+
*MessageEvent `json:"message_event,omitempty"`
15+
*SuccessEvent `json:"success_event,omitempty"`
16+
*FailureEvent `json:"failure_event,omitempty"`
17+
*CrashEvent `json:"crash_event,omitempty"`
18+
*StageStartEvent `json:"stage_start_event,omitempty"`
19+
*StageEndEvent `json:"stage_end_event,omitempty"`
3520
}
3621

3722
func (e *Event) Type() string {
@@ -64,7 +49,6 @@ func (StartEvent) Type() string {
6449
}
6550

6651
func (s StartEvent) MarshalLogObject(oe zapcore.ObjectEncoder) error {
67-
oe.AddString("type", s.Type())
6852
return oe.AddObject("runenv", s.Runenv)
6953
}
7054

@@ -77,7 +61,6 @@ func (MessageEvent) Type() string {
7761
}
7862

7963
func (m MessageEvent) MarshalLogObject(oe zapcore.ObjectEncoder) error {
80-
oe.AddString("type", m.Type())
8164
oe.AddString("message", m.Message)
8265
return nil
8366
}
@@ -91,7 +74,6 @@ func (SuccessEvent) Type() string {
9174
}
9275

9376
func (s SuccessEvent) MarshalLogObject(oe zapcore.ObjectEncoder) error {
94-
oe.AddString("type", s.Type())
9577
oe.AddString("group", s.TestGroupID)
9678
return nil
9779
}
@@ -105,7 +87,6 @@ func (FailureEvent) Type() string {
10587
}
10688

10789
func (f FailureEvent) MarshalLogObject(oe zapcore.ObjectEncoder) error {
108-
oe.AddString("type", f.Type())
10990
oe.AddString("error", f.Error)
11091
return nil
11192
}
@@ -120,7 +101,6 @@ func (CrashEvent) Type() string {
120101
}
121102

122103
func (c CrashEvent) MarshalLogObject(oe zapcore.ObjectEncoder) error {
123-
oe.AddString("type", c.Type())
124104
oe.AddString("error", c.Error)
125105
oe.AddString("stacktrace", c.Stacktrace)
126106
return nil
@@ -136,7 +116,6 @@ func (StageStartEvent) Type() string {
136116
}
137117

138118
func (s StageStartEvent) MarshalLogObject(oe zapcore.ObjectEncoder) error {
139-
oe.AddString("type", s.Type())
140119
oe.AddString("name", s.Name)
141120
oe.AddString("group", s.TestGroupID)
142121
return nil
@@ -152,7 +131,6 @@ func (StageEndEvent) Type() string {
152131
}
153132

154133
func (s StageEndEvent) MarshalLogObject(oe zapcore.ObjectEncoder) error {
155-
oe.AddString("type", s.Type())
156134
oe.AddString("name", s.Name)
157135
oe.AddString("group", s.TestGroupID)
158136
return nil
@@ -161,42 +139,22 @@ func (s StageEndEvent) MarshalLogObject(oe zapcore.ObjectEncoder) error {
161139
func (e Event) MarshalLogObject(oe zapcore.ObjectEncoder) error {
162140
switch {
163141
case e.StartEvent != nil:
164-
return e.StartEvent.MarshalLogObject(oe)
142+
return oe.AddObject("start_event", e.StartEvent)
165143
case e.MessageEvent != nil:
166-
return e.MessageEvent.MarshalLogObject(oe)
144+
return oe.AddObject("message_event", e.MessageEvent)
167145
case e.SuccessEvent != nil:
168-
return e.SuccessEvent.MarshalLogObject(oe)
146+
return oe.AddObject("success_event", e.SuccessEvent)
169147
case e.FailureEvent != nil:
170-
return e.FailureEvent.MarshalLogObject(oe)
148+
return oe.AddObject("failure_event", e.FailureEvent)
171149
case e.CrashEvent != nil:
172-
return e.CrashEvent.MarshalLogObject(oe)
150+
return oe.AddObject("crash_event", e.CrashEvent)
173151
case e.StageStartEvent != nil:
174-
return e.StageStartEvent.MarshalLogObject(oe)
152+
return oe.AddObject("stage_start_event", e.StageStartEvent)
175153
case e.StageEndEvent != nil:
176-
return e.StageEndEvent.MarshalLogObject(oe)
154+
return oe.AddObject("stage_end_event", e.StageEndEvent)
177155
default:
178156
panic("no such event")
179157
}
180-
181-
//oe.AddString("type", string(e.Type))
182-
183-
//if e.Outcome != "" {
184-
//oe.AddString("outcome", string(e.Outcome))
185-
//}
186-
//if e.Error != "" {
187-
//oe.AddString("error", e.Error)
188-
//}
189-
//if e.Stacktrace != "" {
190-
//oe.AddString("stacktrace", e.Stacktrace)
191-
//}
192-
//if e.Message != "" {
193-
//oe.AddString("message", e.Message)
194-
//}
195-
//if e.Runenv != nil {
196-
//if err := oe.AddObject("runenv", e.Runenv); err != nil {
197-
//return err
198-
//}
199-
//}
200158
}
201159

202160
func (rp *RunParams) MarshalLogObject(oe zapcore.ObjectEncoder) error {

runtime/runenv_test.go

Lines changed: 60 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ package runtime
22

33
import (
44
"encoding/json"
5+
"fmt"
56
"os"
67
"path/filepath"
78
"reflect"
9+
"strings"
810
"testing"
911
"time"
1012

@@ -74,65 +76,64 @@ func TestParseKeyValues(t *testing.T) {
7476
}
7577
}
7678

77-
//func TestAllEvents(t *testing.T) {
78-
//re, cleanup := RandomTestRunEnv(t)
79-
//t.Cleanup(cleanup)
80-
81-
//re.RecordStart()
82-
//re.RecordFailure(fmt.Errorf("bang"))
83-
//re.RecordCrash(fmt.Errorf("terrible bang"))
84-
//re.RecordMessage("i have something to %s", "say")
85-
//re.RecordSuccess()
86-
87-
//if err := re.Close(); err != nil {
88-
//t.Fatal(err)
89-
//}
90-
91-
//file, err := os.OpenFile(re.TestOutputsPath+"/run.out", os.O_RDONLY, 0644)
92-
//if err != nil {
93-
//t.Fatal(err)
94-
//}
95-
//defer file.Close()
96-
97-
//require := require.New(t)
98-
99-
//var i int
100-
//for dec := json.NewDecoder(file); dec.More(); {
101-
//var m = struct {
102-
//Event Event `json:"event"`
103-
//}{}
104-
//if err := dec.Decode(&m); err != nil {
105-
//t.Fatal(err)
106-
//}
107-
108-
//switch evt := m.Event; i {
109-
//case 0:
110-
////require.Equal(EventTypeMessage, evt.Type)
111-
//require.Condition(func() bool { return strings.HasPrefix(evt.Message, "InfluxDB unavailable") })
112-
//case 1:
113-
////require.Equal(EventTypeStart, evt.Type)
114-
//require.Equal(evt.Runenv.TestPlan, re.TestPlan)
115-
//require.Equal(evt.Runenv.TestCase, re.TestCase)
116-
//require.Equal(evt.Runenv.TestRun, re.TestRun)
117-
//require.Equal(evt.Runenv.TestGroupID, re.TestGroupID)
118-
//case 2:
119-
////require.Equal(EventTypeFinish, evt.Type)
120-
//require.Equal(EventOutcomeFailed, evt.Outcome)
121-
//require.Equal("bang", evt.Error)
122-
//case 3:
123-
////require.Equal(EventTypeFinish, evt.Type)
124-
//require.Equal(EventOutcomeCrashed, evt.Outcome)
125-
//require.Equal("terrible bang", evt.Error)
126-
//require.NotEmpty(evt.Stacktrace)
127-
//case 4:
128-
////require.Equal(EventTypeMessage, evt.Type)
129-
//case 5:
130-
////require.Equal(evt.Type, EventTypeFinish)
131-
//require.Equal(evt.Outcome, EventOutcomeOK)
132-
//}
133-
//i++
134-
//}
135-
//}
79+
func TestAllEvents(t *testing.T) {
80+
re, cleanup := RandomTestRunEnv(t)
81+
t.Cleanup(cleanup)
82+
83+
re.RecordStart()
84+
re.RecordFailure(fmt.Errorf("bang"))
85+
re.RecordCrash(fmt.Errorf("terrible bang"))
86+
re.RecordMessage("i have something to %s", "say")
87+
re.RecordSuccess()
88+
89+
if err := re.Close(); err != nil {
90+
t.Fatal(err)
91+
}
92+
93+
file, err := os.OpenFile(re.TestOutputsPath+"/run.out", os.O_RDONLY, 0644)
94+
if err != nil {
95+
t.Fatal(err)
96+
}
97+
defer file.Close()
98+
99+
require := require.New(t)
100+
101+
var i int
102+
for dec := json.NewDecoder(file); dec.More(); {
103+
var m = struct {
104+
Event Event `json:"event"`
105+
}{}
106+
if err := dec.Decode(&m); err != nil {
107+
t.Fatal(err)
108+
}
109+
110+
switch evt := m.Event; i {
111+
case 0:
112+
require.NotNil(evt.MessageEvent)
113+
require.Condition(func() bool { return strings.HasPrefix(evt.Message, "InfluxDB unavailable") })
114+
case 1:
115+
require.NotNil(evt.StartEvent)
116+
require.Equal(evt.Runenv.TestPlan, re.TestPlan)
117+
require.Equal(evt.Runenv.TestCase, re.TestCase)
118+
require.Equal(evt.Runenv.TestRun, re.TestRun)
119+
require.Equal(evt.Runenv.TestGroupID, re.TestGroupID)
120+
case 2:
121+
require.NotNil(evt.FailureEvent)
122+
require.Equal("bang", evt.FailureEvent.Error)
123+
case 3:
124+
require.NotNil(evt.CrashEvent)
125+
require.Equal("terrible bang", evt.CrashEvent.Error)
126+
require.NotEmpty(evt.Stacktrace)
127+
case 4:
128+
require.NotNil(evt.MessageEvent)
129+
require.Equal(evt.Type(), "MessageEvent")
130+
require.Equal("i have something to say", evt.MessageEvent.Message)
131+
case 5:
132+
require.NotNil(evt.SuccessEvent)
133+
}
134+
i++
135+
}
136+
}
136137

137138
func TestMetricsRecordedInFile(t *testing.T) {
138139
test := func(f func(*RunEnv) *MetricsApi, file string) func(t *testing.T) {

0 commit comments

Comments
 (0)