moby/integration-cli
Sebastiaan van Stijn c3eed9fa3e
integration-cli: fix TestDaemonICC tests for newer iptables versions
Debian Woodworm ships with a newer version of iptables, which caused two
tests to fail:

    === FAIL: amd64.integration-cli TestDockerDaemonSuite/TestDaemonICCLinkExpose (1.18s)
    docker_cli_daemon_test.go:841: assertion failed: false (matched bool) != true (true bool): iptables output should have contained "DROP.*all.*ext-bridge6.*ext-bridge6", but was "Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)\n pkts bytes target prot opt in out source destination \n 0 0 DOCKER-USER 0 -- * * 0.0.0.0/0 0.0.0.0/0 \n 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0 \n 0 0 ACCEPT 0 -- * ext-bridge6 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED\n 0 0 DOCKER 0 -- * ext-bridge6 0.0.0.0/0 0.0.0.0/0 \n 0 0 ACCEPT 0 -- ext-bridge6 !ext-bridge6 0.0.0.0/0 0.0.0.0/0 \n 0 0 DROP 0 -- ext-bridge6 ext-bridge6 0.0.0.0/0 0.0.0.0/0 \n"
    --- FAIL: TestDockerDaemonSuite/TestDaemonICCLinkExpose (1.18s)

    === FAIL: amd64.integration-cli TestDockerDaemonSuite/TestDaemonICCPing (1.19s)
    docker_cli_daemon_test.go:803: assertion failed: false (matched bool) != true (true bool): iptables output should have contained "DROP.*all.*ext-bridge5.*ext-bridge5", but was "Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)\n pkts bytes target prot opt in out source destination \n 0 0 DOCKER-USER 0 -- * * 0.0.0.0/0 0.0.0.0/0 \n 0 0 DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0 \n 0 0 ACCEPT 0 -- * ext-bridge5 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED\n 0 0 DOCKER 0 -- * ext-bridge5 0.0.0.0/0 0.0.0.0/0 \n 0 0 ACCEPT 0 -- ext-bridge5 !ext-bridge5 0.0.0.0/0 0.0.0.0/0 \n 0 0 DROP 0 -- ext-bridge5 ext-bridge5 0.0.0.0/0 0.0.0.0/0 \n"
    --- FAIL: TestDockerDaemonSuite/TestDaemonICCPing (1.19s)

Both the `TestDaemonICCPing`, and `TestDaemonICCLinkExpose` test were introduced
in dd0666e64f. These tests called `iptables` with
the `-n` (`--numeric`) option, which prevents it from doing a reverse-DNS lookup
as an optimization.

However, the `-n` option did not have an effect to the `prot` column before
commit [da8ecc62dd765b15df84c3aa6b83dcb7a81d4ffa] (iptables < v1.8.9 or v1.8.8).
Newer versions, such as the iptables version shipping with Debian Woodworm do,
so we need to update the expected output for this version.

This patch removes the `-n` option, to keep the test more portable, also when
run non-containerized, and removes the use of regular expressions to check the
result, as these regular expressions were quite permissive (using `.*` wild-
card matching). Instead, we're getting the

With this change;

make DOCKER_GRAPHDRIVER=vfs TEST_FILTER=TestDaemonICC TEST_IGNORE_CGROUP_CHECK=1 test-integration
...
--- PASS: TestDockerDaemonSuite (139.11s)
--- PASS: TestDockerDaemonSuite/TestDaemonICCLinkExpose (54.62s)
--- PASS: TestDockerDaemonSuite/TestDaemonICCPing (84.48s)

