@@ -108,6 +108,10 @@ func (v *Venom) GetExecutorRunner(ctx context.Context, ts TestStep, h H) (contex
108
108
if err != nil {
109
109
return nil , nil , err
110
110
}
111
+ retryIf , err := ts .StringSliceValue ("retry_if" )
112
+ if err != nil {
113
+ return nil , nil , err
114
+ }
111
115
delay , err := ts .IntValue ("delay" )
112
116
if err != nil {
113
117
return nil , nil , err
@@ -131,19 +135,19 @@ func (v *Venom) GetExecutorRunner(ctx context.Context, ts TestStep, h H) (contex
131
135
ctx = context .WithValue (ctx , ContextKey ("vars" ), allKeys )
132
136
133
137
if name == "" {
134
- return ctx , newExecutorRunner (nil , name , "builtin" , retry , delay , timeout , info ), nil
138
+ return ctx , newExecutorRunner (nil , name , "builtin" , retry , retryIf , delay , timeout , info ), nil
135
139
}
136
140
137
141
if ex , ok := v .executorsBuiltin [name ]; ok {
138
- return ctx , newExecutorRunner (ex , name , "builtin" , retry , delay , timeout , info ), nil
142
+ return ctx , newExecutorRunner (ex , name , "builtin" , retry , retryIf , delay , timeout , info ), nil
139
143
}
140
144
141
145
if err := v .registerUserExecutors (ctx , name , ts , vars ); err != nil {
142
146
Debug (ctx , "executor %q is not implemented as user executor - err:%v" , name , err )
143
147
}
144
148
145
149
if ex , ok := v .executorsUser [name ]; ok {
146
- return ctx , newExecutorRunner (ex , name , "user" , retry , delay , timeout , info ), nil
150
+ return ctx , newExecutorRunner (ex , name , "user" , retry , retryIf , delay , timeout , info ), nil
147
151
}
148
152
149
153
if err := v .registerPlugin (ctx , name , vars ); err != nil {
@@ -152,7 +156,7 @@ func (v *Venom) GetExecutorRunner(ctx context.Context, ts TestStep, h H) (contex
152
156
153
157
// then add the executor plugin to the map to not have to load it on each step
154
158
if ex , ok := v .executorsUser [name ]; ok {
155
- return ctx , newExecutorRunner (ex , name , "plugin" , retry , delay , timeout , info ), nil
159
+ return ctx , newExecutorRunner (ex , name , "plugin" , retry , retryIf , delay , timeout , info ), nil
156
160
}
157
161
return ctx , nil , fmt .Errorf ("executor %q is not implemented" , name )
158
162
}
0 commit comments