End-to-end integration tests for the NASty storage appliance. Tests exercise the full stack — engine API, storage protocols, and data integrity — over the network from a Linux client.
Tests run inside a Colima Linux VM (required for NFS/SMB/iSCSI/NVMe-oF client operations from macOS):
./run-tests.sh --host 10.10.10.50 --password adminThe runner automatically provisions the VM with required packages (nfs-common, cifs-utils, open-iscsi, nvme-cli, python3, websockets) on first run.
| Flag | Description |
|---|---|
--host HOST |
NASty appliance IP (required) |
--password PW |
Admin password (default: admin) |
--pool POOL |
Filesystem name (auto-detected if omitted) |
--skip-subvolume |
Skip subvolume lifecycle tests |
--skip-snapshots |
Skip snapshot tests |
--skip-storage |
Skip compression and integrity tests |
--skip-nfs |
Skip NFS tests |
--skip-smb |
Skip SMB tests |
--skip-iscsi |
Skip iSCSI tests |
--skip-nvmeof |
Skip NVMe-oF tests |
--skip-delete |
Leave test resources behind for inspection |
--delete-only |
Clean up leftovers from a prior --skip-delete run |
Subvolume lifecycle: create, list, get, delete, properties (set/find/remove), block subvolume attach/detach, block resize.
Snapshot creation (read-only flag), clone from snapshot, clone appears as independent subvolume.
Compression verification (zstd), snapshot data integrity — writes data before snapshot, verifies original has post-snapshot data, verifies clone has pre-snapshot data.
Per-subvolume NFS share lifecycle: create share, mount on client, write/read data, verify across multiple subvolumes. Snapshot clone shares. Full cleanup.
Per-subvolume SMB share lifecycle: create share with user auth, CIFS mount, write/read data. Snapshot clone shares. Full cleanup.
Per-subvolume iSCSI target lifecycle: create block subvolume + target, iSCSI discovery/login, format + mount, write/read data. Snapshot clone targets. Full cleanup.
Per-subvolume NVMe-oF subsystem lifecycle: create block subvolume + subsystem, nvme connect, format + mount, write/read data. Snapshot clone subsystems. Full cleanup.
Cross-protocol test: creates a filesystem subvolume and shares it via both NFS and SMB simultaneously. Verifies data written via one protocol is readable via the other.
Utility: deletes all test-* resources from a prior --skip-delete run.
Results are printed in real-time and saved to last-run.log:
370/370 passed, 0 failed