diff --git a/queue/builtin/queue.go b/queue/builtin/queue.go index 6256cad2a..d680d4ac8 100644 --- a/queue/builtin/queue.go +++ b/queue/builtin/queue.go @@ -1,11 +1,14 @@ package builtin import ( + "errors" "sync" "github.com/drone/drone/queue" ) +var ErrNotFound = errors.New("work item not found") + type Queue struct { sync.Mutex @@ -40,7 +43,7 @@ func (q *Queue) Remove(work *queue.Work) error { _, ok := q.items[work] if !ok { - return nil + return ErrNotFound } var items []*queue.Work diff --git a/queue/builtin/queue_test.go b/queue/builtin/queue_test.go index 24cb80336..6dce3f6a1 100644 --- a/queue/builtin/queue_test.go +++ b/queue/builtin/queue_test.go @@ -34,6 +34,7 @@ func TestBuild(t *testing.T) { g.Assert(len(q.itemc)).Equal(2) g.Assert(q.Pull()).Equal(w1) g.Assert(q.Pull()).Equal(w3) + g.Assert(q.Remove(w2)).Equal(ErrNotFound) }) g.It("Should pull item", func() {