spiegel_podman/pkg/machine/e2e
Chris Evich 2d46d05373
Implement bare-metal Mac M1 podman-machine testing
Setup and execute podman machine testing on bare-metal M1 Macs
using a pool of shared and semi-persistent hosts.  Automated
and manual processes outside this repository are responsible
for providing and maintaining all hosts.  Ref.
https://github.com/containers/automation/tree/main/mac_pw_pool

Update the `localmachine` make target to standardize execution
across platforms.  Update/simplify podman-machine e2e README to
reflect current reality.

Warning: This CI setup and supporting infrastructure was developed
in favor of expediency vs reliability and stability.  There are
many possible failure-modes (known and unknown) which may lead
to undefined test behaviors.  Future work may address some of
these as they are encountered or discovered.

[NO NEW TESTS NEEDED]

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-12-04 10:40:13 -05:00
..
basic_test.go fix podman-remote exec regression with v4.8 2023-11-29 13:22:46 +01: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 Update machine init/set tests 2023-08-25 11:28:07 -04:00
config_inspect_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02: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_rm_test.go Update machine rm tests 2023-08-17 15:00:35 -04: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_test.go [CI:DOCS] Machine test timeout env var 2023-11-15 16:00:57 -05:00
config_unix_test.go Enable machine e2e test for applehv 2023-09-25 15:45:26 -05:00
config_windows_test.go Various updates for hyperv and machine e2e tests 2023-09-21 08:52:02 -05:00
info_test.go Fix podman machine info test for hyperV 2023-09-26 15:49:55 -04:00
init_test.go vmtypes names cannot be used as machine names 2023-11-17 12:24:21 -06:00
inspect_test.go wsl: machine tests for inspect 2023-09-26 07:26:44 -05:00
list_test.go Use configured timeout in list_test.go 2023-11-22 09:28:56 +02:00
machine_test.go Automatic code cleanups - JetBrains 2023-11-07 14:05:15 -06:00
os_test.go update to ginkgo v2 2023-05-02 11:27:35 +02:00
proxy_test.go Skip proxy test for hyperV 2023-09-25 16:48:35 -04:00
README.md Implement bare-metal Mac M1 podman-machine testing 2023-12-04 10:40:13 -05:00
rm_test.go AppleHV: Fix machine rm error message 2023-11-01 15:02:30 -04:00
set_test.go wsl machine tests: set 2023-09-25 19:53:35 -05:00
ssh_test.go wsl: machine tests for ssh 2023-09-26 07:00:45 -05:00
start_test.go Update machine start tests 2023-08-17 15:04:18 -04:00
stop_test.go Automatic code cleanups - JetBrains 2023-11-07 14:05:15 -06: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

HyperV

  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. export CONTAINERS_MACHINE_PROVIDER="applehv"
  3. export MACHINE_IMAGE="https://fedorapeople.org/groups/podman/testing/applehv/arm64/fedora-coreos-38.20230925.dev.0-applehv.aarch64.raw.gz"
  4. make localmachine (Add FOCUS_FILE=basic_test.go to only run basic test)