To run all tests, including the Go tests, run from repository root:
sudo -E make check
To run only the integration tests, run from the test directory:
sudo -E ./main.sh
Environment variables
Name
Default
Description
INCUS_BACKEND
dir
What backend to test against (btrfs, ceph, dir, lvm, zfs, or random)
INCUS_CEPH_CLUSTER
ceph
The name of the ceph cluster to create osd pools in
INCUS_CEPH_CEPHFS
""
Enables the CephFS tests using the specified cephfs filesystem for cephfs pools
INCUS_CEPH_CEPHOBJECT_RADOSGW
""
Enables the Ceph Object tests using the specified radosgw HTTP endpoint for cephobject pools
INCUS_CONCURRENT
0
Run concurrency tests, very CPU intensive
INCUS_DEBUG
0
Run incusd, incus and the shell in debug mode (very verbose)
INCUS_INSPECT
0
Don't teardown the test environment on failure
INCUS_LOGS
""
Path to a directory to copy all the Incus logs to
INCUS_OFFLINE
0
Skip anything that requires network access
INCUS_SKIP_TESTS
""
Space-delimited list of test names to skip
INCUS_TEST_IMAGE
"" (busybox test image)
Path to an image tarball to use instead of the default busybox image
INCUS_TMPFS
0
Sets up a tmpfs for the whole testsuite to run on (fast but needs memory)
INCUS_TRUENAS_DATASET
""
The remote TrueNAS dataset that will contain all the truenas pools created whilst running tests and is required, and must exist, when using the truenas backend.
INCUS_TRUENAS_API_KEY
""
If set, will be applied as truenas.api_key on truenas pools.
INCUS_TRUENAS_CONFIG
""
If set, will be applied as truenas.config on truenas pools.
INCUS_TRUENAS_HOST
""
If set, will be applied as truenas.host on truenas pools.
INCUS_TRUENAS_ALLOW_INSECURE
""
If set, will be applied as truenas.allow_insecure on truenas pools.
INCUS_NIC_SRIOV_PARENT
""
Enables SR-IOV NIC tests using the specified parent device
INCUS_IB_PHYSICAL_PARENT
""
Enables Infiniband physical tests using the specified parent device
INCUS_IB_SRIOV_PARENT
""
Enables Infiniband SR-IOV tests using the specified parent device
INCUS_NIC_BRIDGED_DRIVER
""
Specifies bridged NIC driver for tests (either native or openvswitch, defaults to native)
INCUS_REQUIRED_TESTS
""
Space-delimited list of test names that must not be skipped if their prerequisites are not met