DockerCLI/cli/command/container
Sebastiaan van Stijn 9688f62d20
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>
2022-03-31 22:54:17 +02:00
..
testdata Fix flaky TestContainerList tests 2022-03-28 20:37:06 +02:00
attach.go Fix typo 2021-11-05 18:10:51 +01:00
attach_test.go cli/command/container: remove deprecated io/ioutil 2022-02-25 15:36:23 +01:00
client_test.go Ignore SIGURG on Linux. 2021-01-15 19:03:39 +00: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 Add progress bar to copy into and from container 2021-04-24 13:24:19 +02:00
cp_test.go cli/command/container: remove deprecated io/ioutil 2022-02-25 15:36:23 +01:00
create.go linting: fix incorrectly formatted errors (revive) 2022-03-28 10:37:25 +02:00
create_test.go linting: fix incorrectly formatted errors (revive) 2022-03-28 10:37:25 +02:00
diff.go formatter package heavy refactoring 2018-10-23 17:05:44 +02:00
exec.go publish RunExec for use by docker/compose 2022-02-24 16:31:24 +01:00
exec_test.go cli/command/container: remove deprecated io/ioutil 2022-02-25 15:36:23 +01:00
export.go Prevent overwriting irregular files (cp, save, export commands) 2019-02-07 09:17:35 +01:00
export_test.go cli/command/container: remove deprecated io/ioutil 2022-02-25 15:36:23 +01: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-03-28 10:36:53 +02:00
formatter_stats_test.go linting: fix incorrectly formatted errors (revive) 2022-03-28 10:37:25 +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 Output compact JSON by default for --format=json 2022-03-15 15:42:35 +01:00
kill.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
list.go Update list commands with better format flag description 2022-03-15 15:35:53 +01:00
list_test.go cli/command/container: remove deprecated io/ioutil 2022-02-25 15:36:23 +01:00
logs.go Add shorthand for --tail option 2020-07-23 15:25:12 +03:00
logs_test.go cli/command/container: remove deprecated io/ioutil 2022-02-25 15:36:23 +01:00
opts.go Handle relative source mounts 2022-03-14 15:18:48 +01:00
opts_test.go cli/command/container: remove deprecated io/ioutil 2022-02-25 15:36:23 +01:00
pause.go Switch from x/net/context to context 2018-05-11 16:49:43 -07:00
port.go Use net.JoinHostPort() to fix formatting with IPv6 addresses 2021-04-20 11:05:24 +02:00
port_test.go cli/command/container: remove deprecated io/ioutil 2022-02-25 15:36:23 +01: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-03-31 22:54:17 +02:00
run.go cli/command: Add quiet option for create and run 2022-03-01 14:20:18 +01:00
run_test.go cli/command/container: remove deprecated io/ioutil 2022-02-25 15:36:23 +01:00
signals.go Fix typo 2021-11-05 18:10:51 +01:00
signals_test.go replace docker/pkg/signal with github.com/moby/sys/signal 2021-08-09 19:15:46 +02:00
signals_unix.go gofmt with go1.17 2022-03-26 20:21:00 +01:00
signals_unix_test.go gofmt with go1.17 2022-03-26 20:21:00 +01:00
signals_windows.go Ignore SIGURG on Darwin too 2021-05-24 19:37:53 +01:00
start.go publish RunExec for use by docker/compose 2022-02-24 16:31:24 +01:00
stats.go Update list commands with better format flag description 2022-03-15 15:35:53 +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 replace docker/pkg/signal with github.com/moby/sys/signal 2021-08-09 19:15:46 +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