Skip to content
Snippets Groups Projects

fix: read error from upload artifacts execution.

Merged Paul 🐻 requested to merge paulrbr/gitlab-runner:fix-artifact-upload-errors into master
All threads resolved!
+ 37
0
@@ -38,3 +38,40 @@ func TestCacheCheckPolicy(t *testing.T) {
}
}
func doTestArtifactShouldUpload(t *testing.T, when ArtifactWhen, stateOK, expected bool) {
artifact := Artifact{When: when}
var state error
if !stateOK {
state = errors.New("Build error")
}
result := artifact.ShouldUpload(state)
if expected {
assert.True(t, result, "ShouldUpload should return true for when=%v and state=%v", when, state)
} else {
assert.False(t, result, "ShouldUpload should return false for when=%v and state=%v", when, state)
}
}
func TestArtifact_ShouldUpload(t *testing.T) {
examples := []struct {
when ArtifactWhen
stateOK bool
expected bool
}{
{when: "", stateOK: true, expected: true},
{when: ArtifactWhenOnSuccess, stateOK: true, expected: true},
{when: ArtifactWhenOnFailure, stateOK: true, expected: false},
{when: ArtifactWhenAlways, stateOK: true, expected: true},
{when: "", stateOK: false, expected: false},
{when: ArtifactWhenOnSuccess, stateOK: false, expected: false},
{when: ArtifactWhenOnFailure, stateOK: false, expected: true},
{when: ArtifactWhenAlways, stateOK: false, expected: true},
}
for _, example := range examples {
doTestArtifactShouldUpload(t, example.when, example.stateOK, example.expected)
}
}
Loading