Skip to content

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 runtime
  • make - Build system
  • curl - Command-line tool for transferring data
  • jq - Command-line JSON processor
  • libxml2-utils - XML utilities
  • unzip - Archive extraction
  • uuid-runtime - UUID generation utilities
  • qemu - Machine emulator and virtualizer
  • qemu-utils - QEMU utilities
  • socat - 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 Interface
  • awscli - AWS Command-Line Interface
  • gcloud - Google Cloud Command-Line Interface
  • aliyun - Alibaba Cloud Command-Line Interface
  • openstack-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 socat

Install cloud provider CLIs (optional):

bash
apt-get install azure-cli awscli openstackclient

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 unzip

Install cloud provider CLIs (optional):

bash
brew install azure-cli awscli gcloud-cli aliyun-cli openstackclient

Verify 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 --version

Next Steps

Once the environment is set up:

  1. For cloud testing: Configure cloud provider authentication (see Test in Cloud)
  2. Run tests: Follow the Run Tests guide
  3. Troubleshoot issues: See Debug Tests if you encounter problems