github.com/onsi/gomega@v1.32.0/gleak/util_test.go (about) 1 package gleak 2 3 import ( 4 . "github.com/onsi/ginkgo/v2" 5 . "github.com/onsi/gomega" 6 ) 7 8 var _ = Describe("utilities", func() { 9 10 Context("G(oroutine) descriptions", func() { 11 12 It("returns an error for actual <nil>", func() { 13 Expect(func() { _, _ = G(nil, "foo") }).NotTo(Panic()) 14 Expect(G(nil, "foo")).Error().To(MatchError("foo matcher expects a Goroutine or *Goroutine. Got:\n <nil>: nil")) 15 }) 16 17 It("returns an error when passing something that's not a goroutine by any means", func() { 18 Expect(func() { _, _ = G("foobar", "foo") }).NotTo(Panic()) 19 Expect(G("foobar", "foo")).Error().To(MatchError("foo matcher expects a Goroutine or *Goroutine. Got:\n <string>: foobar")) 20 }) 21 22 It("returns a goroutine", func() { 23 actual := Goroutine{ID: 42} 24 g, err := G(actual, "foo") 25 Expect(err).NotTo(HaveOccurred()) 26 Expect(g.ID).To(Equal(uint64(42))) 27 28 g, err = G(&actual, "foo") 29 Expect(err).NotTo(HaveOccurred()) 30 Expect(g.ID).To(Equal(uint64(42))) 31 }) 32 33 }) 34 35 It("returns a list of Goroutine IDs in textual format", func() { 36 Expect(goids(nil)).To(BeEmpty()) 37 Expect(goids([]Goroutine{ 38 {ID: 666}, 39 {ID: 42}, 40 })).To(Equal("42, 666")) 41 Expect(goids([]Goroutine{ 42 {ID: 42}, 43 })).To(Equal("42")) 44 }) 45 46 })