1
0
Fork 0
mirror of https://code.forgejo.org/forgejo/runner.git synced 2025-09-15 18:57:01 +00:00

Clean the repository cache if it is in incomplete state (#595)

This commit is contained in:
KADOTA, Kyohei 2021-04-06 22:43:02 +09:00 committed by GitHub
parent 7853d7ea3f
commit f1db8a4f90
3 changed files with 49 additions and 11 deletions

View file

@ -89,3 +89,41 @@ func TestNewParallelExecutor(t *testing.T) {
assert.Nil(err)
}
func TestNewParallelExecutorFailed(t *testing.T) {
assert := assert.New(t)
ctx, cancel := context.WithCancel(context.Background())
cancel()
count := 0
errorWorkflow := NewPipelineExecutor(func(ctx context.Context) error {
count++
return fmt.Errorf("fake error")
})
err := NewParallelExecutor(errorWorkflow)(ctx)
assert.Equal(1, count)
assert.ErrorIs(context.Canceled, err)
}
func TestNewParallelExecutorCanceled(t *testing.T) {
assert := assert.New(t)
ctx, cancel := context.WithCancel(context.Background())
cancel()
errExpected := fmt.Errorf("fake error")
count := 0
successWorkflow := NewPipelineExecutor(func(ctx context.Context) error {
count++
return nil
})
errorWorkflow := NewPipelineExecutor(func(ctx context.Context) error {
count++
return errExpected
})
err := NewParallelExecutor(errorWorkflow, successWorkflow, successWorkflow)(ctx)
assert.Equal(3, count)
assert.Error(errExpected, err)
}