which could not be true in many scenarios (i.e. a very basic Alpine-based image)
Create a ContainerRequest from an Image without bash installed on it. Add a wait.ForListeningPort strategy. It will create an infinite loop as the exit code is not controlled, delegating the exit of the test method to the Docker client, which is not able to close the initial command.
panic: test timed out after 30s
goroutine 616 [running]:
testing.(*M).startAlarm.func1()
/usr/local/Cellar/go/1.13.4/libexec/src/testing/testing.go:1377 +0xdf
created by time.goFunc
/usr/local/Cellar/go/1.13.4/libexec/src/time/sleep.go:168 +0x44
goroutine 1 [chan receive]:
testing.(*T).Run(0xc0000ef300, 0x164630d, 0x30, 0x16538e0, 0x1087f01)
/usr/local/Cellar/go/1.13.4/libexec/src/testing/testing.go:961 +0x377
testing.runTests.func1(0xc0000ef200)
/usr/local/Cellar/go/1.13.4/libexec/src/testing/testing.go:1202 +0x78
testing.tRunner(0xc0000ef200, 0xc0001f3dc0)
/usr/local/Cellar/go/1.13.4/libexec/src/testing/testing.go:909 +0xc9
testing.runTests(0xc000236fa0, 0x1ab15a0, 0x19, 0x19, 0x0)
/usr/local/Cellar/go/1.13.4/libexec/src/testing/testing.go:1200 +0x2a7
testing.(*M).Run(0xc0000edd00, 0x0)
/usr/local/Cellar/go/1.13.4/libexec/src/testing/testing.go:1117 +0x176
main.main()
_testmain.go:92 +0x135
goroutine 36 [IO wait]:
internal/poll.runtime_pollWait(0x1e51600, 0x72, 0xffffffffffffffff)
/usr/local/Cellar/go/1.13.4/libexec/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc000426518, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
/usr/local/Cellar/go/1.13.4/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/Cellar/go/1.13.4/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000426500, 0xc000440000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.13.4/libexec/src/internal/poll/fd_unix.go:169 +0x22b
net.(*netFD).Read(0xc000426500, 0xc000440000, 0x1000, 0x1000, 0x16ea940, 0xc00025fb80, 0x0)
/usr/local/Cellar/go/1.13.4/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc000612690, 0xc000440000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.13.4/libexec/src/net/net.go:184 +0x68
net/http.(*persistConn).Read(0xc0003f7c20, 0xc000440000, 0x1000, 0x1000, 0x0, 0xc0001752e8, 0x100e216)
/usr/local/Cellar/go/1.13.4/libexec/src/net/http/transport.go:1752 +0x75
bufio.(*Reader).Read(0xc000490c60, 0xc0005be000, 0x200, 0x2000, 0x8, 0x1585b20, 0x6db7ac1ba336768e)
/usr/local/Cellar/go/1.13.4/libexec/src/bufio/bufio.go:226 +0x26a
net/http.(*body).readLocked(0xc000388700, 0xc0005be000, 0x200, 0x2000, 0xc, 0xc000413ec8, 0xc0001753a8)
/usr/local/Cellar/go/1.13.4/libexec/src/net/http/transfer.go:847 +0x5f
net/http.(*body).Read(0xc000388700, 0xc0005be000, 0x200, 0x2000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.13.4/libexec/src/net/http/transfer.go:839 +0x102
net/http.(*bodyEOFSignal).Read(0xc000388740, 0xc0005be000, 0x200, 0x2000, 0x0, 0x0, 0x0)
/usr/local/Cellar/go/1.13.4/libexec/src/net/http/transport.go:2576 +0xe5
io.(*LimitedReader).Read(0xc00044b520, 0xc0005be000, 0x2000, 0x2000, 0xc000434090, 0x100b07b, 0xc000012000)
/usr/local/Cellar/go/1.13.4/libexec/src/io/io.go:448 +0x63
io/ioutil.devNull.ReadFrom(0x0, 0x16ea760, 0xc00044b520, 0x1593760, 0x1, 0x1e51770)
/usr/local/Cellar/go/1.13.4/libexec/src/io/ioutil/ioutil.go:147 +0x92
io.copyBuffer(0x16eb5a0, 0x1ad3b00, 0x16ea760, 0xc00044b520, 0x0, 0x0, 0x0, 0x1596f80, 0x16f0900, 0x16ea980)
/usr/local/Cellar/go/1.13.4/libexec/src/io/io.go:388 +0x2ed
io.Copy(...)
/usr/local/Cellar/go/1.13.4/libexec/src/io/io.go:364
io.CopyN(0x16eb5a0, 0x1ad3b00, 0x16ea980, 0xc000388740, 0x200, 0xc0002df0b0, 0xc8, 0xc000406d80)
/usr/local/Cellar/go/1.13.4/libexec/src/io/io.go:340 +0x9a
github.com/docker/docker/client.ensureReaderClosed(0x16f0980, 0xc000388740, 0xc0002df0b0, 0xc8, 0xc000406d80)
/Users/mdelapenya/sourcecode/pkg/mod/github.com/docker/[email protected]/client/request.go:270 +0x90
github.com/docker/docker/client.(*Client).ContainerExecStart(0xc0000ede00, 0x16f6500, 0xc0003d8000, 0xc0001af840, 0x40, 0x0, 0x0, 0x0)
Client:
Debug Mode: false
Server:
Containers: 2
Running: 1
Paused: 0
Stopped: 1
Images: 266
Server Version: 19.03.5
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.184-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.787GiB
Name: docker-desktop
ID: 666N:ZRUC:5URC:56ID:255A:GL7H:ZM2Y:M25P:EW3W:YE52:URT7:5EGH
Docker Root Dir: /var/lib/docker
Debug Mode: true
File Descriptors: 39
Goroutines: 54
System Time: 2020-01-07T10:55:22.0569905Z
EventsListeners: 2
HTTP Proxy: gateway.docker.internal:3128
HTTPS Proxy: gateway.docker.internal:3129
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine