Setup Test Environment
This guide explains how to install the prerequisites and dependencies needed to run Garden Linux tests.
Prerequisites
Before running the test framework, install the following dependencies, as specified in ADR-0016:
podman- Container runtimemake- Build systemcurl- Command-line tool for transferring datajq- Command-line JSON processorlibxml2-utils- XML utilitiesunzip- Archive extractionuuid-runtime- UUID generation utilitiesqemu- Machine emulator and virtualizerqemu-utils- QEMU utilitiessocat- Multipurpose relay tool
If you plan to provision cloud resources, the cloud provider-specific Command-Line Interfaces (CLIs) might be useful or even required:
azure-cli- Azure Command-Line Interfaceawscli- AWS Command-Line Interfacegcloud- Google Cloud Command-Line Interfacealiyun- Alibaba Cloud Command-Line Interfaceopenstack-clients- OpenStack Command-Line Interface
Install on Debian-Based Systems
Install the core dependencies:
bash
apt-get update
apt-get install podman make curl inotify-tools jq libxml2-utils unzip uuid-runtime qemu swtpm socatInstall cloud provider CLIs (optional):
bash
apt-get install azure-cli awscli openstackclientTIP
For GCP and Alibaba Cloud CLIs, check the cloud provider documentation:
Install on macOS
Install the core dependencies using Homebrew:
bash
brew install bash coreutils curl gnu-getopt gnu-sed gnupg inotify-tools jq libxml2 make ossp-uuid podman socat swtpm unzipInstall cloud provider CLIs (optional):
bash
brew install azure-cli awscli gcloud-cli aliyun-cli openstackclientVerify Installation
After installation, verify that the core tools are available:
bash
# Check podman
podman --version
# Check QEMU
qemu-system-x86_64 --version
# Check make
make --version
# Check jq
jq --versionNext Steps
Once the environment is set up:
- For cloud testing: Configure cloud provider authentication (see Test in Cloud)
- Run tests: Follow the Run Tests guide
- Troubleshoot issues: See Debug Tests if you encounter problems