mirror of
https://github.com/docker/compose.git
synced 2025-07-26 23:24:05 +02:00
Fix: remove the infinite goroutine
Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
This commit is contained in:
parent
aa31387355
commit
fa8d075d88
16
cmd/docker-compose.yaml
Normal file
16
cmd/docker-compose.yaml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
version: '3.3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
servic1:
|
||||||
|
image: nginx
|
||||||
|
ports:
|
||||||
|
- 8081:80
|
||||||
|
service2:
|
||||||
|
image: nginx
|
||||||
|
ports:
|
||||||
|
- 8082:80
|
||||||
|
service3:
|
||||||
|
image: nginx
|
||||||
|
ports:
|
||||||
|
- 8083:80
|
||||||
|
|
@ -86,23 +86,22 @@ func makeColorFunc(code string) colorFunc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var nextColor = rainbowColor
|
var nextColor = rainbowColor
|
||||||
|
var rainbow []colorFunc
|
||||||
|
var currentIndex = 0
|
||||||
|
|
||||||
func rainbowColor() colorFunc {
|
func rainbowColor() colorFunc {
|
||||||
return <-loop
|
result := rainbow[currentIndex]
|
||||||
|
currentIndex = (currentIndex + 1) % len(rainbow)
|
||||||
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
var loop = make(chan colorFunc)
|
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
colors := map[string]colorFunc{}
|
colors := map[string]colorFunc{}
|
||||||
for i, name := range names {
|
for i, name := range names {
|
||||||
colors[name] = makeColorFunc(strconv.Itoa(30 + i))
|
colors[name] = makeColorFunc(strconv.Itoa(30 + i))
|
||||||
colors["intense_"+name] = makeColorFunc(strconv.Itoa(30+i) + ";1")
|
colors["intense_"+name] = makeColorFunc(strconv.Itoa(30+i) + ";1")
|
||||||
}
|
}
|
||||||
|
rainbow = []colorFunc{
|
||||||
go func() {
|
|
||||||
i := 0
|
|
||||||
rainbow := []colorFunc{
|
|
||||||
colors["cyan"],
|
colors["cyan"],
|
||||||
colors["yellow"],
|
colors["yellow"],
|
||||||
colors["green"],
|
colors["green"],
|
||||||
@ -114,10 +113,4 @@ func init() {
|
|||||||
colors["intense_magenta"],
|
colors["intense_magenta"],
|
||||||
colors["intense_blue"],
|
colors["intense_blue"],
|
||||||
}
|
}
|
||||||
|
|
||||||
for {
|
|
||||||
loop <- rainbow[i]
|
|
||||||
i = (i + 1) % len(rainbow)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"go.uber.org/goleak"
|
||||||
"gotest.tools/v3/assert"
|
"gotest.tools/v3/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -71,3 +72,7 @@ func TestPrint(t *testing.T) {
|
|||||||
{"Name":"myName2","Status":"myStatus2"}
|
{"Name":"myName2","Status":"myStatus2"}
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestColorsGoroutinesLeak(t *testing.T) {
|
||||||
|
goleak.VerifyNone(t)
|
||||||
|
}
|
||||||
|
2
go.mod
2
go.mod
@ -150,6 +150,8 @@ require (
|
|||||||
sigs.k8s.io/yaml v1.2.0 // indirect
|
sigs.k8s.io/yaml v1.2.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
require go.uber.org/goleak v1.1.12
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
// Override for e2e tests
|
// Override for e2e tests
|
||||||
github.com/cucumber/godog => github.com/laurazard/godog v0.0.0-20220922095256-4c4b17abdae7
|
github.com/cucumber/godog => github.com/laurazard/godog v0.0.0-20220922095256-4c4b17abdae7
|
||||||
|
2
go.sum
2
go.sum
@ -770,6 +770,7 @@ golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHl
|
|||||||
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||||
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
|
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
|
||||||
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||||
|
golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k=
|
||||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||||
@ -978,6 +979,7 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f
|
|||||||
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
||||||
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||||
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||||
|
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
Loading…
x
Reference in New Issue
Block a user