[da8ecc62dd765b15df84c3aa6b83dcb7a81d4ffa]: https://git.netfilter.org/iptables/commit/?id=da8ecc62dd765b15df84c3aa6b83dcb7a81d4ffa

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2023-11-28 18:58:03 +01:00
..
checker bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
cli Add t.Helper() to the cli test helper functions 2023-07-13 13:37:26 +02:00
daemon Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
environment Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
fixtures integration-cli: fix test rogue certs 2022-05-19 10:54:31 +02:00
requirement integration-cli: make testRequires() a Helper 2019-10-09 21:44:22 +02:00
testdata Clean some integration-cli/fixtures package/files 2018-04-16 10:48:58 +02:00
benchmark_test.go integration-cli: DockerBenchmarkSuite: replace dockerCmd and waitRun 2023-10-19 17:38:54 +02:00
check_test.go c8d: disable schema1 registry integration tests 2023-09-11 15:30:44 +02:00
daemon_swarm_hack_test.go rm-gocheck: run goimports to compile successfully 2019-09-09 21:06:12 +00:00
docker_api_attach_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_api_build_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_api_build_windows_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_api_containers_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_api_containers_unix_test.go remove pre-go1.17 build-tags 2023-05-19 20:38:51 +02:00
docker_api_containers_windows_test.go api/types: move ContainerStartOptions to api/types/container 2023-10-12 11:29:24 +02:00
docker_api_exec_resize_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_api_exec_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_api_images_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_api_inspect_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_api_logs_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_api_network_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_api_stats_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_api_swarm_node_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_api_swarm_service_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_api_swarm_test.go libnet: Make sure network names are unique 2023-09-12 10:40:13 +02:00
docker_api_test.go api: ContainerCreate: return an error when config is nil 2023-10-25 21:25:17 +02:00
docker_cli_attach_test.go integration-cli: DockerCLIAttachSuite: replace dockerCmd and waitRun 2023-10-19 17:35:46 +02:00
docker_cli_attach_unix_test.go integration-cli: DockerCLIAttachSuite: replace dockerCmd and waitRun 2023-10-19 17:35:46 +02:00
docker_cli_build_test.go builder/dockerfile: errmsg: quote build target 2023-11-02 09:38:14 +01:00
docker_cli_build_unix_test.go integration-cli: DockerCLIBuildSuite: replace dockerCmd 2023-10-19 17:52:39 +02:00
docker_cli_by_digest_test.go Skip the busybox digest check when containerd is enabled 2023-11-02 14:07:49 +01:00
docker_cli_commit_test.go integration-cli: DockerCLICommitSuite: replace dockerCmd 2023-10-19 17:59:48 +02:00
docker_cli_cp_from_container_test.go integration-cli: format code with gofumpt 2023-06-29 00:08:27 +02:00
docker_cli_cp_test.go integration-cli: DockerCLICpSuite: replace dockerCmd 2023-10-19 17:52:44 +02:00
docker_cli_cp_to_container_test.go integration-cli: remove isCpCannotCopyReadOnly utility 2022-09-27 22:15:19 +02:00
docker_cli_cp_to_container_unix_test.go integration-cli: DockerCLICpSuite: replace dockerCmd 2023-10-19 17:52:44 +02:00
docker_cli_cp_utils_test.go integration-cli: DockerCLICpSuite: replace dockerCmd 2023-10-19 17:52:44 +02:00
docker_cli_create_test.go integration-cli: DockerCLICreateSuite: replace dockerCmd and waitRun 2023-10-19 18:00:27 +02:00
docker_cli_daemon_plugins_test.go remove pre-go1.17 build-tags 2023-05-19 20:38:51 +02:00
docker_cli_daemon_test.go integration-cli: fix TestDaemonICC tests for newer iptables versions 2023-11-28 18:58:03 +01:00
docker_cli_events_test.go integration-cli: DockerCLIEventSuite: replace dockerCmd and waitRun 2023-10-19 17:36:41 +02:00
docker_cli_events_unix_test.go integration-cli: DockerCLIEventSuite: replace dockerCmd and waitRun 2023-10-19 17:36:41 +02:00
docker_cli_exec_test.go integration-cli: DockerCLIExecSuite: replace dockerCmd and waitRun 2023-10-19 17:36:46 +02:00
docker_cli_exec_unix_test.go integration-cli: DockerCLIExecSuite: replace dockerCmd and waitRun 2023-10-19 17:36:46 +02:00
docker_cli_external_volume_driver_test.go integration-cli: DockerExternalVolumeSuite: replace dockerCmd 2023-10-19 18:01:37 +02:00
docker_cli_health_test.go integration-cli: DockerCLIHealthSuite: replace dockerCmd and waitRun 2023-10-19 17:39:00 +02:00
docker_cli_history_test.go integration-cli: DockerCLIHistorySuite: replace dockerCmd 2023-10-19 18:00:56 +02:00
docker_cli_images_test.go integration-cli: DockerCLIImagesSuite: replace dockerCmd 2023-10-19 17:58:12 +02:00
docker_cli_import_test.go integration-cli: DockerCLIImportSuite: replace dockerCmd 2023-10-19 18:01:24 +02:00
docker_cli_info_test.go integration-cli: DockerCLIInfoSuite: replace dockerCmd and waitRun 2023-10-19 17:38:33 +02:00
docker_cli_info_unix_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_cli_inspect_test.go integration-cli: DockerCLIInspectSuite: replace dockerCmd and waitRun 2023-10-19 17:20:56 +02:00
docker_cli_links_test.go integration-cli: DockerCLILinksSuite: replace dockerCmd and waitRun 2023-10-19 17:39:17 +02:00
docker_cli_login_test.go integration-cli: DockerRegistryAuthHtpasswdSuite: replace dockerCmd 2023-10-19 17:39:53 +02:00
docker_cli_logout_test.go integration-cli: DockerRegistryAuthHtpasswdSuite: replace dockerCmd 2023-10-19 17:39:53 +02:00
docker_cli_logs_test.go integration-cli: DockerCLILogsSuite: replace dockerCmd and waitRun 2023-10-19 17:40:15 +02:00
docker_cli_netmode_test.go integration-cli: mark dockerCmdWithFail as an helper function 2023-10-25 22:55:59 +02:00
docker_cli_network_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_cli_network_unix_test.go integration-cli: DockerNetworkSuite: replace dockerCmd and waitRun 2023-10-19 17:20:56 +02:00
docker_cli_plugins_logdriver_test.go integration-cli: DockerCLIPluginLogDriverSuite: replace dockerCmd 2023-10-19 18:01:46 +02:00
docker_cli_plugins_test.go integration-cli: DockerCLIPluginsSuite: replace dockerCmd 2023-10-19 18:02:04 +02:00
docker_cli_port_test.go integration-cli: DockerCLIPortSuite: replace dockerCmd and waitRun 2023-10-19 17:57:41 +02:00
docker_cli_proxy_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_cli_prune_test.go integration-cli: split DockerSuite into subsequent build suites 2022-06-17 10:59:04 +02:00
docker_cli_prune_unix_test.go integration-cli: DockerCLIPruneSuite: replace dockerCmd 2023-10-19 18:02:16 +02:00
docker_cli_ps_test.go integration-cli: DockerCLIPsSuite: replace dockerCmd and waitRun 2023-10-19 17:20:56 +02:00
docker_cli_pull_local_test.go Skip TestPullManifestList when using containerd 2023-11-02 16:09:35 +01:00
docker_cli_pull_test.go Merge pull request #46517 from rumpl/c8d-windows-pull-linux 2023-11-03 09:28:16 +01:00
docker_cli_push_test.go integration-cli/TestCrossRepositoryLayerPush: Change repo name 2023-11-27 18:12:50 +01:00
docker_cli_registry_user_agent_test.go integration-cli: DockerRegistrySuite: replace dockerCmd 2023-10-19 17:53:43 +02:00
docker_cli_restart_test.go integration-cli: DockerCLIRestartSuite: replace dockerCmd and waitRun 2023-10-19 18:00:39 +02:00
docker_cli_rmi_test.go integration-cli: DockerCLIRmiSuite: replace dockerCmd 2023-10-19 17:57:31 +02:00
docker_cli_run_test.go api: Deprecate ContainerConfig.MacAddress 2023-10-25 22:55:59 +02:00
docker_cli_run_unix_test.go integration-cli: DockerCLIRunSuite: replace dockerCmd and waitRun 2023-10-19 17:40:35 +02:00
docker_cli_save_load_test.go integration-cli: DockerCLISaveLoadSuite: replace dockerCmd 2023-10-19 17:42:48 +02:00
docker_cli_save_load_unix_test.go integration-cli: DockerCLISaveLoadSuite: replace dockerCmd 2023-10-19 17:42:48 +02:00
docker_cli_search_test.go integration-cli: DockerCLISearchSuite: replace dockerCmd 2023-10-19 17:54:11 +02:00
docker_cli_service_create_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_cli_service_health_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_cli_service_logs_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_cli_service_scale_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_cli_sni_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_cli_start_test.go integration-cli: DockerCLIStartSuite: replace dockerCmd 2023-10-19 17:59:34 +02:00
docker_cli_stats_test.go integration-cli: DockerCLIStatsSuite: replace dockerCmd and waitRun 2023-10-19 18:00:00 +02:00
docker_cli_swarm_test.go libnet: Make sure network names are unique 2023-09-12 10:40:13 +02:00
docker_cli_swarm_unix_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_cli_top_test.go integration-cli: DockerCLITopSuite: replace dockerCmd 2023-10-19 18:01:09 +02:00
docker_cli_update_test.go integration-cli: split DockerSuite into subsequent build suites 2022-06-17 10:59:04 +02:00
docker_cli_update_unix_test.go integration-cli: DockerCLIUpdateSuite: replace dockerCmd and waitRun 2023-10-19 17:59:24 +02:00
docker_cli_userns_test.go c8d: Handle userns properly 2023-09-11 16:39:29 +02:00
docker_cli_v2_only_test.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
docker_cli_volume_test.go integration-cli: DockerCLIVolumeSuite: replace dockerCmd 2023-10-19 17:58:57 +02:00
docker_deprecated_api_v124_test.go integration-cli: DockerAPISuite: replace dockerCmd and waitRun 2023-10-19 17:34:55 +02:00
docker_deprecated_api_v124_unix_test.go integration-cli: DockerNetworkSuite: replace dockerCmd and waitRun 2023-10-19 17:20:56 +02:00
docker_hub_pull_suite_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
docker_utils_test.go integration-cli: remove deprecated dockerCmd and waitRun utilities 2023-10-19 18:02:30 +02:00
events_utils_test.go integration-cli: remove deprecated dockerCmd and waitRun utilities 2023-10-19 18:02:30 +02:00
fixtures_linux_daemon_test.go integration-cli: remove deprecated dockerCmd and waitRun utilities 2023-10-19 18:02:30 +02:00
requirements_test.go integration-cli: remove deprecated dockerCmd and waitRun utilities 2023-10-19 18:02:30 +02:00
requirements_unix_test.go c8d: fix TestRemoveContainerAfterLiveRestore 2023-09-18 15:34:20 +02:00
requirements_windows_test.go Wire up tests to support otel tracing 2023-09-07 18:38:22 +00:00
test_vars_test.go testutil/environment: remove Execution.OSType field 2023-06-26 11:18:09 +02:00
test_vars_unix_test.go remove pre-go1.17 build-tags 2023-05-19 20:38:51 +02:00
test_vars_windows_test.go remove pre-go1.17 build-tags 2023-05-19 20:38:51 +02:00
utils_test.go integration-cli: remove deprecated dockerCmd and waitRun utilities 2023-10-19 18:02:30 +02:00
utils_unix_test.go remove pre-go1.17 build-tags 2023-05-19 20:38:51 +02:00
utils_windows_test.go pkg/system: move GetLongPathName to integration-cli 2022-11-29 17:02:53 +01:00