spiegel_podman/pkg/machine/e2e
Paul Holzinger 3c0176b2d0
pkg/machine/e2e: fix broken cleanup
Currently all podman machine rm errors in AfterEach were ignored.
This means some leaked and caused issues later on, see #22844.

To fix it first rework the logic to only remove machines when needed at
the place were they are created using DeferCleanup(), however
DeferCleanup() does not work well together with AfterEach() as it always
run AfterEach() before DeferCleanup(). As AfterEach() deletes the dir
the podman machine rm call can not be done afterwards.

As such migrate all cleanup to use DeferCleanup() and while I have to
touch this fix the code to remove the per file duplciation and define
the setup/cleanup once in the global scope.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-07-01 14:23:11 +02:00
..
basic_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
config_basic_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02:00
config_darwin_test.go Enable machine e2e test for applehv 2023-09-25 15:45:26 -05:00
config_info_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02:00
config_init_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
config_inspect_test.go Fix machine inspect test config 2024-01-11 11:42:54 -05:00
config_linux_test.go Enable machine e2e test for applehv 2023-09-25 15:45:26 -05:00
config_list_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02:00
config_os_apply_test.go Introduce podman machine os apply 2023-02-15 14:48:12 -05:00
config_reset_test.go Codespell code 2024-02-19 15:23:56 -05:00
config_rm_test.go Use single persistent ssh key for all machines 2024-01-04 23:47:49 -05:00
config_set_test.go Update machine init/set tests 2023-08-25 11:28:07 -04:00
config_ssh_test.go Fix typos 2023-02-11 18:23:24 +01:00
config_start_test.go Add --quiet and --no-info flags to podman machine start 2022-11-11 16:14:20 -05:00
config_stop_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02:00
config_system_connection_list_test.go Fix updating connection when SSH port conflict happens 2024-05-14 16:15:56 +01:00
config_test.go Replace golang.org/x/exp/slices with slices from std 2024-04-23 11:16:40 +02:00
config_unix_test.go Prune FCOS related code 2024-02-15 21:05:17 -06:00
config_windows_test.go podman machine 5 - hyperv 2024-02-07 09:18:51 -06:00
info_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
init_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
init_windows_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
inspect_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
list_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
machine_pull_test.go Clean machine pull cache 2024-04-26 12:31:42 -04:00
machine_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
machine_wsl_test.go Use correct extension in suite 2024-03-19 13:07:45 -05:00
os_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
proxy_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
pull_test.go Prune FCOS related code 2024-02-15 21:05:17 -06:00
README.md Change tmpDir for macOS 2024-05-03 15:01:43 +09:00
reset_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
rm_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
set_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
ssh_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
start_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00
stop_test.go pkg/machine/e2e: fix broken cleanup 2024-07-01 14:23:11 +02:00

Working README for running the machine tests

Note: you must not have any machines defined before running tests

Linux

QEMU

make localmachine

Microsoft Windows

Hyper-V

  1. Open a powershell as admin
  2. $env:CONTAINERS_MACHINE_PROVIDER="hyperv"
  3. ./winmake localmachine

Note: To run specific test files, add the test files to the end of the winmake command:

./winmake localmachine "basic_test.go start_test.go"

WSL

  1. Open a powershell as a regular user
  2. Build and copy win-sshproxy into bin/
  3. ./winmake localmachine

Note: To run specific test files, add the test files to the end of the winmake command:

./winmake localmachine "basic_test.go start_test.go"

macOS

Apple Hypervisor

  1. make podman-remote
  2. make localmachine (Add FOCUS_FILE=basic_test.go to only run basic test. Or add FOCUS="simple init with start" to only run one test case)

Note: On macOS, an error will occur if the path length of $TMPDIR is longer than 22 characters. Please set the appropriate path to $TMPDIR. Also, if $TMPDIR is empty, /private/tmp will be set.