Files
moby/integration-cli
Rob Murray d75394bf77 Wait longer for a stable goroutine count in tests
Test 'TestDockerCLIRunSuite/TestRunAttachFailedNoLeak' does this ...

- start a container that exits immediately, its comment says:
  - "Run a dummy container to ensure all goroutines are up and running
    before we get a count"
- wait for the number of goroutines to be stable for 400ms, and remember
  that number
- start a container
- start another container, expecting it to fail with a port-mapping clash
- stop the running container
- wait for up to 30s for the number of goroutines to fall back to the
  remembered number.

In a CI run - hacking in some debug to count goroutines once a second,
before waiting for the number to stablilise for 400ms, showed that the
initial (dummy) container run had no immediate effect. But, three more
goroutines appeared within a few seconds. For example:

  === RUN   TestDockerCLIRunSuite/TestRunAttachFailedNoLeak
    docker_cli_run_test.go:3822: goroutines before container run: 47 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 47 i 0 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 48 i 1 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 48 i 2 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 48 i 3 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 48 i 4 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 50 i 5 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 50 i 6 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 50 i 7 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 50 i 8 err <nil>
    docker_cli_run_test.go:3830: goroutines after container run: 50 i 9 err <nil>

That means a delay while running the rest of the test risks finding the
extra goroutines that are going to start anyway and not go away (regardless
of whether more containers are started).

So - wait for the goroutine count to be stable for 7s, rather than 400ms.

Signed-off-by: Rob Murray <rob.murray@docker.com>
2024-12-02 18:49:02 +00:00
..
2024-09-06 21:53:09 +10:00
2024-06-27 23:18:48 +02:00