@@ -156,13 +156,48 @@ func TestValidReplacesChain(t *testing.T) {
156
156
assertion : hasError (`detected cycle in replaces chain of upgrade graph: anakin.v0.0.3 -> anakin.v0.0.2 -> anakin.v0.0.1 -> anakin.v0.0.3` ),
157
157
},
158
158
{
159
- name : "Error/Stranded " ,
159
+ name : "Error/StrandedSkipsBeforeReplaces " ,
160
160
ch : Channel {Bundles : map [string ]* Bundle {
161
161
"anakin.v0.0.1" : {Name : "anakin.v0.0.1" },
162
162
"anakin.v0.0.2" : {Name : "anakin.v0.0.2" , Replaces : "anakin.v0.0.1" },
163
- "anakin.v0.0.3" : {Name : "anakin.v0.0.3" , Skips : []string {"anakin.v0.0.2" }},
163
+ "anakin.v0.0.3" : {Name : "anakin.v0.0.3" , Replaces : "anakin.v0.0.2" },
164
+ "anakin.v0.0.4" : {Name : "anakin.v0.0.4" , Replaces : "anakin.v0.0.3" },
165
+ "anakin.v0.0.5" : {Name : "anakin.v0.0.5" , Replaces : "anakin.v0.0.4" , Skips : []string {"anakin.v0.0.3" }},
166
+ }},
167
+ assertion : hasError (`channel contains one or more stranded bundles: anakin.v0.0.1, anakin.v0.0.2` ),
168
+ },
169
+ {
170
+ name : "Error/StrandedSkipsWithReplaces" ,
171
+ ch : Channel {Bundles : map [string ]* Bundle {
172
+ "anakin.v0.0.1" : {Name : "anakin.v0.0.1" },
173
+ "anakin.v0.0.2" : {Name : "anakin.v0.0.2" , Replaces : "anakin.v0.0.1" },
174
+ "anakin.v0.0.3" : {Name : "anakin.v0.0.3" , Replaces : "anakin.v0.0.2" },
175
+ "anakin.v0.0.4" : {Name : "anakin.v0.0.4" , Replaces : "anakin.v0.0.3" , Skips : []string {"anakin.v0.0.3" }},
176
+ "anakin.v0.0.5" : {Name : "anakin.v0.0.5" , Replaces : "anakin.v0.0.4" },
177
+ }},
178
+ assertion : hasError (`channel contains one or more stranded bundles: anakin.v0.0.1, anakin.v0.0.2` ),
179
+ },
180
+ {
181
+ name : "Error/StrandedSkipsAfterReplaces" ,
182
+ ch : Channel {Bundles : map [string ]* Bundle {
183
+ "anakin.v0.0.1" : {Name : "anakin.v0.0.1" },
184
+ "anakin.v0.0.2" : {Name : "anakin.v0.0.2" , Replaces : "anakin.v0.0.1" },
185
+ "anakin.v0.0.3" : {Name : "anakin.v0.0.3" , Replaces : "anakin.v0.0.2" , Skips : []string {"anakin.v0.0.3" }},
186
+ "anakin.v0.0.4" : {Name : "anakin.v0.0.4" , Replaces : "anakin.v0.0.3" },
187
+ "anakin.v0.0.5" : {Name : "anakin.v0.0.5" , Replaces : "anakin.v0.0.4" },
188
+ }},
189
+ assertion : hasError (`channel contains one or more stranded bundles: anakin.v0.0.1, anakin.v0.0.2` ),
190
+ },
191
+ {
192
+ name : "Error/StrandedSkipsTheTail" ,
193
+ ch : Channel {Bundles : map [string ]* Bundle {
194
+ "anakin.v0.0.1" : {Name : "anakin.v0.0.1" },
195
+ "anakin.v0.0.2" : {Name : "anakin.v0.0.2" , Replaces : "anakin.v0.0.1" , Skips : []string {"anakin.v0.0.1" }},
196
+ "anakin.v0.0.3" : {Name : "anakin.v0.0.3" , Replaces : "anakin.v0.0.2" },
197
+ "anakin.v0.0.4" : {Name : "anakin.v0.0.4" , Replaces : "anakin.v0.0.3" },
198
+ "anakin.v0.0.5" : {Name : "anakin.v0.0.5" , Replaces : "anakin.v0.0.4" },
164
199
}},
165
- assertion : hasError ( `channel contains one or more stranded bundles: anakin.v0.0.1` ) ,
200
+ assertion : require . NoError ,
166
201
},
167
202
}
168
203
for _ , s := range specs {
@@ -196,7 +231,7 @@ func hasError(expectedError string) require.ErrorAssertionFunc {
196
231
}
197
232
}
198
233
t .Errorf ("expected error to be or contain suberror `%s`, got `%s`" , expectedError , actualError )
199
- t .FailNow ()
234
+ // t.FailNow()
200
235
}
201
236
}
202
237
0 commit comments