DockerCLI/cli/command/container
Sebastiaan van Stijn 6b25bc3003
fix race condition in TestRemoveForce
This test uses two subtests that were sharing the same variable.
Subtests run in a goroutine, which could lead to them concurrently
accessing the variable, resulting in a panic:

    === FAIL: cli/command/container TestRemoveForce/without_force (0.00s)
    Error: Error: No such container: nosuchcontainer
        --- FAIL: TestRemoveForce/without_force (0.00s)
    panic: runtime error: invalid memory address or nil pointer dereference [recovered]
    	panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x40393f]
    goroutine 190 [running]:
    testing.tRunner.func1.2({0xb76380, 0x124c9a0})
    	/usr/local/go/src/testing/testing.go:1389 +0x24e
    testing.tRunner.func1()
    	/usr/local/go/src/testing/testing.go:1392 +0x39f
    panic({0xb76380, 0x124c9a0})
    	/usr/local/go/src/runtime/panic.go:838 +0x207
    sort.StringSlice.Less(...)
    	/usr/local/go/src/sort/sort.go:319
    sort.insertionSort({0xd87380, 0xc00051b3b0}, 0x0, 0x2)
    	/usr/local/go/src/sort/sort.go:40 +0xb1
    sort.quickSort({0xd87380, 0xc00051b3b0}, 0x18?, 0xb4f060?, 0xc000540e01?)
    	/usr/local/go/src/sort/sort.go:222 +0x171
    sort.Sort({0xd87380, 0xc00051b3b0})
    	/usr/local/go/src/sort/sort.go:231 +0x53
    sort.Strings(...)
    	/usr/local/go/src/sort/sort.go:335
    github.com/docker/cli/cli/command/container.TestRemoveForce.func2(0xc0005389c0?)
    	/go/src/github.com/docker/cli/cli/command/container/rm_test.go:36 +0x125
    testing.tRunner(0xc00053e4e0, 0xc00051b140)
    	/usr/local/go/src/testing/testing.go:1439 +0x102
    created by testing.(*T).Run
    	/usr/local/go/src/testing/testing.go:1486 +0x35f
    === FAIL: cli/command/container TestRemoveForce (0.00s)

This patch changes the test to use to separate variables.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 9688f62d20)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-26 13:47:31 +02:00
..
testdata formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
attach.go Revert "[20.10] Revert "Ignore SIGURG on Linux."" 2021-05-25 12:30:31 +02:00
attach_test.go Replace deprecated Cobra command.SetOutput() with command.SetOut() 2020-05-07 14:25:59 +02:00
client_test.go Revert "[20.10] Revert "Ignore SIGURG on Linux."" 2021-05-25 12:30:31 +02:00
cmd.go Update gometalinter 2017-10-26 12:21:02 -04:00
commit.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
cp.go Prevent overwriting irregular files (cp, save, export commands) 2019-02-07 09:17:35 +01:00
cp_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
create.go linting: fix incorrectly formatted errors (revive) 2022-08-18 19:16:48 +02:00
create_test.go linting: fix incorrectly formatted errors (revive) 2022-08-18 19:16:48 +02:00
diff.go formatter package heavy refactoring 2018-10-23 17:05:44 +02:00
exec.go Added env-file flag to docker exec 2020-06-29 18:32:44 -04:00
exec_test.go Added env-file flag to docker exec 2020-06-29 18:32:44 -04:00
export.go Prevent overwriting irregular files (cp, save, export commands) 2019-02-07 09:17:35 +01:00
export_test.go Replace deprecated Cobra command.SetOutput() with command.SetOut() 2020-05-07 14:25:59 +02:00
formatter_diff.go formatter package heavy refactoring 2018-10-23 17:05:44 +02:00
formatter_diff_test.go formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
formatter_stats.go cli/command/container: unnecessary use of fmt.Sprintf (gosimple) 2022-08-18 19:16:29 +02:00
formatter_stats_test.go linting: fix incorrectly formatted errors (revive) 2022-08-18 19:16:48 +02:00
hijack.go update docker, replace github.com/docker/pkg/term, github.com/docker/pkg/mount 2020-04-22 17:16:13 +02:00
inspect.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
kill.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
list.go Replace 'numeric' with object in -q description 2020-03-02 10:28:52 +01:00
list_test.go Replace deprecated Cobra command.SetOutput() with command.SetOut() 2020-05-07 14:25:59 +02:00
logs.go Add shorthand for --tail option 2020-07-23 15:25:12 +03:00
logs_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
opts.go docker run: specify cgroup namespace mode with --cgroupns 2020-01-29 22:50:37 +00:00
opts_test.go refactor opts tests 2020-07-01 14:45:47 +02:00
pause.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
port.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
prune.go build: add options to builder prune 2018-09-05 00:01:16 +00:00
rename.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
restart.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
rm.go Return zero exit-code when force-removing non-existing containers 2020-08-14 16:17:40 +02:00
rm_test.go fix race condition in TestRemoveForce 2022-08-26 13:47:31 +02:00
run.go Revert "[20.10] Revert "Ignore SIGURG on Linux."" 2021-05-25 12:30:31 +02:00
run_test.go Set platform on container create API. 2020-05-27 17:16:56 -07:00
signals.go ForwardAllSignals: check if channel is closed, and remove warning 2021-05-25 12:36:29 +02:00
signals_test.go Revert "[20.10] Revert "Ignore SIGURG on Linux."" 2021-05-25 12:30:31 +02:00
signals_unix.go gofmt with go1.17 2022-04-14 16:40:46 +02:00
signals_unix_test.go gofmt with go1.17 2022-04-14 16:40:46 +02:00
signals_windows.go Ignore SIGURG on Darwin too 2021-05-25 12:38:46 +02:00
start.go Fix `docker start` blocking on signal handling 2021-05-25 12:35:59 +02:00
stats.go cli/command/container/stats.go: fix goimports 2020-11-10 17:47:57 +01:00
stats_helpers.go calculateMemUsageUnixNoCache: subtract total_inactive_file, not cache 2020-04-11 08:13:21 +09:00
stats_helpers_test.go calculateMemUsageUnixNoCache: subtract total_inactive_file, not cache 2020-04-11 08:13:21 +09:00
stats_unit_test.go use char to check blockIO type 2019-03-11 10:01:22 +08:00
stop.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
top.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
tty.go Revert "[20.10] Revert "Ignore SIGURG on Linux."" 2021-05-25 12:30:31 +02:00
tty_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
unpause.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
update.go Add `--pids-limit` flag to `docker update` 2019-03-21 01:20:32 +01:00
utils.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
utils_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
wait.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00