pkg/machine/e2e/README.md
This document is a quick how-to run machine tests. Not all dependencies, like
gvproxy are documented. You must install gvproxy in all cases described
below.
You must not have any machines defined before running tests. Consider running
podman machine reset prior to running tests.
You can scope tests in the machine suite by adding various incantations of
FOCUS=. For example, add FOCUS_FILE=basic_test.go to only run basic test. Or
add FOCUS="simple init with start" to only run one test case. For windows, the
syntax differs slightly. In windows, executing something like following achieves
the same result:
./winmake localmachine "basic_test.go start_test.go"
To focus on one specific test on windows, run ginkgo manually:
$remotetags = "remote exclude_graphdriver_btrfs containers_image_openpgp"
$focus_file = "basic_test.go"
$focus_test = "podman build contexts"
./test/tools/build/ginkgo.exe `
-v --tags "$remotetags" -timeout=90m --trace --no-color `
--focus-file $focus_file `
--focus "$focus_test" `
./pkg/machine/e2e/.
Note that ginkgo.exe is built when running the command
winmake.ps1 localmachine so make sure to run it before trying the command
above.
make localmachine.\winmake.ps1 podman-remote && .\winmake.ps1 win-gvproxy$env:CONTAINERS_HELPER_BINARY_DIR="$pwd\bin\windows"$env:CONTAINERS_MACHINE_PROVIDER="hyperv".\winmake localmachine.\winmake.ps1 podman-remote && .\winmake.ps1 win-gvproxy$env:CONTAINERS_HELPER_BINARY_DIR="$pwd\bin\windows"$env:CONTAINERS_MACHINE_PROVIDER="wsl".\winmake localmachineMacs now support two different machine providers: applehv and libkrun. The
applehv provider is the default.
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.
brew install vfkitmake podman-remotemake localmachinebrew install krunkitmake podman-remoteexport CONTAINERS_MACHINE_PROVIDER="libkrun"make localmachine